mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
1 line
215 KiB
JSON
1 line
215 KiB
JSON
{"ast":null,"code":"import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { InjectionToken, Directive, Input, Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Inject, Optional, NgZone, ViewChild, ContentChild, ContentChildren, NgModule } from '@angular/core';\nimport { mixinColor, MatCommonModule } from '@angular/material/core';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Subject, merge, fromEvent } from 'rxjs';\nimport { startWith, takeUntil, take } from 'rxjs/operators';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { Platform } from '@angular/cdk/platform';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\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.io/license\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/bidi';\nimport * as ɵngcc2 from '@angular/cdk/platform';\nimport * as ɵngcc3 from '@angular/common';\nimport * as ɵngcc4 from '@angular/cdk/observers';\nconst _c0 = [\"underline\"];\nconst _c1 = [\"connectionContainer\"];\nconst _c2 = [\"inputContainer\"];\nconst _c3 = [\"label\"];\nfunction MatFormField_ng_container_3_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementContainerStart(0);\n ɵngcc0.ɵɵelementStart(1, \"div\", 14);\n ɵngcc0.ɵɵelement(2, \"div\", 15)(3, \"div\", 16)(4, \"div\", 17);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(5, \"div\", 18);\n ɵngcc0.ɵɵelement(6, \"div\", 15)(7, \"div\", 16)(8, \"div\", 17);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementContainerEnd();\n }\n}\nfunction MatFormField_div_4_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 19);\n ɵngcc0.ɵɵprojection(1, 1);\n ɵngcc0.ɵɵelementEnd();\n }\n}\nfunction MatFormField_label_9_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementContainerStart(0);\n ɵngcc0.ɵɵprojection(1, 2);\n ɵngcc0.ɵɵelementStart(2, \"span\");\n ɵngcc0.ɵɵtext(3);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r10 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵtextInterpolate(ctx_r10._control.placeholder);\n }\n}\nfunction MatFormField_label_9_ng_content_3_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵprojection(0, 3, [\"*ngSwitchCase\", \"true\"]);\n }\n}\nfunction MatFormField_label_9_span_4_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\", 23);\n ɵngcc0.ɵɵtext(1, \" *\");\n ɵngcc0.ɵɵelementEnd();\n }\n}\nfunction MatFormField_label_9_Template(rf, ctx) {\n if (rf & 1) {\n const _r14 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"label\", 20, 21);\n ɵngcc0.ɵɵlistener(\"cdkObserveContent\", function MatFormField_label_9_Template_label_cdkObserveContent_0_listener() {\n ɵngcc0.ɵɵrestoreView(_r14);\n const ctx_r13 = ɵngcc0.ɵɵnextContext();\n return ɵngcc0.ɵɵresetView(ctx_r13.updateOutlineGap());\n });\n ɵngcc0.ɵɵtemplate(2, MatFormField_label_9_ng_container_2_Template, 4, 1, \"ng-container\", 12);\n ɵngcc0.ɵɵtemplate(3, MatFormField_label_9_ng_content_3_Template, 1, 0, \"ng-content\", 12);\n ɵngcc0.ɵɵtemplate(4, MatFormField_label_9_span_4_Template, 2, 0, \"span\", 22);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r4 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassProp(\"mat-empty\", ctx_r4._control.empty && !ctx_r4._shouldAlwaysFloat())(\"mat-form-field-empty\", ctx_r4._control.empty && !ctx_r4._shouldAlwaysFloat())(\"mat-accent\", ctx_r4.color == \"accent\")(\"mat-warn\", ctx_r4.color == \"warn\");\n ɵngcc0.ɵɵproperty(\"cdkObserveContentDisabled\", ctx_r4.appearance != \"outline\")(\"id\", ctx_r4._labelId)(\"ngSwitch\", ctx_r4._hasLabel());\n ɵngcc0.ɵɵattribute(\"for\", ctx_r4._control.id)(\"aria-owns\", ctx_r4._control.id);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngSwitchCase\", false);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngSwitchCase\", true);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx_r4.hideRequiredMarker && ctx_r4._control.required && !ctx_r4._control.disabled);\n }\n}\nfunction MatFormField_div_10_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 24);\n ɵngcc0.ɵɵprojection(1, 4);\n ɵngcc0.ɵɵelementEnd();\n }\n}\nfunction MatFormField_div_11_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 25, 26);\n ɵngcc0.ɵɵelement(2, \"span\", 27);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r6 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵclassProp(\"mat-accent\", ctx_r6.color == \"accent\")(\"mat-warn\", ctx_r6.color == \"warn\");\n }\n}\nfunction MatFormField_div_13_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\");\n ɵngcc0.ɵɵprojection(1, 5);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r7 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"@transitionMessages\", ctx_r7._subscriptAnimationState);\n }\n}\nfunction MatFormField_div_14_div_1_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 31);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r16 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵproperty(\"id\", ctx_r16._hintLabelId);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate(ctx_r16.hintLabel);\n }\n}\nfunction MatFormField_div_14_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 28);\n ɵngcc0.ɵɵtemplate(1, MatFormField_div_14_div_1_Template, 2, 2, \"div\", 29);\n ɵngcc0.ɵɵprojection(2, 6);\n ɵngcc0.ɵɵelement(3, \"div\", 30);\n ɵngcc0.ɵɵprojection(4, 7);\n ɵngcc0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r8 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"@transitionMessages\", ctx_r8._subscriptAnimationState);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r8.hintLabel);\n }\n}\nconst _c4 = [\"*\", [[\"\", \"matPrefix\", \"\"]], [[\"mat-placeholder\"]], [[\"mat-label\"]], [[\"\", \"matSuffix\", \"\"]], [[\"mat-error\"]], [[\"mat-hint\", 3, \"align\", \"end\"]], [[\"mat-hint\", \"align\", \"end\"]]];\nconst _c5 = [\"*\", \"[matPrefix]\", \"mat-placeholder\", \"mat-label\", \"[matSuffix]\", \"mat-error\", \"mat-hint:not([align='end'])\", \"mat-hint[align='end']\"];\nlet nextUniqueId = 0;\n/**\n * Injection token that can be used to reference instances of `MatError`. It serves as\n * alternative token to the actual `MatError` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst MAT_ERROR = new InjectionToken('MatError');\n/** Single error message to be shown underneath the form field. */\nclass MatError {\n constructor() {\n this.id = `mat-error-${nextUniqueId++}`;\n }\n}\nMatError.ɵfac = function MatError_Factory(t) {\n return new (t || MatError)();\n};\nMatError.ɵdir = /*@__PURE__*/ɵngcc0.ɵɵdefineDirective({\n type: MatError,\n selectors: [[\"mat-error\"]],\n hostAttrs: [\"role\", \"alert\", 1, \"mat-error\"],\n hostVars: 1,\n hostBindings: function MatError_HostBindings(rf, ctx) {\n if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"id\", ctx.id);\n }\n },\n inputs: {\n id: \"id\"\n },\n features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: MAT_ERROR,\n useExisting: MatError\n }])]\n});\nMatError.propDecorators = {\n id: [{\n type: Input\n }]\n};\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatError, [{\n type: Directive,\n args: [{\n selector: 'mat-error',\n host: {\n 'class': 'mat-error',\n 'role': 'alert',\n '[attr.id]': 'id'\n },\n providers: [{\n provide: MAT_ERROR,\n useExisting: MatError\n }]\n }]\n }], function () {\n return [];\n }, {\n id: [{\n type: Input\n }]\n });\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.io/license\n */\n/**\n * Animations used by the MatFormField.\n * @docs-private\n */\nconst matFormFieldAnimations = {\n /** Animation that transitions the form field's error and hint messages. */\n transitionMessages: trigger('transitionMessages', [\n // TODO(mmalerba): Use angular animations for label animation as well.\n state('enter', style({\n opacity: 1,\n transform: 'translateY(0%)'\n })), transition('void => enter', [style({\n opacity: 0,\n transform: 'translateY(-5px)'\n }), animate('300ms cubic-bezier(0.55, 0, 0.55, 0.2)')])])\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.io/license\n */\n/** An interface which allows a control to work inside of a `MatFormField`. */\nclass MatFormFieldControl {}\nMatFormFieldControl.ɵfac = function MatFormFieldControl_Factory(t) {\n return new (t || MatFormFieldControl)();\n};\nMatFormFieldControl.ɵdir = /*@__PURE__*/ɵngcc0.ɵɵdefineDirective({\n type: MatFormFieldControl\n});\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatFormFieldControl, [{\n type: Directive\n }], null, null);\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.io/license\n */\n/** @docs-private */\nfunction getMatFormFieldPlaceholderConflictError() {\n return Error('Placeholder attribute and child element were both specified.');\n}\n/** @docs-private */\nfunction getMatFormFieldDuplicatedHintError(align) {\n return Error(`A hint was already declared for 'align=\"${align}\"'.`);\n}\n/** @docs-private */\nfunction getMatFormFieldMissingControlError() {\n return Error('mat-form-field must contain a MatFormFieldControl.');\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.io/license\n */\nlet nextUniqueId$1 = 0;\n/**\n * Injection token that can be used to reference instances of `MatHint`. It serves as\n * alternative token to the actual `MatHint` class which could cause unnecessary\n * retention of the class and its directive metadata.\n *\n * *Note*: This is not part of the public API as the MDC-based form-field will not\n * need a lightweight token for `MatHint` and we want to reduce breaking changes.\n */\nconst _MAT_HINT = new InjectionToken('MatHint');\n/** Hint text to be shown underneath the form field control. */\nclass MatHint {\n constructor() {\n /** Whether to align the hint label at the start or end of the line. */\n this.align = 'start';\n /** Unique ID for the hint. Used for the aria-describedby on the form field control. */\n this.id = `mat-hint-${nextUniqueId$1++}`;\n }\n}\nMatHint.ɵfac = function MatHint_Factory(t) {\n return new (t || MatHint)();\n};\nMatHint.ɵdir = /*@__PURE__*/ɵngcc0.ɵɵdefineDirective({\n type: MatHint,\n selectors: [[\"mat-hint\"]],\n hostAttrs: [1, \"mat-hint\"],\n hostVars: 4,\n hostBindings: function MatHint_HostBindings(rf, ctx) {\n if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"id\", ctx.id)(\"align\", null);\n ɵngcc0.ɵɵclassProp(\"mat-form-field-hint-end\", ctx.align === \"end\");\n }\n },\n inputs: {\n align: \"align\",\n id: \"id\"\n },\n features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: _MAT_HINT,\n useExisting: MatHint\n }])]\n});\nMatHint.propDecorators = {\n align: [{\n type: Input\n }],\n id: [{\n type: Input\n }]\n};\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatHint, [{\n type: Directive,\n args: [{\n selector: 'mat-hint',\n host: {\n 'class': 'mat-hint',\n '[class.mat-form-field-hint-end]': 'align === \"end\"',\n '[attr.id]': 'id',\n // Remove align attribute to prevent it from interfering with layout.\n '[attr.align]': 'null'\n },\n providers: [{\n provide: _MAT_HINT,\n useExisting: MatHint\n }]\n }]\n }], function () {\n return [];\n }, {\n align: [{\n type: Input\n }],\n id: [{\n type: Input\n }]\n });\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.io/license\n */\n/** The floating label for a `mat-form-field`. */\nclass MatLabel {}\nMatLabel.ɵfac = function MatLabel_Factory(t) {\n return new (t || MatLabel)();\n};\nMatLabel.ɵdir = /*@__PURE__*/ɵngcc0.ɵɵdefineDirective({\n type: MatLabel,\n selectors: [[\"mat-label\"]]\n});\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatLabel, [{\n type: Directive,\n args: [{\n selector: 'mat-label'\n }]\n }], null, null);\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.io/license\n */\n/**\n * The placeholder text for an `MatFormField`.\n * @deprecated Use `<mat-label>` to specify the label and the `placeholder` attribute to specify the\n * placeholder.\n * @breaking-change 8.0.0\n */\nclass MatPlaceholder {}\nMatPlaceholder.ɵfac = function MatPlaceholder_Factory(t) {\n return new (t || MatPlaceholder)();\n};\nMatPlaceholder.ɵdir = /*@__PURE__*/ɵngcc0.ɵɵdefineDirective({\n type: MatPlaceholder,\n selectors: [[\"mat-placeholder\"]]\n});\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatPlaceholder, [{\n type: Directive,\n args: [{\n selector: 'mat-placeholder'\n }]\n }], null, null);\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.io/license\n */\n/**\n * Injection token that can be used to reference instances of `MatPrefix`. It serves as\n * alternative token to the actual `MatPrefix` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst MAT_PREFIX = new InjectionToken('MatPrefix');\n/** Prefix to be placed in front of the form field. */\nclass MatPrefix {}\nMatPrefix.ɵfac = function MatPrefix_Factory(t) {\n return new (t || MatPrefix)();\n};\nMatPrefix.ɵdir = /*@__PURE__*/ɵngcc0.ɵɵdefineDirective({\n type: MatPrefix,\n selectors: [[\"\", \"matPrefix\", \"\"]],\n features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: MAT_PREFIX,\n useExisting: MatPrefix\n }])]\n});\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatPrefix, [{\n type: Directive,\n args: [{\n selector: '[matPrefix]',\n providers: [{\n provide: MAT_PREFIX,\n useExisting: MatPrefix\n }]\n }]\n }], null, null);\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.io/license\n */\n/**\n * Injection token that can be used to reference instances of `MatSuffix`. It serves as\n * alternative token to the actual `MatSuffix` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst MAT_SUFFIX = new InjectionToken('MatSuffix');\n/** Suffix to be placed at the end of the form field. */\nclass MatSuffix {}\nMatSuffix.ɵfac = function MatSuffix_Factory(t) {\n return new (t || MatSuffix)();\n};\nMatSuffix.ɵdir = /*@__PURE__*/ɵngcc0.ɵɵdefineDirective({\n type: MatSuffix,\n selectors: [[\"\", \"matSuffix\", \"\"]],\n features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: MAT_SUFFIX,\n useExisting: MatSuffix\n }])]\n});\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatSuffix, [{\n type: Directive,\n args: [{\n selector: '[matSuffix]',\n providers: [{\n provide: MAT_SUFFIX,\n useExisting: MatSuffix\n }]\n }]\n }], null, null);\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.io/license\n */\nlet nextUniqueId$2 = 0;\nconst floatingLabelScale = 0.75;\nconst outlineGapPadding = 5;\n/**\n * Boilerplate for applying mixins to MatFormField.\n * @docs-private\n */\nclass MatFormFieldBase {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n}\n/**\n * Base class to which we're applying the form field mixins.\n * @docs-private\n */\nconst _MatFormFieldMixinBase = mixinColor(MatFormFieldBase, 'primary');\n/**\n * Injection token that can be used to configure the\n * default options for all form field within an app.\n */\nconst MAT_FORM_FIELD_DEFAULT_OPTIONS = new InjectionToken('MAT_FORM_FIELD_DEFAULT_OPTIONS');\n/**\n * Injection token that can be used to inject an instances of `MatFormField`. It serves\n * as alternative token to the actual `MatFormField` class which would cause unnecessary\n * retention of the `MatFormField` class and its component metadata.\n */\nconst MAT_FORM_FIELD = new InjectionToken('MatFormField');\n/** Container for form controls that applies Material Design styling and behavior. */\nclass MatFormField extends _MatFormFieldMixinBase {\n constructor(_elementRef, _changeDetectorRef,\n /**\n * @deprecated `_labelOptions` parameter no longer being used. To be removed.\n * @breaking-change 12.0.0\n */\n // Use `ElementRef` here so Angular has something to inject.\n _labelOptions, _dir, _defaults, _platform, _ngZone, _animationMode) {\n super(_elementRef);\n this._elementRef = _elementRef;\n this._changeDetectorRef = _changeDetectorRef;\n this._dir = _dir;\n this._defaults = _defaults;\n this._platform = _platform;\n this._ngZone = _ngZone;\n /**\n * Whether the outline gap needs to be calculated\n * immediately on the next change detection run.\n */\n this._outlineGapCalculationNeededImmediately = false;\n /** Whether the outline gap needs to be calculated next time the zone has stabilized. */\n this._outlineGapCalculationNeededOnStable = false;\n this._destroyed = new Subject();\n /** Override for the logic that disables the label animation in certain cases. */\n this._showAlwaysAnimate = false;\n /** State of the mat-hint and mat-error animations. */\n this._subscriptAnimationState = '';\n this._hintLabel = '';\n // Unique id for the hint label.\n this._hintLabelId = `mat-hint-${nextUniqueId$2++}`;\n // Unique id for the label element.\n this._labelId = `mat-form-field-label-${nextUniqueId$2++}`;\n this.floatLabel = this._getDefaultFloatLabelState();\n this._animationsEnabled = _animationMode !== 'NoopAnimations';\n // Set the default through here so we invoke the setter on the first run.\n this.appearance = _defaults && _defaults.appearance ? _defaults.appearance : 'legacy';\n this._hideRequiredMarker = _defaults && _defaults.hideRequiredMarker != null ? _defaults.hideRequiredMarker : false;\n }\n /** The form-field appearance style. */\n get appearance() {\n return this._appearance;\n }\n set appearance(value) {\n const oldValue = this._appearance;\n this._appearance = value || this._defaults && this._defaults.appearance || 'legacy';\n if (this._appearance === 'outline' && oldValue !== value) {\n this._outlineGapCalculationNeededOnStable = true;\n }\n }\n /** Whether the required marker should be hidden. */\n get hideRequiredMarker() {\n return this._hideRequiredMarker;\n }\n set hideRequiredMarker(value) {\n this._hideRequiredMarker = coerceBooleanProperty(value);\n }\n /** Whether the floating label should always float or not. */\n _shouldAlwaysFloat() {\n return this.floatLabel === 'always' && !this._showAlwaysAnimate;\n }\n /** Whether the label can float or not. */\n _canLabelFloat() {\n return this.floatLabel !== 'never';\n }\n /** Text for the form field hint. */\n get hintLabel() {\n return this._hintLabel;\n }\n set hintLabel(value) {\n this._hintLabel = value;\n this._processHints();\n }\n /**\n * Whether the label should always float, never float or float as the user types.\n *\n * Note: only the legacy appearance supports the `never` option. `never` was originally added as a\n * way to make the floating label emulate the behavior of a standard input placeholder. However\n * the form field now supports both floating labels and placeholders. Therefore in the non-legacy\n * appearances the `never` option has been disabled in favor of just using the placeholder.\n */\n get floatLabel() {\n return this.appearance !== 'legacy' && this._floatLabel === 'never' ? 'auto' : this._floatLabel;\n }\n set floatLabel(value) {\n if (value !== this._floatLabel) {\n this._floatLabel = value || this._getDefaultFloatLabelState();\n this._changeDetectorRef.markForCheck();\n }\n }\n get _control() {\n // TODO(crisbeto): we need this workaround in order to support both Ivy and ViewEngine.\n // We should clean this up once Ivy is the default renderer.\n return this._explicitFormFieldControl || this._controlNonStatic || this._controlStatic;\n }\n set _control(value) {\n this._explicitFormFieldControl = value;\n }\n /**\n * Gets the id of the label element. If no label is present, returns `null`.\n */\n getLabelId() {\n return this._hasFloatingLabel() ? this._labelId : null;\n }\n /**\n * Gets an ElementRef for the element that a overlay attached to the form-field should be\n * positioned relative to.\n */\n getConnectedOverlayOrigin() {\n return this._connectionContainerRef || this._elementRef;\n }\n ngAfterContentInit() {\n this._validateControlChild();\n const control = this._control;\n if (control.controlType) {\n this._elementRef.nativeElement.classList.add(`mat-form-field-type-${control.controlType}`);\n }\n // Subscribe to changes in the child control state in order to update the form field UI.\n control.stateChanges.pipe(startWith(null)).subscribe(() => {\n this._validatePlaceholders();\n this._syncDescribedByIds();\n this._changeDetectorRef.markForCheck();\n });\n // Run change detection if the value changes.\n if (control.ngControl && control.ngControl.valueChanges) {\n control.ngControl.valueChanges.pipe(takeUntil(this._destroyed)).subscribe(() => this._changeDetectorRef.markForCheck());\n }\n // Note that we have to run outside of the `NgZone` explicitly,\n // in order to avoid throwing users into an infinite loop\n // if `zone-patch-rxjs` is included.\n this._ngZone.runOutsideAngular(() => {\n this._ngZone.onStable.pipe(takeUntil(this._destroyed)).subscribe(() => {\n if (this._outlineGapCalculationNeededOnStable) {\n this.updateOutlineGap();\n }\n });\n });\n // Run change detection and update the outline if the suffix or prefix changes.\n merge(this._prefixChildren.changes, this._suffixChildren.changes).subscribe(() => {\n this._outlineGapCalculationNeededOnStable = true;\n this._changeDetectorRef.markForCheck();\n });\n // Re-validate when the number of hints changes.\n this._hintChildren.changes.pipe(startWith(null)).subscribe(() => {\n this._processHints();\n this._changeDetectorRef.markForCheck();\n });\n // Update the aria-described by when the number of errors changes.\n this._errorChildren.changes.pipe(startWith(null)).subscribe(() => {\n this._syncDescribedByIds();\n this._changeDetectorRef.markForCheck();\n });\n if (this._dir) {\n this._dir.change.pipe(takeUntil(this._destroyed)).subscribe(() => {\n if (typeof requestAnimationFrame === 'function') {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => this.updateOutlineGap());\n });\n } else {\n this.updateOutlineGap();\n }\n });\n }\n }\n ngAfterContentChecked() {\n this._validateControlChild();\n if (this._outlineGapCalculationNeededImmediately) {\n this.updateOutlineGap();\n }\n }\n ngAfterViewInit() {\n // Avoid animations on load.\n this._subscriptAnimationState = 'enter';\n this._changeDetectorRef.detectChanges();\n }\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Determines whether a class from the NgControl should be forwarded to the host element. */\n _shouldForward(prop) {\n const ngControl = this._control ? this._control.ngControl : null;\n return ngControl && ngControl[prop];\n }\n _hasPlaceholder() {\n return !!(this._control && this._control.placeholder || this._placeholderChild);\n }\n _hasLabel() {\n return !!(this._labelChildNonStatic || this._labelChildStatic);\n }\n _shouldLabelFloat() {\n return this._canLabelFloat() && (this._control && this._control.shouldLabelFloat || this._shouldAlwaysFloat());\n }\n _hideControlPlaceholder() {\n // In the legacy appearance the placeholder is promoted to a label if no label is given.\n return this.appearance === 'legacy' && !this._hasLabel() || this._hasLabel() && !this._shouldLabelFloat();\n }\n _hasFloatingLabel() {\n // In the legacy appearance the placeholder is promoted to a label if no label is given.\n return this._hasLabel() || this.appearance === 'legacy' && this._hasPlaceholder();\n }\n /** Determines whether to display hints or errors. */\n _getDisplayedMessages() {\n return this._errorChildren && this._errorChildren.length > 0 && this._control.errorState ? 'error' : 'hint';\n }\n /** Animates the placeholder up and locks it in position. */\n _animateAndLockLabel() {\n if (this._hasFloatingLabel() && this._canLabelFloat()) {\n // If animations are disabled, we shouldn't go in here,\n // because the `transitionend` will never fire.\n if (this._animationsEnabled && this._label) {\n this._showAlwaysAnimate = true;\n fromEvent(this._label.nativeElement, 'transitionend').pipe(take(1)).subscribe(() => {\n this._showAlwaysAnimate = false;\n });\n }\n this.floatLabel = 'always';\n this._changeDetectorRef.markForCheck();\n }\n }\n /**\n * Ensure that there is only one placeholder (either `placeholder` attribute on the child control\n * or child element with the `mat-placeholder` directive).\n */\n _validatePlaceholders() {\n if (this._control.placeholder && this._placeholderChild && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatFormFieldPlaceholderConflictError();\n }\n }\n /** Does any extra processing that is required when handling the hints. */\n _processHints() {\n this._validateHints();\n this._syncDescribedByIds();\n }\n /**\n * Ensure that there is a maximum of one of each `<mat-hint>` alignment specified, with the\n * attribute being considered as `align=\"start\"`.\n */\n _validateHints() {\n if (this._hintChildren && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n let startHint;\n let endHint;\n this._hintChildren.forEach(hint => {\n if (hint.align === 'start') {\n if (startHint || this.hintLabel) {\n throw getMatFormFieldDuplicatedHintError('start');\n }\n startHint = hint;\n } else if (hint.align === 'end') {\n if (endHint) {\n throw getMatFormFieldDuplicatedHintError('end');\n }\n endHint = hint;\n }\n });\n }\n }\n /** Gets the default float label state. */\n _getDefaultFloatLabelState() {\n return this._defaults && this._defaults.floatLabel || 'auto';\n }\n /**\n * Sets the list of element IDs that describe the child control. This allows the control to update\n * its `aria-describedby` attribute accordingly.\n */\n _syncDescribedByIds() {\n if (this._control) {\n let ids = [];\n // TODO(wagnermaciel): Remove the type check when we find the root cause of this bug.\n if (this._control.userAriaDescribedBy && typeof this._control.userAriaDescribedBy === 'string') {\n ids.push(...this._control.userAriaDescribedBy.split(' '));\n }\n if (this._getDisplayedMessages() === 'hint') {\n const startHint = this._hintChildren ? this._hintChildren.find(hint => hint.align === 'start') : null;\n const endHint = this._hintChildren ? this._hintChildren.find(hint => hint.align === 'end') : null;\n if (startHint) {\n ids.push(startHint.id);\n } else if (this._hintLabel) {\n ids.push(this._hintLabelId);\n }\n if (endHint) {\n ids.push(endHint.id);\n }\n } else if (this._errorChildren) {\n ids.push(...this._errorChildren.map(error => error.id));\n }\n this._control.setDescribedByIds(ids);\n }\n }\n /** Throws an error if the form field's control is missing. */\n _validateControlChild() {\n if (!this._control && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatFormFieldMissingControlError();\n }\n }\n /**\n * Updates the width and position of the gap in the outline. Only relevant for the outline\n * appearance.\n */\n updateOutlineGap() {\n const labelEl = this._label ? this._label.nativeElement : null;\n if (this.appearance !== 'outline' || !labelEl || !labelEl.children.length || !labelEl.textContent.trim()) {\n return;\n }\n if (!this._platform.isBrowser) {\n // getBoundingClientRect isn't available on the server.\n return;\n }\n // If the element is not present in the DOM, the outline gap will need to be calculated\n // the next time it is checked and in the DOM.\n if (!this._isAttachedToDOM()) {\n this._outlineGapCalculationNeededImmediately = true;\n return;\n }\n let startWidth = 0;\n let gapWidth = 0;\n const container = this._connectionContainerRef.nativeElement;\n const startEls = container.querySelectorAll('.mat-form-field-outline-start');\n const gapEls = container.querySelectorAll('.mat-form-field-outline-gap');\n if (this._label && this._label.nativeElement.children.length) {\n const containerRect = container.getBoundingClientRect();\n // If the container's width and height are zero, it means that the element is\n // invisible and we can't calculate the outline gap. Mark the element as needing\n // to be checked the next time the zone stabilizes. We can't do this immediately\n // on the next change detection, because even if the element becomes visible,\n // the `ClientRect` won't be reclaculated immediately. We reset the\n // `_outlineGapCalculationNeededImmediately` flag some we don't run the checks twice.\n if (containerRect.width === 0 && containerRect.height === 0) {\n this._outlineGapCalculationNeededOnStable = true;\n this._outlineGapCalculationNeededImmediately = false;\n return;\n }\n const containerStart = this._getStartEnd(containerRect);\n const labelChildren = labelEl.children;\n const labelStart = this._getStartEnd(labelChildren[0].getBoundingClientRect());\n let labelWidth = 0;\n for (let i = 0; i < labelChildren.length; i++) {\n labelWidth += labelChildren[i].offsetWidth;\n }\n startWidth = Math.abs(labelStart - containerStart) - outlineGapPadding;\n gapWidth = labelWidth > 0 ? labelWidth * floatingLabelScale + outlineGapPadding * 2 : 0;\n }\n for (let i = 0; i < startEls.length; i++) {\n startEls[i].style.width = `${startWidth}px`;\n }\n for (let i = 0; i < gapEls.length; i++) {\n gapEls[i].style.width = `${gapWidth}px`;\n }\n this._outlineGapCalculationNeededOnStable = this._outlineGapCalculationNeededImmediately = false;\n }\n /** Gets the start end of the rect considering the current directionality. */\n _getStartEnd(rect) {\n return this._dir && this._dir.value === 'rtl' ? rect.right : rect.left;\n }\n /** Checks whether the form field is attached to the DOM. */\n _isAttachedToDOM() {\n const element = this._elementRef.nativeElement;\n if (element.getRootNode) {\n const rootNode = element.getRootNode();\n // If the element is inside the DOM the root node will be either the document\n // or the closest shadow root, otherwise it'll be the element itself.\n return rootNode && rootNode !== element;\n }\n // Otherwise fall back to checking if it's in the document. This doesn't account for\n // shadow DOM, however browser that support shadow DOM should support `getRootNode` as well.\n return document.documentElement.contains(element);\n }\n}\nMatFormField.ɵfac = function MatFormField_Factory(t) {\n return new (t || MatFormField)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(MAT_FORM_FIELD_DEFAULT_OPTIONS, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Platform), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8));\n};\nMatFormField.ɵcmp = /*@__PURE__*/ɵngcc0.ɵɵdefineComponent({\n type: MatFormField,\n selectors: [[\"mat-form-field\"]],\n contentQueries: function MatFormField_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatFormFieldControl, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatFormFieldControl, 7);\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatLabel, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatLabel, 7);\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatPlaceholder, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, MAT_ERROR, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, _MAT_HINT, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, MAT_PREFIX, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, MAT_SUFFIX, 5);\n }\n if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._controlNonStatic = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._controlStatic = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._labelChildNonStatic = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._labelChildStatic = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._placeholderChild = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._errorChildren = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._hintChildren = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._prefixChildren = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._suffixChildren = _t);\n }\n },\n viewQuery: function MatFormField_Query(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c0, 5);\n ɵngcc0.ɵɵviewQuery(_c1, 7);\n ɵngcc0.ɵɵviewQuery(_c2, 5);\n ɵngcc0.ɵɵviewQuery(_c3, 5);\n }\n if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.underlineRef = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._connectionContainerRef = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._inputContainerRef = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._label = _t.first);\n }\n },\n hostAttrs: [1, \"mat-form-field\"],\n hostVars: 40,\n hostBindings: function MatFormField_HostBindings(rf, ctx) {\n if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"mat-form-field-appearance-standard\", ctx.appearance == \"standard\")(\"mat-form-field-appearance-fill\", ctx.appearance == \"fill\")(\"mat-form-field-appearance-outline\", ctx.appearance == \"outline\")(\"mat-form-field-appearance-legacy\", ctx.appearance == \"legacy\")(\"mat-form-field-invalid\", ctx._control.errorState)(\"mat-form-field-can-float\", ctx._canLabelFloat())(\"mat-form-field-should-float\", ctx._shouldLabelFloat())(\"mat-form-field-has-label\", ctx._hasFloatingLabel())(\"mat-form-field-hide-placeholder\", ctx._hideControlPlaceholder())(\"mat-form-field-disabled\", ctx._control.disabled)(\"mat-form-field-autofilled\", ctx._control.autofilled)(\"mat-focused\", ctx._control.focused)(\"ng-untouched\", ctx._shouldForward(\"untouched\"))(\"ng-touched\", ctx._shouldForward(\"touched\"))(\"ng-pristine\", ctx._shouldForward(\"pristine\"))(\"ng-dirty\", ctx._shouldForward(\"dirty\"))(\"ng-valid\", ctx._shouldForward(\"valid\"))(\"ng-invalid\", ctx._shouldForward(\"invalid\"))(\"ng-pending\", ctx._shouldForward(\"pending\"))(\"_mat-animation-noopable\", !ctx._animationsEnabled);\n }\n },\n inputs: {\n color: \"color\",\n floatLabel: \"floatLabel\",\n appearance: \"appearance\",\n hideRequiredMarker: \"hideRequiredMarker\",\n hintLabel: \"hintLabel\"\n },\n exportAs: [\"matFormField\"],\n features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: MAT_FORM_FIELD,\n useExisting: MatFormField\n }]), ɵngcc0.ɵɵInheritDefinitionFeature],\n ngContentSelectors: _c5,\n decls: 15,\n vars: 8,\n consts: [[1, \"mat-form-field-wrapper\"], [1, \"mat-form-field-flex\", 3, \"click\"], [\"connectionContainer\", \"\"], [4, \"ngIf\"], [\"class\", \"mat-form-field-prefix\", 4, \"ngIf\"], [1, \"mat-form-field-infix\"], [\"inputContainer\", \"\"], [1, \"mat-form-field-label-wrapper\"], [\"class\", \"mat-form-field-label\", 3, \"cdkObserveContentDisabled\", \"id\", \"mat-empty\", \"mat-form-field-empty\", \"mat-accent\", \"mat-warn\", \"ngSwitch\", \"cdkObserveContent\", 4, \"ngIf\"], [\"class\", \"mat-form-field-suffix\", 4, \"ngIf\"], [\"class\", \"mat-form-field-underline\", 4, \"ngIf\"], [1, \"mat-form-field-subscript-wrapper\", 3, \"ngSwitch\"], [4, \"ngSwitchCase\"], [\"class\", \"mat-form-field-hint-wrapper\", 4, \"ngSwitchCase\"], [1, \"mat-form-field-outline\"], [1, \"mat-form-field-outline-start\"], [1, \"mat-form-field-outline-gap\"], [1, \"mat-form-field-outline-end\"], [1, \"mat-form-field-outline\", \"mat-form-field-outline-thick\"], [1, \"mat-form-field-prefix\"], [1, \"mat-form-field-label\", 3, \"cdkObserveContentDisabled\", \"id\", \"ngSwitch\", \"cdkObserveContent\"], [\"label\", \"\"], [\"class\", \"mat-placeholder-required mat-form-field-required-marker\", \"aria-hidden\", \"true\", 4, \"ngIf\"], [\"aria-hidden\", \"true\", 1, \"mat-placeholder-required\", \"mat-form-field-required-marker\"], [1, \"mat-form-field-suffix\"], [1, \"mat-form-field-underline\"], [\"underline\", \"\"], [1, \"mat-form-field-ripple\"], [1, \"mat-form-field-hint-wrapper\"], [\"class\", \"mat-hint\", 3, \"id\", 4, \"ngIf\"], [1, \"mat-form-field-hint-spacer\"], [1, \"mat-hint\", 3, \"id\"]],\n template: function MatFormField_Template(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef(_c4);\n ɵngcc0.ɵɵelementStart(0, \"div\", 0)(1, \"div\", 1, 2);\n ɵngcc0.ɵɵlistener(\"click\", function MatFormField_Template_div_click_1_listener($event) {\n return ctx._control.onContainerClick && ctx._control.onContainerClick($event);\n });\n ɵngcc0.ɵɵtemplate(3, MatFormField_ng_container_3_Template, 9, 0, \"ng-container\", 3);\n ɵngcc0.ɵɵtemplate(4, MatFormField_div_4_Template, 2, 0, \"div\", 4);\n ɵngcc0.ɵɵelementStart(5, \"div\", 5, 6);\n ɵngcc0.ɵɵprojection(7);\n ɵngcc0.ɵɵelementStart(8, \"span\", 7);\n ɵngcc0.ɵɵtemplate(9, MatFormField_label_9_Template, 5, 16, \"label\", 8);\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵtemplate(10, MatFormField_div_10_Template, 2, 0, \"div\", 9);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(11, MatFormField_div_11_Template, 3, 4, \"div\", 10);\n ɵngcc0.ɵɵelementStart(12, \"div\", 11);\n ɵngcc0.ɵɵtemplate(13, MatFormField_div_13_Template, 2, 1, \"div\", 12);\n ɵngcc0.ɵɵtemplate(14, MatFormField_div_14_Template, 5, 2, \"div\", 13);\n ɵngcc0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.appearance == \"outline\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx._prefixChildren.length);\n ɵngcc0.ɵɵadvance(5);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx._hasFloatingLabel());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx._suffixChildren.length);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.appearance != \"outline\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngSwitch\", ctx._getDisplayedMessages());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngSwitchCase\", \"error\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngSwitchCase\", \"hint\");\n }\n },\n dependencies: [ɵngcc3.NgIf, ɵngcc3.NgSwitch, ɵngcc3.NgSwitchCase, ɵngcc4.CdkObserveContent],\n styles: [\".mat-form-field{display:inline-block;position:relative;text-align:left}[dir=rtl] .mat-form-field{text-align:right}.mat-form-field-wrapper{position:relative}.mat-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-form-field-prefix,.mat-form-field-suffix{white-space:nowrap;flex:none;position:relative}.mat-form-field-infix{display:block;position:relative;flex:auto;min-width:0;width:180px}.cdk-high-contrast-active .mat-form-field-infix{border-image:linear-gradient(transparent, transparent)}.mat-form-field-label-wrapper{position:absolute;left:0;box-sizing:content-box;width:100%;height:100%;overflow:hidden;pointer-events:none}[dir=rtl] .mat-form-field-label-wrapper{left:auto;right:0}.mat-form-field-label{position:absolute;left:0;font:inherit;pointer-events:none;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),width 400ms cubic-bezier(0.25, 0.8, 0.25, 1);display:none}[dir=rtl] .mat-form-field-label{transform-origin:100% 0;left:auto;right:0}.mat-form-field-empty.mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{display:block}.mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:block;transition:none}.mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float .mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:block}.mat-form-field-label:not(.mat-form-field-empty){transition:none}.mat-form-field-underline{position:absolute;width:100%;pointer-events:none;transform:scale3d(1, 1.0001, 1)}.mat-form-field-ripple{position:absolute;left:0;width:100%;transform-origin:50%;transform:scaleX(0.5);opacity:0;transition:background-color 300ms cubic-bezier(0.55, 0, 0.55, 0.2)}.mat-form-field.mat-focused .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple{opacity:1;transform:none;transition:transform 300ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 100ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 300ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-subscript-wrapper{position:absolute;box-sizing:border-box;width:100%;overflow:hidden}.mat-form-field-subscript-wrapper .mat-icon,.mat-form-field-label-wrapper .mat-icon{width:1em;height:1em;font-size:inherit;vertical-align:baseline}.mat-form-field-hint-wrapper{display:flex}.mat-form-field-hint-spacer{flex:1 0 1em}.mat-error{display:block}.mat-form-field-control-wrapper{position:relative}.mat-form-field-hint-end{order:1}.mat-form-field._mat-animation-noopable .mat-form-field-label,.mat-form-field._mat-animation-noopable .mat-form-field-ripple{transition:none}\\n\", \".mat-form-field-appearance-fill .mat-form-field-flex{border-radius:4px 4px 0 0;padding:.75em .75em 0 .75em}.cdk-high-contrast-active .mat-form-field-appearance-fill .mat-form-field-flex{outline:solid 1px}.mat-form-field-appearance-fill .mat-form-field-underline::before{content:\\\"\\\";display:block;position:absolute;bottom:0;height:1px;width:100%}.mat-form-field-appearance-fill .mat-form-field-ripple{bottom:0;height:2px}.cdk-high-contrast-active .mat-form-field-appearance-fill .mat-form-field-ripple{height:0;border-top:solid 2px}.mat-form-field-appearance-fill:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity 600ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-fill._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}.mat-form-field-appearance-fill .mat-form-field-subscript-wrapper{padding:0 1em}\\n\", \".mat-input-element{font:inherit;background:transparent;color:currentColor;border:none;outline:none;padding:0;margin:0;width:100%;max-width:100%;vertical-align:bottom;text-align:inherit;box-sizing:content-box}.mat-input-element:-moz-ui-invalid{box-shadow:none}.mat-input-element::-ms-clear,.mat-input-element::-ms-reveal{display:none}.mat-input-element,.mat-input-element::-webkit-search-cancel-button,.mat-input-element::-webkit-search-decoration,.mat-input-element::-webkit-search-results-button,.mat-input-element::-webkit-search-results-decoration{-webkit-appearance:none}.mat-input-element::-webkit-contacts-auto-fill-button,.mat-input-element::-webkit-caps-lock-indicator,.mat-input-element::-webkit-credentials-auto-fill-button{visibility:hidden}.mat-input-element[type=date],.mat-input-element[type=datetime],.mat-input-element[type=datetime-local],.mat-input-element[type=month],.mat-input-element[type=week],.mat-input-element[type=time]{line-height:1}.mat-input-element[type=date]::after,.mat-input-element[type=datetime]::after,.mat-input-element[type=datetime-local]::after,.mat-input-element[type=month]::after,.mat-input-element[type=week]::after,.mat-input-element[type=time]::after{content:\\\" \\\";white-space:pre;width:1px}.mat-input-element::-webkit-inner-spin-button,.mat-input-element::-webkit-calendar-picker-indicator,.mat-input-element::-webkit-clear-button{font-size:.75em}.mat-input-element::placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element::placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-input-element::-moz-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element::-moz-placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-input-element::-webkit-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element::-webkit-input-placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-input-element:-ms-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element:-ms-input-placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-form-field-hide-placeholder .mat-input-element::placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-moz-placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-webkit-input-placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element:-ms-input-placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}textarea.mat-input-element{resize:vertical;overflow:auto}textarea.mat-input-element.cdk-textarea-autosize{resize:none}textarea.mat-input-element{padding:2px 0;margin:-2px 0}select.mat-input-element{-moz-appearance:none;-webkit-appearance:none;position:relative;background-color:transparent;display:inline-flex;box-sizing:border-box;padding-top:1em;top:-1em;margin-bottom:-1em}select.mat-input-element::-ms-expand{display:none}select.mat-input-element::-moz-focus-inner{border:0}select.mat-input-element:not(:disabled){cursor:pointer}select.mat-input-element::-ms-value{color:inherit;background:none}.mat-focused .cdk-high-contrast-active select.mat-input-element::-ms-value{color:inherit}.mat-form-field-type-mat-native-select .mat-form-field-infix::after{content:\\\"\\\";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;position:absolute;top:50%;right:0;margin-top:-2.5px;pointer-events:none}[dir=rtl] .mat-form-field-type-mat-native-select .mat-form-field-infix::after{right:auto;left:0}.mat-form-field-type-mat-native-select .mat-input-element{padding-right:15px}[dir=rtl] .mat-form-field-type-mat-native-select .mat-input-element{padding-right:0;padding-left:15px}.mat-form-field-type-mat-native-select .mat-form-field-label-wrapper{max-width:calc(100% - 10px)}.mat-form-field-type-mat-native-select.mat-form-field-appearance-outline .mat-form-field-infix::after{margin-top:-5px}.mat-form-field-type-mat-native-select.mat-form-field-appearance-fill .mat-form-field-infix::after{margin-top:-10px}\\n\", \".mat-form-field-appearance-legacy .mat-form-field-label{transform:perspective(100px);-ms-transform:none}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon{width:1em}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button{font:inherit;vertical-align:baseline}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button .mat-icon{font-size:inherit}.mat-form-field-appearance-legacy .mat-form-field-underline{height:1px}.cdk-high-contrast-active .mat-form-field-appearance-legacy .mat-form-field-underline{height:0;border-top:solid 1px}.mat-form-field-appearance-legacy .mat-form-field-ripple{top:0;height:2px;overflow:hidden}.cdk-high-contrast-active .mat-form-field-appearance-legacy .mat-form-field-ripple{height:0;border-top:solid 2px}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}.cdk-high-contrast-active .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}.mat-form-field-appearance-legacy.mat-form-field-invalid:not(.mat-focused) .mat-form-field-ripple{height:1px}\\n\", \".mat-form-field-appearance-outline .mat-form-field-wrapper{margin:.25em 0}.mat-form-field-appearance-outline .mat-form-field-flex{padding:0 .75em 0 .75em;margin-top:-0.25em;position:relative}.mat-form-field-appearance-outline .mat-form-field-prefix,.mat-form-field-appearance-outline .mat-form-field-suffix{top:.25em}.mat-form-field-appearance-outline .mat-form-field-outline{display:flex;position:absolute;top:.25em;left:0;right:0;bottom:0;pointer-events:none}.mat-form-field-appearance-outline .mat-form-field-outline-start,.mat-form-field-appearance-outline .mat-form-field-outline-end{border:1px solid currentColor;min-width:5px}.mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:5px 0 0 5px;border-right-style:none}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-right-style:solid;border-left-style:none;border-radius:0 5px 5px 0}.mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 5px 5px 0;border-left-style:none;flex-grow:1}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-left-style:solid;border-right-style:none;border-radius:5px 0 0 5px}.mat-form-field-appearance-outline .mat-form-field-outline-gap{border-radius:.000001px;border:1px solid currentColor;border-left-style:none;border-right-style:none}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-outline-gap{border-top-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline-thick{opacity:0}.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-start,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-gap{border-width:2px}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline{opacity:0;transition:opacity 100ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline{opacity:0;transition:opacity 600ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline .mat-form-field-subscript-wrapper{padding:0 1em}.mat-form-field-appearance-outline._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-start,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-end,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-gap{transition:none}\\n\", \".mat-form-field-appearance-standard .mat-form-field-flex{padding-top:.75em}.mat-form-field-appearance-standard .mat-form-field-underline{height:1px}.cdk-high-contrast-active .mat-form-field-appearance-standard .mat-form-field-underline{height:0;border-top:solid 1px}.mat-form-field-appearance-standard .mat-form-field-ripple{bottom:0;height:2px}.cdk-high-contrast-active .mat-form-field-appearance-standard .mat-form-field-ripple{height:0;border-top:solid 2px}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}.cdk-high-contrast-active .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}.mat-form-field-appearance-standard:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity 600ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-standard._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}\\n\"],\n encapsulation: 2,\n data: {\n animation: [matFormFieldAnimations.transitionMessages]\n },\n changeDetection: 0\n});\nMatFormField.ctorParameters = () => [{\n type: ElementRef\n}, {\n type: ChangeDetectorRef\n}, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [ElementRef]\n }]\n}, {\n type: Directionality,\n decorators: [{\n type: Optional\n }]\n}, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_FORM_FIELD_DEFAULT_OPTIONS]\n }]\n}, {\n type: Platform\n}, {\n type: NgZone\n}, {\n type: String,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }]\n}];\nMatFormField.propDecorators = {\n appearance: [{\n type: Input\n }],\n hideRequiredMarker: [{\n type: Input\n }],\n hintLabel: [{\n type: Input\n }],\n floatLabel: [{\n type: Input\n }],\n underlineRef: [{\n type: ViewChild,\n args: ['underline']\n }],\n _connectionContainerRef: [{\n type: ViewChild,\n args: ['connectionContainer', {\n static: true\n }]\n }],\n _inputContainerRef: [{\n type: ViewChild,\n args: ['inputContainer']\n }],\n _label: [{\n type: ViewChild,\n args: ['label']\n }],\n _controlNonStatic: [{\n type: ContentChild,\n args: [MatFormFieldControl]\n }],\n _controlStatic: [{\n type: ContentChild,\n args: [MatFormFieldControl, {\n static: true\n }]\n }],\n _labelChildNonStatic: [{\n type: ContentChild,\n args: [MatLabel]\n }],\n _labelChildStatic: [{\n type: ContentChild,\n args: [MatLabel, {\n static: true\n }]\n }],\n _placeholderChild: [{\n type: ContentChild,\n args: [MatPlaceholder]\n }],\n _errorChildren: [{\n type: ContentChildren,\n args: [MAT_ERROR, {\n descendants: true\n }]\n }],\n _hintChildren: [{\n type: ContentChildren,\n args: [_MAT_HINT, {\n descendants: true\n }]\n }],\n _prefixChildren: [{\n type: ContentChildren,\n args: [MAT_PREFIX, {\n descendants: true\n }]\n }],\n _suffixChildren: [{\n type: ContentChildren,\n args: [MAT_SUFFIX, {\n descendants: true\n }]\n }]\n};\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatFormField, [{\n type: Component,\n args: [{\n selector: 'mat-form-field',\n exportAs: 'matFormField',\n template: \"<div class=\\\"mat-form-field-wrapper\\\">\\n <div class=\\\"mat-form-field-flex\\\" #connectionContainer\\n (click)=\\\"_control.onContainerClick && _control.onContainerClick($event)\\\">\\n\\n <!-- Outline used for outline appearance. -->\\n <ng-container *ngIf=\\\"appearance == 'outline'\\\">\\n <div class=\\\"mat-form-field-outline\\\">\\n <div class=\\\"mat-form-field-outline-start\\\"></div>\\n <div class=\\\"mat-form-field-outline-gap\\\"></div>\\n <div class=\\\"mat-form-field-outline-end\\\"></div>\\n </div>\\n <div class=\\\"mat-form-field-outline mat-form-field-outline-thick\\\">\\n <div class=\\\"mat-form-field-outline-start\\\"></div>\\n <div class=\\\"mat-form-field-outline-gap\\\"></div>\\n <div class=\\\"mat-form-field-outline-end\\\"></div>\\n </div>\\n </ng-container>\\n\\n <div class=\\\"mat-form-field-prefix\\\" *ngIf=\\\"_prefixChildren.length\\\">\\n <ng-content select=\\\"[matPrefix]\\\"></ng-content>\\n </div>\\n\\n <div class=\\\"mat-form-field-infix\\\" #inputContainer>\\n <ng-content></ng-content>\\n\\n <span class=\\\"mat-form-field-label-wrapper\\\">\\n <!-- We add aria-owns as a workaround for an issue in JAWS & NVDA where the label isn't\\n read if it comes before the control in the DOM. -->\\n <label class=\\\"mat-form-field-label\\\"\\n (cdkObserveContent)=\\\"updateOutlineGap()\\\"\\n [cdkObserveContentDisabled]=\\\"appearance != 'outline'\\\"\\n [id]=\\\"_labelId\\\"\\n [attr.for]=\\\"_control.id\\\"\\n [attr.aria-owns]=\\\"_control.id\\\"\\n [class.mat-empty]=\\\"_control.empty && !_shouldAlwaysFloat()\\\"\\n [class.mat-form-field-empty]=\\\"_control.empty && !_shouldAlwaysFloat()\\\"\\n [class.mat-accent]=\\\"color == 'accent'\\\"\\n [class.mat-warn]=\\\"color == 'warn'\\\"\\n #label\\n *ngIf=\\\"_hasFloatingLabel()\\\"\\n [ngSwitch]=\\\"_hasLabel()\\\">\\n\\n <!-- @breaking-change 8.0.0 remove in favor of mat-label element an placeholder attr. -->\\n <ng-container *ngSwitchCase=\\\"false\\\">\\n <ng-content select=\\\"mat-placeholder\\\"></ng-content>\\n <span>{{_control.placeholder}}</span>\\n </ng-container>\\n\\n <ng-content select=\\\"mat-label\\\" *ngSwitchCase=\\\"true\\\"></ng-content>\\n\\n <!-- @breaking-change 8.0.0 remove `mat-placeholder-required` class -->\\n <span\\n class=\\\"mat-placeholder-required mat-form-field-required-marker\\\"\\n aria-hidden=\\\"true\\\"\\n *ngIf=\\\"!hideRequiredMarker && _control.required && !_control.disabled\\\"> *</span>\\n </label>\\n </span>\\n </div>\\n\\n <div class=\\\"mat-form-field-suffix\\\" *ngIf=\\\"_suffixChildren.length\\\">\\n <ng-content select=\\\"[matSuffix]\\\"></ng-content>\\n </div>\\n </div>\\n\\n <!-- Underline used for legacy, standard, and box appearances. -->\\n <div class=\\\"mat-form-field-underline\\\" #underline\\n *ngIf=\\\"appearance != 'outline'\\\">\\n <span class=\\\"mat-form-field-ripple\\\"\\n [class.mat-accent]=\\\"color == 'accent'\\\"\\n [class.mat-warn]=\\\"color == 'warn'\\\"></span>\\n </div>\\n\\n <div class=\\\"mat-form-field-subscript-wrapper\\\"\\n [ngSwitch]=\\\"_getDisplayedMessages()\\\">\\n <div *ngSwitchCase=\\\"'error'\\\" [@transitionMessages]=\\\"_subscriptAnimationState\\\">\\n <ng-content select=\\\"mat-error\\\"></ng-content>\\n </div>\\n\\n <div class=\\\"mat-form-field-hint-wrapper\\\" *ngSwitchCase=\\\"'hint'\\\"\\n [@transitionMessages]=\\\"_subscriptAnimationState\\\">\\n <!-- TODO(mmalerba): use an actual <mat-hint> once all selectors are switched to mat-* -->\\n <div *ngIf=\\\"hintLabel\\\" [id]=\\\"_hintLabelId\\\" class=\\\"mat-hint\\\">{{hintLabel}}</div>\\n <ng-content select=\\\"mat-hint:not([align='end'])\\\"></ng-content>\\n <div class=\\\"mat-form-field-hint-spacer\\\"></div>\\n <ng-content select=\\\"mat-hint[align='end']\\\"></ng-content>\\n </div>\\n </div>\\n</div>\\n\",\n animations: [matFormFieldAnimations.transitionMessages],\n host: {\n 'class': 'mat-form-field',\n '[class.mat-form-field-appearance-standard]': 'appearance == \"standard\"',\n '[class.mat-form-field-appearance-fill]': 'appearance == \"fill\"',\n '[class.mat-form-field-appearance-outline]': 'appearance == \"outline\"',\n '[class.mat-form-field-appearance-legacy]': 'appearance == \"legacy\"',\n '[class.mat-form-field-invalid]': '_control.errorState',\n '[class.mat-form-field-can-float]': '_canLabelFloat()',\n '[class.mat-form-field-should-float]': '_shouldLabelFloat()',\n '[class.mat-form-field-has-label]': '_hasFloatingLabel()',\n '[class.mat-form-field-hide-placeholder]': '_hideControlPlaceholder()',\n '[class.mat-form-field-disabled]': '_control.disabled',\n '[class.mat-form-field-autofilled]': '_control.autofilled',\n '[class.mat-focused]': '_control.focused',\n '[class.ng-untouched]': '_shouldForward(\"untouched\")',\n '[class.ng-touched]': '_shouldForward(\"touched\")',\n '[class.ng-pristine]': '_shouldForward(\"pristine\")',\n '[class.ng-dirty]': '_shouldForward(\"dirty\")',\n '[class.ng-valid]': '_shouldForward(\"valid\")',\n '[class.ng-invalid]': '_shouldForward(\"invalid\")',\n '[class.ng-pending]': '_shouldForward(\"pending\")',\n '[class._mat-animation-noopable]': '!_animationsEnabled'\n },\n inputs: ['color'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: MAT_FORM_FIELD,\n useExisting: MatFormField\n }],\n styles: [\".mat-form-field{display:inline-block;position:relative;text-align:left}[dir=rtl] .mat-form-field{text-align:right}.mat-form-field-wrapper{position:relative}.mat-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-form-field-prefix,.mat-form-field-suffix{white-space:nowrap;flex:none;position:relative}.mat-form-field-infix{display:block;position:relative;flex:auto;min-width:0;width:180px}.cdk-high-contrast-active .mat-form-field-infix{border-image:linear-gradient(transparent, transparent)}.mat-form-field-label-wrapper{position:absolute;left:0;box-sizing:content-box;width:100%;height:100%;overflow:hidden;pointer-events:none}[dir=rtl] .mat-form-field-label-wrapper{left:auto;right:0}.mat-form-field-label{position:absolute;left:0;font:inherit;pointer-events:none;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),width 400ms cubic-bezier(0.25, 0.8, 0.25, 1);display:none}[dir=rtl] .mat-form-field-label{transform-origin:100% 0;left:auto;right:0}.mat-form-field-empty.mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{display:block}.mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:block;transition:none}.mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float .mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:block}.mat-form-field-label:not(.mat-form-field-empty){transition:none}.mat-form-field-underline{position:absolute;width:100%;pointer-events:none;transform:scale3d(1, 1.0001, 1)}.mat-form-field-ripple{position:absolute;left:0;width:100%;transform-origin:50%;transform:scaleX(0.5);opacity:0;transition:background-color 300ms cubic-bezier(0.55, 0, 0.55, 0.2)}.mat-form-field.mat-focused .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple{opacity:1;transform:none;transition:transform 300ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 100ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 300ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-subscript-wrapper{position:absolute;box-sizing:border-box;width:100%;overflow:hidden}.mat-form-field-subscript-wrapper .mat-icon,.mat-form-field-label-wrapper .mat-icon{width:1em;height:1em;font-size:inherit;vertical-align:baseline}.mat-form-field-hint-wrapper{display:flex}.mat-form-field-hint-spacer{flex:1 0 1em}.mat-error{display:block}.mat-form-field-control-wrapper{position:relative}.mat-form-field-hint-end{order:1}.mat-form-field._mat-animation-noopable .mat-form-field-label,.mat-form-field._mat-animation-noopable .mat-form-field-ripple{transition:none}\\n\", \".mat-form-field-appearance-fill .mat-form-field-flex{border-radius:4px 4px 0 0;padding:.75em .75em 0 .75em}.cdk-high-contrast-active .mat-form-field-appearance-fill .mat-form-field-flex{outline:solid 1px}.mat-form-field-appearance-fill .mat-form-field-underline::before{content:\\\"\\\";display:block;position:absolute;bottom:0;height:1px;width:100%}.mat-form-field-appearance-fill .mat-form-field-ripple{bottom:0;height:2px}.cdk-high-contrast-active .mat-form-field-appearance-fill .mat-form-field-ripple{height:0;border-top:solid 2px}.mat-form-field-appearance-fill:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity 600ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-fill._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}.mat-form-field-appearance-fill .mat-form-field-subscript-wrapper{padding:0 1em}\\n\", \".mat-input-element{font:inherit;background:transparent;color:currentColor;border:none;outline:none;padding:0;margin:0;width:100%;max-width:100%;vertical-align:bottom;text-align:inherit;box-sizing:content-box}.mat-input-element:-moz-ui-invalid{box-shadow:none}.mat-input-element::-ms-clear,.mat-input-element::-ms-reveal{display:none}.mat-input-element,.mat-input-element::-webkit-search-cancel-button,.mat-input-element::-webkit-search-decoration,.mat-input-element::-webkit-search-results-button,.mat-input-element::-webkit-search-results-decoration{-webkit-appearance:none}.mat-input-element::-webkit-contacts-auto-fill-button,.mat-input-element::-webkit-caps-lock-indicator,.mat-input-element::-webkit-credentials-auto-fill-button{visibility:hidden}.mat-input-element[type=date],.mat-input-element[type=datetime],.mat-input-element[type=datetime-local],.mat-input-element[type=month],.mat-input-element[type=week],.mat-input-element[type=time]{line-height:1}.mat-input-element[type=date]::after,.mat-input-element[type=datetime]::after,.mat-input-element[type=datetime-local]::after,.mat-input-element[type=month]::after,.mat-input-element[type=week]::after,.mat-input-element[type=time]::after{content:\\\" \\\";white-space:pre;width:1px}.mat-input-element::-webkit-inner-spin-button,.mat-input-element::-webkit-calendar-picker-indicator,.mat-input-element::-webkit-clear-button{font-size:.75em}.mat-input-element::placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element::placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-input-element::-moz-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element::-moz-placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-input-element::-webkit-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element::-webkit-input-placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-input-element:-ms-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element:-ms-input-placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-form-field-hide-placeholder .mat-input-element::placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-moz-placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-webkit-input-placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element:-ms-input-placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}textarea.mat-input-element{resize:vertical;overflow:auto}textarea.mat-input-element.cdk-textarea-autosize{resize:none}textarea.mat-input-element{padding:2px 0;margin:-2px 0}select.mat-input-element{-moz-appearance:none;-webkit-appearance:none;position:relative;background-color:transparent;display:inline-flex;box-sizing:border-box;padding-top:1em;top:-1em;margin-bottom:-1em}select.mat-input-element::-ms-expand{display:none}select.mat-input-element::-moz-focus-inner{border:0}select.mat-input-element:not(:disabled){cursor:pointer}select.mat-input-element::-ms-value{color:inherit;background:none}.mat-focused .cdk-high-contrast-active select.mat-input-element::-ms-value{color:inherit}.mat-form-field-type-mat-native-select .mat-form-field-infix::after{content:\\\"\\\";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;position:absolute;top:50%;right:0;margin-top:-2.5px;pointer-events:none}[dir=rtl] .mat-form-field-type-mat-native-select .mat-form-field-infix::after{right:auto;left:0}.mat-form-field-type-mat-native-select .mat-input-element{padding-right:15px}[dir=rtl] .mat-form-field-type-mat-native-select .mat-input-element{padding-right:0;padding-left:15px}.mat-form-field-type-mat-native-select .mat-form-field-label-wrapper{max-width:calc(100% - 10px)}.mat-form-field-type-mat-native-select.mat-form-field-appearance-outline .mat-form-field-infix::after{margin-top:-5px}.mat-form-field-type-mat-native-select.mat-form-field-appearance-fill .mat-form-field-infix::after{margin-top:-10px}\\n\", \".mat-form-field-appearance-legacy .mat-form-field-label{transform:perspective(100px);-ms-transform:none}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon{width:1em}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button{font:inherit;vertical-align:baseline}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button .mat-icon{font-size:inherit}.mat-form-field-appearance-legacy .mat-form-field-underline{height:1px}.cdk-high-contrast-active .mat-form-field-appearance-legacy .mat-form-field-underline{height:0;border-top:solid 1px}.mat-form-field-appearance-legacy .mat-form-field-ripple{top:0;height:2px;overflow:hidden}.cdk-high-contrast-active .mat-form-field-appearance-legacy .mat-form-field-ripple{height:0;border-top:solid 2px}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}.cdk-high-contrast-active .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}.mat-form-field-appearance-legacy.mat-form-field-invalid:not(.mat-focused) .mat-form-field-ripple{height:1px}\\n\", \".mat-form-field-appearance-outline .mat-form-field-wrapper{margin:.25em 0}.mat-form-field-appearance-outline .mat-form-field-flex{padding:0 .75em 0 .75em;margin-top:-0.25em;position:relative}.mat-form-field-appearance-outline .mat-form-field-prefix,.mat-form-field-appearance-outline .mat-form-field-suffix{top:.25em}.mat-form-field-appearance-outline .mat-form-field-outline{display:flex;position:absolute;top:.25em;left:0;right:0;bottom:0;pointer-events:none}.mat-form-field-appearance-outline .mat-form-field-outline-start,.mat-form-field-appearance-outline .mat-form-field-outline-end{border:1px solid currentColor;min-width:5px}.mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:5px 0 0 5px;border-right-style:none}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-right-style:solid;border-left-style:none;border-radius:0 5px 5px 0}.mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 5px 5px 0;border-left-style:none;flex-grow:1}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-left-style:solid;border-right-style:none;border-radius:5px 0 0 5px}.mat-form-field-appearance-outline .mat-form-field-outline-gap{border-radius:.000001px;border:1px solid currentColor;border-left-style:none;border-right-style:none}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-outline-gap{border-top-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline-thick{opacity:0}.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-start,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-gap{border-width:2px}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline{opacity:0;transition:opacity 100ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline{opacity:0;transition:opacity 600ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline .mat-form-field-subscript-wrapper{padding:0 1em}.mat-form-field-appearance-outline._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-start,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-end,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-gap{transition:none}\\n\", \".mat-form-field-appearance-standard .mat-form-field-flex{padding-top:.75em}.mat-form-field-appearance-standard .mat-form-field-underline{height:1px}.cdk-high-contrast-active .mat-form-field-appearance-standard .mat-form-field-underline{height:0;border-top:solid 1px}.mat-form-field-appearance-standard .mat-form-field-ripple{bottom:0;height:2px}.cdk-high-contrast-active .mat-form-field-appearance-standard .mat-form-field-ripple{height:0;border-top:solid 2px}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}.cdk-high-contrast-active .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}.mat-form-field-appearance-standard:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity 600ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-standard._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}\\n\"]\n }]\n }], function () {\n return [{\n type: ɵngcc0.ElementRef\n }, {\n type: ɵngcc0.ChangeDetectorRef\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [ElementRef]\n }]\n }, {\n type: ɵngcc1.Directionality,\n decorators: [{\n type: Optional\n }]\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_FORM_FIELD_DEFAULT_OPTIONS]\n }]\n }, {\n type: ɵngcc2.Platform\n }, {\n type: ɵngcc0.NgZone\n }, {\n type: String,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }]\n }];\n }, {\n floatLabel: [{\n type: Input\n }],\n appearance: [{\n type: Input\n }],\n hideRequiredMarker: [{\n type: Input\n }],\n hintLabel: [{\n type: Input\n }],\n underlineRef: [{\n type: ViewChild,\n args: ['underline']\n }],\n _connectionContainerRef: [{\n type: ViewChild,\n args: ['connectionContainer', {\n static: true\n }]\n }],\n _inputContainerRef: [{\n type: ViewChild,\n args: ['inputContainer']\n }],\n _label: [{\n type: ViewChild,\n args: ['label']\n }],\n _controlNonStatic: [{\n type: ContentChild,\n args: [MatFormFieldControl]\n }],\n _controlStatic: [{\n type: ContentChild,\n args: [MatFormFieldControl, {\n static: true\n }]\n }],\n _labelChildNonStatic: [{\n type: ContentChild,\n args: [MatLabel]\n }],\n _labelChildStatic: [{\n type: ContentChild,\n args: [MatLabel, {\n static: true\n }]\n }],\n _placeholderChild: [{\n type: ContentChild,\n args: [MatPlaceholder]\n }],\n _errorChildren: [{\n type: ContentChildren,\n args: [MAT_ERROR, {\n descendants: true\n }]\n }],\n _hintChildren: [{\n type: ContentChildren,\n args: [_MAT_HINT, {\n descendants: true\n }]\n }],\n _prefixChildren: [{\n type: ContentChildren,\n args: [MAT_PREFIX, {\n descendants: true\n }]\n }],\n _suffixChildren: [{\n type: ContentChildren,\n args: [MAT_SUFFIX, {\n descendants: true\n }]\n }]\n });\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.io/license\n */\nclass MatFormFieldModule {}\nMatFormFieldModule.ɵfac = function MatFormFieldModule_Factory(t) {\n return new (t || MatFormFieldModule)();\n};\nMatFormFieldModule.ɵmod = /*@__PURE__*/ɵngcc0.ɵɵdefineNgModule({\n type: MatFormFieldModule\n});\nMatFormFieldModule.ɵinj = /*@__PURE__*/ɵngcc0.ɵɵdefineInjector({\n imports: [CommonModule, MatCommonModule, ObserversModule, MatCommonModule]\n});\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatFormFieldModule, [{\n type: NgModule,\n args: [{\n declarations: [MatError, MatFormField, MatHint, MatLabel, MatPlaceholder, MatPrefix, MatSuffix],\n imports: [CommonModule, MatCommonModule, ObserversModule],\n exports: [MatCommonModule, MatError, MatFormField, MatHint, MatLabel, MatPlaceholder, MatPrefix, MatSuffix]\n }]\n }], null, null);\n})();\n(function () {\n (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatFormFieldModule, {\n declarations: function () {\n return [MatError, MatFormField, MatHint, MatLabel, MatPlaceholder, MatPrefix, MatSuffix];\n },\n imports: function () {\n return [CommonModule, MatCommonModule, ObserversModule];\n },\n exports: function () {\n return [MatCommonModule, MatError, MatFormField, MatHint, MatLabel, MatPlaceholder, MatPrefix, MatSuffix];\n }\n });\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.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_ERROR, MAT_FORM_FIELD, MAT_FORM_FIELD_DEFAULT_OPTIONS, MAT_PREFIX, MAT_SUFFIX, MatError, MatFormField, MatFormFieldControl, MatFormFieldModule, MatHint, MatLabel, MatPlaceholder, MatPrefix, MatSuffix, _MAT_HINT, getMatFormFieldDuplicatedHintError, getMatFormFieldMissingControlError, getMatFormFieldPlaceholderConflictError, matFormFieldAnimations };","map":{"version":3,"names":["ObserversModule","CommonModule","InjectionToken","Directive","Input","Component","ViewEncapsulation","ChangeDetectionStrategy","ElementRef","ChangeDetectorRef","Inject","Optional","NgZone","ViewChild","ContentChild","ContentChildren","NgModule","mixinColor","MatCommonModule","Directionality","coerceBooleanProperty","Subject","merge","fromEvent","startWith","takeUntil","take","trigger","state","style","transition","animate","Platform","ANIMATION_MODULE_TYPE","ɵngcc0","ɵngcc1","ɵngcc2","ɵngcc3","ɵngcc4","_c0","_c1","_c2","_c3","MatFormField_ng_container_3_Template","rf","ctx","ɵɵelementContainerStart","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵelementContainerEnd","MatFormField_div_4_Template","ɵɵprojection","MatFormField_label_9_ng_container_2_Template","ɵɵtext","ctx_r10","ɵɵnextContext","ɵɵadvance","ɵɵtextInterpolate","_control","placeholder","MatFormField_label_9_ng_content_3_Template","MatFormField_label_9_span_4_Template","MatFormField_label_9_Template","_r14","ɵɵgetCurrentView","ɵɵlistener","MatFormField_label_9_Template_label_cdkObserveContent_0_listener","ɵɵrestoreView","ctx_r13","ɵɵresetView","updateOutlineGap","ɵɵtemplate","ctx_r4","ɵɵclassProp","empty","_shouldAlwaysFloat","color","ɵɵproperty","appearance","_labelId","_hasLabel","ɵɵattribute","id","hideRequiredMarker","required","disabled","MatFormField_div_10_Template","MatFormField_div_11_Template","ctx_r6","MatFormField_div_13_Template","ctx_r7","_subscriptAnimationState","MatFormField_div_14_div_1_Template","ctx_r16","_hintLabelId","hintLabel","MatFormField_div_14_Template","ctx_r8","_c4","_c5","nextUniqueId","MAT_ERROR","MatError","constructor","ɵfac","MatError_Factory","t","ɵdir","ɵɵdefineDirective","type","selectors","hostAttrs","hostVars","hostBindings","MatError_HostBindings","inputs","features","ɵɵProvidersFeature","provide","useExisting","propDecorators","ngDevMode","ɵsetClassMetadata","args","selector","host","providers","matFormFieldAnimations","transitionMessages","opacity","transform","MatFormFieldControl","MatFormFieldControl_Factory","getMatFormFieldPlaceholderConflictError","Error","getMatFormFieldDuplicatedHintError","align","getMatFormFieldMissingControlError","nextUniqueId$1","_MAT_HINT","MatHint","MatHint_Factory","MatHint_HostBindings","MatLabel","MatLabel_Factory","MatPlaceholder","MatPlaceholder_Factory","MAT_PREFIX","MatPrefix","MatPrefix_Factory","MAT_SUFFIX","MatSuffix","MatSuffix_Factory","nextUniqueId$2","floatingLabelScale","outlineGapPadding","MatFormFieldBase","_elementRef","_MatFormFieldMixinBase","MAT_FORM_FIELD_DEFAULT_OPTIONS","MAT_FORM_FIELD","MatFormField","_changeDetectorRef","_labelOptions","_dir","_defaults","_platform","_ngZone","_animationMode","_outlineGapCalculationNeededImmediately","_outlineGapCalculationNeededOnStable","_destroyed","_showAlwaysAnimate","_hintLabel","floatLabel","_getDefaultFloatLabelState","_animationsEnabled","_hideRequiredMarker","_appearance","value","oldValue","_canLabelFloat","_processHints","_floatLabel","markForCheck","_explicitFormFieldControl","_controlNonStatic","_controlStatic","getLabelId","_hasFloatingLabel","getConnectedOverlayOrigin","_connectionContainerRef","ngAfterContentInit","_validateControlChild","control","controlType","nativeElement","classList","add","stateChanges","pipe","subscribe","_validatePlaceholders","_syncDescribedByIds","ngControl","valueChanges","runOutsideAngular","onStable","_prefixChildren","changes","_suffixChildren","_hintChildren","_errorChildren","change","requestAnimationFrame","ngAfterContentChecked","ngAfterViewInit","detectChanges","ngOnDestroy","next","complete","_shouldForward","prop","_hasPlaceholder","_placeholderChild","_labelChildNonStatic","_labelChildStatic","_shouldLabelFloat","shouldLabelFloat","_hideControlPlaceholder","_getDisplayedMessages","length","errorState","_animateAndLockLabel","_label","_validateHints","startHint","endHint","forEach","hint","ids","userAriaDescribedBy","push","split","find","map","error","setDescribedByIds","labelEl","children","textContent","trim","isBrowser","_isAttachedToDOM","startWidth","gapWidth","container","startEls","querySelectorAll","gapEls","containerRect","getBoundingClientRect","width","height","containerStart","_getStartEnd","labelChildren","labelStart","labelWidth","i","offsetWidth","Math","abs","rect","right","left","element","getRootNode","rootNode","document","documentElement","contains","MatFormField_Factory","ɵɵdirectiveInject","ɵcmp","ɵɵdefineComponent","contentQueries","MatFormField_ContentQueries","dirIndex","ɵɵcontentQuery","_t","ɵɵqueryRefresh","ɵɵloadQuery","first","viewQuery","MatFormField_Query","ɵɵviewQuery","underlineRef","_inputContainerRef","MatFormField_HostBindings","autofilled","focused","exportAs","ɵɵInheritDefinitionFeature","ngContentSelectors","decls","vars","consts","template","MatFormField_Template","ɵɵprojectionDef","MatFormField_Template_div_click_1_listener","$event","onContainerClick","dependencies","NgIf","NgSwitch","NgSwitchCase","CdkObserveContent","styles","encapsulation","data","animation","changeDetection","ctorParameters","undefined","decorators","String","static","descendants","animations","None","OnPush","MatFormFieldModule","MatFormFieldModule_Factory","ɵmod","ɵɵdefineNgModule","ɵinj","ɵɵdefineInjector","imports","declarations","exports","ngJitMode","ɵɵsetNgModuleScope"],"sources":["C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@angular/material/__ivy_ngcc__/fesm2015/form-field.js"],"sourcesContent":["import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { InjectionToken, Directive, Input, Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Inject, Optional, NgZone, ViewChild, ContentChild, ContentChildren, NgModule } from '@angular/core';\nimport { mixinColor, MatCommonModule } from '@angular/material/core';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Subject, merge, fromEvent } from 'rxjs';\nimport { startWith, takeUntil, take } from 'rxjs/operators';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { Platform } from '@angular/cdk/platform';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\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.io/license\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/bidi';\nimport * as ɵngcc2 from '@angular/cdk/platform';\nimport * as ɵngcc3 from '@angular/common';\nimport * as ɵngcc4 from '@angular/cdk/observers';\n\nconst _c0 = [\"underline\"];\nconst _c1 = [\"connectionContainer\"];\nconst _c2 = [\"inputContainer\"];\nconst _c3 = [\"label\"];\nfunction MatFormField_ng_container_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainerStart(0);\n ɵngcc0.ɵɵelementStart(1, \"div\", 14);\n ɵngcc0.ɵɵelement(2, \"div\", 15)(3, \"div\", 16)(4, \"div\", 17);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(5, \"div\", 18);\n ɵngcc0.ɵɵelement(6, \"div\", 15)(7, \"div\", 16)(8, \"div\", 17);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementContainerEnd();\n} }\nfunction MatFormField_div_4_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 19);\n ɵngcc0.ɵɵprojection(1, 1);\n ɵngcc0.ɵɵelementEnd();\n} }\nfunction MatFormField_label_9_ng_container_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainerStart(0);\n ɵngcc0.ɵɵprojection(1, 2);\n ɵngcc0.ɵɵelementStart(2, \"span\");\n ɵngcc0.ɵɵtext(3);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementContainerEnd();\n} if (rf & 2) {\n const ctx_r10 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵtextInterpolate(ctx_r10._control.placeholder);\n} }\nfunction MatFormField_label_9_ng_content_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojection(0, 3, [\"*ngSwitchCase\", \"true\"]);\n} }\nfunction MatFormField_label_9_span_4_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\", 23);\n ɵngcc0.ɵɵtext(1, \" *\");\n ɵngcc0.ɵɵelementEnd();\n} }\nfunction MatFormField_label_9_Template(rf, ctx) { if (rf & 1) {\n const _r14 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"label\", 20, 21);\n ɵngcc0.ɵɵlistener(\"cdkObserveContent\", function MatFormField_label_9_Template_label_cdkObserveContent_0_listener() { ɵngcc0.ɵɵrestoreView(_r14); const ctx_r13 = ɵngcc0.ɵɵnextContext(); return ɵngcc0.ɵɵresetView(ctx_r13.updateOutlineGap()); });\n ɵngcc0.ɵɵtemplate(2, MatFormField_label_9_ng_container_2_Template, 4, 1, \"ng-container\", 12);\n ɵngcc0.ɵɵtemplate(3, MatFormField_label_9_ng_content_3_Template, 1, 0, \"ng-content\", 12);\n ɵngcc0.ɵɵtemplate(4, MatFormField_label_9_span_4_Template, 2, 0, \"span\", 22);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r4 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassProp(\"mat-empty\", ctx_r4._control.empty && !ctx_r4._shouldAlwaysFloat())(\"mat-form-field-empty\", ctx_r4._control.empty && !ctx_r4._shouldAlwaysFloat())(\"mat-accent\", ctx_r4.color == \"accent\")(\"mat-warn\", ctx_r4.color == \"warn\");\n ɵngcc0.ɵɵproperty(\"cdkObserveContentDisabled\", ctx_r4.appearance != \"outline\")(\"id\", ctx_r4._labelId)(\"ngSwitch\", ctx_r4._hasLabel());\n ɵngcc0.ɵɵattribute(\"for\", ctx_r4._control.id)(\"aria-owns\", ctx_r4._control.id);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngSwitchCase\", false);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngSwitchCase\", true);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx_r4.hideRequiredMarker && ctx_r4._control.required && !ctx_r4._control.disabled);\n} }\nfunction MatFormField_div_10_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 24);\n ɵngcc0.ɵɵprojection(1, 4);\n ɵngcc0.ɵɵelementEnd();\n} }\nfunction MatFormField_div_11_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 25, 26);\n ɵngcc0.ɵɵelement(2, \"span\", 27);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r6 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵclassProp(\"mat-accent\", ctx_r6.color == \"accent\")(\"mat-warn\", ctx_r6.color == \"warn\");\n} }\nfunction MatFormField_div_13_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\");\n ɵngcc0.ɵɵprojection(1, 5);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r7 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"@transitionMessages\", ctx_r7._subscriptAnimationState);\n} }\nfunction MatFormField_div_14_div_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 31);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r16 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵproperty(\"id\", ctx_r16._hintLabelId);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate(ctx_r16.hintLabel);\n} }\nfunction MatFormField_div_14_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 28);\n ɵngcc0.ɵɵtemplate(1, MatFormField_div_14_div_1_Template, 2, 2, \"div\", 29);\n ɵngcc0.ɵɵprojection(2, 6);\n ɵngcc0.ɵɵelement(3, \"div\", 30);\n ɵngcc0.ɵɵprojection(4, 7);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r8 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"@transitionMessages\", ctx_r8._subscriptAnimationState);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r8.hintLabel);\n} }\nconst _c4 = [\"*\", [[\"\", \"matPrefix\", \"\"]], [[\"mat-placeholder\"]], [[\"mat-label\"]], [[\"\", \"matSuffix\", \"\"]], [[\"mat-error\"]], [[\"mat-hint\", 3, \"align\", \"end\"]], [[\"mat-hint\", \"align\", \"end\"]]];\nconst _c5 = [\"*\", \"[matPrefix]\", \"mat-placeholder\", \"mat-label\", \"[matSuffix]\", \"mat-error\", \"mat-hint:not([align='end'])\", \"mat-hint[align='end']\"];\nlet nextUniqueId = 0;\n/**\n * Injection token that can be used to reference instances of `MatError`. It serves as\n * alternative token to the actual `MatError` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst MAT_ERROR = new InjectionToken('MatError');\n/** Single error message to be shown underneath the form field. */\nclass MatError {\n constructor() {\n this.id = `mat-error-${nextUniqueId++}`;\n }\n}\nMatError.ɵfac = function MatError_Factory(t) { return new (t || MatError)(); };\nMatError.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatError, selectors: [[\"mat-error\"]], hostAttrs: [\"role\", \"alert\", 1, \"mat-error\"], hostVars: 1, hostBindings: function MatError_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"id\", ctx.id);\n } }, inputs: { id: \"id\" }, features: [ɵngcc0.ɵɵProvidersFeature([{ provide: MAT_ERROR, useExisting: MatError }])] });\nMatError.propDecorators = {\n id: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatError, [{\n type: Directive,\n args: [{\n selector: 'mat-error',\n host: {\n 'class': 'mat-error',\n 'role': 'alert',\n '[attr.id]': 'id'\n },\n providers: [{ provide: MAT_ERROR, useExisting: MatError }]\n }]\n }], function () { return []; }, { id: [{\n type: Input\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.io/license\n */\n/**\n * Animations used by the MatFormField.\n * @docs-private\n */\nconst matFormFieldAnimations = {\n /** Animation that transitions the form field's error and hint messages. */\n transitionMessages: trigger('transitionMessages', [\n // TODO(mmalerba): Use angular animations for label animation as well.\n state('enter', style({ opacity: 1, transform: 'translateY(0%)' })),\n transition('void => enter', [\n style({ opacity: 0, transform: 'translateY(-5px)' }),\n animate('300ms cubic-bezier(0.55, 0, 0.55, 0.2)'),\n ]),\n ])\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.io/license\n */\n/** An interface which allows a control to work inside of a `MatFormField`. */\nclass MatFormFieldControl {\n}\nMatFormFieldControl.ɵfac = function MatFormFieldControl_Factory(t) { return new (t || MatFormFieldControl)(); };\nMatFormFieldControl.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatFormFieldControl });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatFormFieldControl, [{\n type: Directive\n }], null, null); })();\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.io/license\n */\n/** @docs-private */\nfunction getMatFormFieldPlaceholderConflictError() {\n return Error('Placeholder attribute and child element were both specified.');\n}\n/** @docs-private */\nfunction getMatFormFieldDuplicatedHintError(align) {\n return Error(`A hint was already declared for 'align=\"${align}\"'.`);\n}\n/** @docs-private */\nfunction getMatFormFieldMissingControlError() {\n return Error('mat-form-field must contain a MatFormFieldControl.');\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.io/license\n */\nlet nextUniqueId$1 = 0;\n/**\n * Injection token that can be used to reference instances of `MatHint`. It serves as\n * alternative token to the actual `MatHint` class which could cause unnecessary\n * retention of the class and its directive metadata.\n *\n * *Note*: This is not part of the public API as the MDC-based form-field will not\n * need a lightweight token for `MatHint` and we want to reduce breaking changes.\n */\nconst _MAT_HINT = new InjectionToken('MatHint');\n/** Hint text to be shown underneath the form field control. */\nclass MatHint {\n constructor() {\n /** Whether to align the hint label at the start or end of the line. */\n this.align = 'start';\n /** Unique ID for the hint. Used for the aria-describedby on the form field control. */\n this.id = `mat-hint-${nextUniqueId$1++}`;\n }\n}\nMatHint.ɵfac = function MatHint_Factory(t) { return new (t || MatHint)(); };\nMatHint.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatHint, selectors: [[\"mat-hint\"]], hostAttrs: [1, \"mat-hint\"], hostVars: 4, hostBindings: function MatHint_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"id\", ctx.id)(\"align\", null);\n ɵngcc0.ɵɵclassProp(\"mat-form-field-hint-end\", ctx.align === \"end\");\n } }, inputs: { align: \"align\", id: \"id\" }, features: [ɵngcc0.ɵɵProvidersFeature([{ provide: _MAT_HINT, useExisting: MatHint }])] });\nMatHint.propDecorators = {\n align: [{ type: Input }],\n id: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatHint, [{\n type: Directive,\n args: [{\n selector: 'mat-hint',\n host: {\n 'class': 'mat-hint',\n '[class.mat-form-field-hint-end]': 'align === \"end\"',\n '[attr.id]': 'id',\n // Remove align attribute to prevent it from interfering with layout.\n '[attr.align]': 'null'\n },\n providers: [{ provide: _MAT_HINT, useExisting: MatHint }]\n }]\n }], function () { return []; }, { align: [{\n type: Input\n }], id: [{\n type: Input\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.io/license\n */\n/** The floating label for a `mat-form-field`. */\nclass MatLabel {\n}\nMatLabel.ɵfac = function MatLabel_Factory(t) { return new (t || MatLabel)(); };\nMatLabel.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatLabel, selectors: [[\"mat-label\"]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatLabel, [{\n type: Directive,\n args: [{\n selector: 'mat-label'\n }]\n }], null, null); })();\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.io/license\n */\n/**\n * The placeholder text for an `MatFormField`.\n * @deprecated Use `<mat-label>` to specify the label and the `placeholder` attribute to specify the\n * placeholder.\n * @breaking-change 8.0.0\n */\nclass MatPlaceholder {\n}\nMatPlaceholder.ɵfac = function MatPlaceholder_Factory(t) { return new (t || MatPlaceholder)(); };\nMatPlaceholder.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatPlaceholder, selectors: [[\"mat-placeholder\"]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatPlaceholder, [{\n type: Directive,\n args: [{\n selector: 'mat-placeholder'\n }]\n }], null, null); })();\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.io/license\n */\n/**\n * Injection token that can be used to reference instances of `MatPrefix`. It serves as\n * alternative token to the actual `MatPrefix` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst MAT_PREFIX = new InjectionToken('MatPrefix');\n/** Prefix to be placed in front of the form field. */\nclass MatPrefix {\n}\nMatPrefix.ɵfac = function MatPrefix_Factory(t) { return new (t || MatPrefix)(); };\nMatPrefix.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatPrefix, selectors: [[\"\", \"matPrefix\", \"\"]], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: MAT_PREFIX, useExisting: MatPrefix }])] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatPrefix, [{\n type: Directive,\n args: [{\n selector: '[matPrefix]',\n providers: [{ provide: MAT_PREFIX, useExisting: MatPrefix }]\n }]\n }], null, null); })();\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.io/license\n */\n/**\n * Injection token that can be used to reference instances of `MatSuffix`. It serves as\n * alternative token to the actual `MatSuffix` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst MAT_SUFFIX = new InjectionToken('MatSuffix');\n/** Suffix to be placed at the end of the form field. */\nclass MatSuffix {\n}\nMatSuffix.ɵfac = function MatSuffix_Factory(t) { return new (t || MatSuffix)(); };\nMatSuffix.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatSuffix, selectors: [[\"\", \"matSuffix\", \"\"]], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: MAT_SUFFIX, useExisting: MatSuffix }])] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatSuffix, [{\n type: Directive,\n args: [{\n selector: '[matSuffix]',\n providers: [{ provide: MAT_SUFFIX, useExisting: MatSuffix }]\n }]\n }], null, null); })();\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.io/license\n */\nlet nextUniqueId$2 = 0;\nconst floatingLabelScale = 0.75;\nconst outlineGapPadding = 5;\n/**\n * Boilerplate for applying mixins to MatFormField.\n * @docs-private\n */\nclass MatFormFieldBase {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n}\n/**\n * Base class to which we're applying the form field mixins.\n * @docs-private\n */\nconst _MatFormFieldMixinBase = mixinColor(MatFormFieldBase, 'primary');\n/**\n * Injection token that can be used to configure the\n * default options for all form field within an app.\n */\nconst MAT_FORM_FIELD_DEFAULT_OPTIONS = new InjectionToken('MAT_FORM_FIELD_DEFAULT_OPTIONS');\n/**\n * Injection token that can be used to inject an instances of `MatFormField`. It serves\n * as alternative token to the actual `MatFormField` class which would cause unnecessary\n * retention of the `MatFormField` class and its component metadata.\n */\nconst MAT_FORM_FIELD = new InjectionToken('MatFormField');\n/** Container for form controls that applies Material Design styling and behavior. */\nclass MatFormField extends _MatFormFieldMixinBase {\n constructor(_elementRef, _changeDetectorRef, \n /**\n * @deprecated `_labelOptions` parameter no longer being used. To be removed.\n * @breaking-change 12.0.0\n */\n // Use `ElementRef` here so Angular has something to inject.\n _labelOptions, _dir, _defaults, _platform, _ngZone, _animationMode) {\n super(_elementRef);\n this._elementRef = _elementRef;\n this._changeDetectorRef = _changeDetectorRef;\n this._dir = _dir;\n this._defaults = _defaults;\n this._platform = _platform;\n this._ngZone = _ngZone;\n /**\n * Whether the outline gap needs to be calculated\n * immediately on the next change detection run.\n */\n this._outlineGapCalculationNeededImmediately = false;\n /** Whether the outline gap needs to be calculated next time the zone has stabilized. */\n this._outlineGapCalculationNeededOnStable = false;\n this._destroyed = new Subject();\n /** Override for the logic that disables the label animation in certain cases. */\n this._showAlwaysAnimate = false;\n /** State of the mat-hint and mat-error animations. */\n this._subscriptAnimationState = '';\n this._hintLabel = '';\n // Unique id for the hint label.\n this._hintLabelId = `mat-hint-${nextUniqueId$2++}`;\n // Unique id for the label element.\n this._labelId = `mat-form-field-label-${nextUniqueId$2++}`;\n this.floatLabel = this._getDefaultFloatLabelState();\n this._animationsEnabled = _animationMode !== 'NoopAnimations';\n // Set the default through here so we invoke the setter on the first run.\n this.appearance = (_defaults && _defaults.appearance) ? _defaults.appearance : 'legacy';\n this._hideRequiredMarker = (_defaults && _defaults.hideRequiredMarker != null) ?\n _defaults.hideRequiredMarker : false;\n }\n /** The form-field appearance style. */\n get appearance() { return this._appearance; }\n set appearance(value) {\n const oldValue = this._appearance;\n this._appearance = value || (this._defaults && this._defaults.appearance) || 'legacy';\n if (this._appearance === 'outline' && oldValue !== value) {\n this._outlineGapCalculationNeededOnStable = true;\n }\n }\n /** Whether the required marker should be hidden. */\n get hideRequiredMarker() { return this._hideRequiredMarker; }\n set hideRequiredMarker(value) {\n this._hideRequiredMarker = coerceBooleanProperty(value);\n }\n /** Whether the floating label should always float or not. */\n _shouldAlwaysFloat() {\n return this.floatLabel === 'always' && !this._showAlwaysAnimate;\n }\n /** Whether the label can float or not. */\n _canLabelFloat() { return this.floatLabel !== 'never'; }\n /** Text for the form field hint. */\n get hintLabel() { return this._hintLabel; }\n set hintLabel(value) {\n this._hintLabel = value;\n this._processHints();\n }\n /**\n * Whether the label should always float, never float or float as the user types.\n *\n * Note: only the legacy appearance supports the `never` option. `never` was originally added as a\n * way to make the floating label emulate the behavior of a standard input placeholder. However\n * the form field now supports both floating labels and placeholders. Therefore in the non-legacy\n * appearances the `never` option has been disabled in favor of just using the placeholder.\n */\n get floatLabel() {\n return this.appearance !== 'legacy' && this._floatLabel === 'never' ? 'auto' : this._floatLabel;\n }\n set floatLabel(value) {\n if (value !== this._floatLabel) {\n this._floatLabel = value || this._getDefaultFloatLabelState();\n this._changeDetectorRef.markForCheck();\n }\n }\n get _control() {\n // TODO(crisbeto): we need this workaround in order to support both Ivy and ViewEngine.\n // We should clean this up once Ivy is the default renderer.\n return this._explicitFormFieldControl || this._controlNonStatic || this._controlStatic;\n }\n set _control(value) {\n this._explicitFormFieldControl = value;\n }\n /**\n * Gets the id of the label element. If no label is present, returns `null`.\n */\n getLabelId() {\n return this._hasFloatingLabel() ? this._labelId : null;\n }\n /**\n * Gets an ElementRef for the element that a overlay attached to the form-field should be\n * positioned relative to.\n */\n getConnectedOverlayOrigin() {\n return this._connectionContainerRef || this._elementRef;\n }\n ngAfterContentInit() {\n this._validateControlChild();\n const control = this._control;\n if (control.controlType) {\n this._elementRef.nativeElement.classList.add(`mat-form-field-type-${control.controlType}`);\n }\n // Subscribe to changes in the child control state in order to update the form field UI.\n control.stateChanges.pipe(startWith(null)).subscribe(() => {\n this._validatePlaceholders();\n this._syncDescribedByIds();\n this._changeDetectorRef.markForCheck();\n });\n // Run change detection if the value changes.\n if (control.ngControl && control.ngControl.valueChanges) {\n control.ngControl.valueChanges\n .pipe(takeUntil(this._destroyed))\n .subscribe(() => this._changeDetectorRef.markForCheck());\n }\n // Note that we have to run outside of the `NgZone` explicitly,\n // in order to avoid throwing users into an infinite loop\n // if `zone-patch-rxjs` is included.\n this._ngZone.runOutsideAngular(() => {\n this._ngZone.onStable.pipe(takeUntil(this._destroyed)).subscribe(() => {\n if (this._outlineGapCalculationNeededOnStable) {\n this.updateOutlineGap();\n }\n });\n });\n // Run change detection and update the outline if the suffix or prefix changes.\n merge(this._prefixChildren.changes, this._suffixChildren.changes).subscribe(() => {\n this._outlineGapCalculationNeededOnStable = true;\n this._changeDetectorRef.markForCheck();\n });\n // Re-validate when the number of hints changes.\n this._hintChildren.changes.pipe(startWith(null)).subscribe(() => {\n this._processHints();\n this._changeDetectorRef.markForCheck();\n });\n // Update the aria-described by when the number of errors changes.\n this._errorChildren.changes.pipe(startWith(null)).subscribe(() => {\n this._syncDescribedByIds();\n this._changeDetectorRef.markForCheck();\n });\n if (this._dir) {\n this._dir.change.pipe(takeUntil(this._destroyed)).subscribe(() => {\n if (typeof requestAnimationFrame === 'function') {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => this.updateOutlineGap());\n });\n }\n else {\n this.updateOutlineGap();\n }\n });\n }\n }\n ngAfterContentChecked() {\n this._validateControlChild();\n if (this._outlineGapCalculationNeededImmediately) {\n this.updateOutlineGap();\n }\n }\n ngAfterViewInit() {\n // Avoid animations on load.\n this._subscriptAnimationState = 'enter';\n this._changeDetectorRef.detectChanges();\n }\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Determines whether a class from the NgControl should be forwarded to the host element. */\n _shouldForward(prop) {\n const ngControl = this._control ? this._control.ngControl : null;\n return ngControl && ngControl[prop];\n }\n _hasPlaceholder() {\n return !!(this._control && this._control.placeholder || this._placeholderChild);\n }\n _hasLabel() {\n return !!(this._labelChildNonStatic || this._labelChildStatic);\n }\n _shouldLabelFloat() {\n return this._canLabelFloat() &&\n ((this._control && this._control.shouldLabelFloat) || this._shouldAlwaysFloat());\n }\n _hideControlPlaceholder() {\n // In the legacy appearance the placeholder is promoted to a label if no label is given.\n return this.appearance === 'legacy' && !this._hasLabel() ||\n this._hasLabel() && !this._shouldLabelFloat();\n }\n _hasFloatingLabel() {\n // In the legacy appearance the placeholder is promoted to a label if no label is given.\n return this._hasLabel() || this.appearance === 'legacy' && this._hasPlaceholder();\n }\n /** Determines whether to display hints or errors. */\n _getDisplayedMessages() {\n return (this._errorChildren && this._errorChildren.length > 0 &&\n this._control.errorState) ? 'error' : 'hint';\n }\n /** Animates the placeholder up and locks it in position. */\n _animateAndLockLabel() {\n if (this._hasFloatingLabel() && this._canLabelFloat()) {\n // If animations are disabled, we shouldn't go in here,\n // because the `transitionend` will never fire.\n if (this._animationsEnabled && this._label) {\n this._showAlwaysAnimate = true;\n fromEvent(this._label.nativeElement, 'transitionend').pipe(take(1)).subscribe(() => {\n this._showAlwaysAnimate = false;\n });\n }\n this.floatLabel = 'always';\n this._changeDetectorRef.markForCheck();\n }\n }\n /**\n * Ensure that there is only one placeholder (either `placeholder` attribute on the child control\n * or child element with the `mat-placeholder` directive).\n */\n _validatePlaceholders() {\n if (this._control.placeholder && this._placeholderChild &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatFormFieldPlaceholderConflictError();\n }\n }\n /** Does any extra processing that is required when handling the hints. */\n _processHints() {\n this._validateHints();\n this._syncDescribedByIds();\n }\n /**\n * Ensure that there is a maximum of one of each `<mat-hint>` alignment specified, with the\n * attribute being considered as `align=\"start\"`.\n */\n _validateHints() {\n if (this._hintChildren && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n let startHint;\n let endHint;\n this._hintChildren.forEach((hint) => {\n if (hint.align === 'start') {\n if (startHint || this.hintLabel) {\n throw getMatFormFieldDuplicatedHintError('start');\n }\n startHint = hint;\n }\n else if (hint.align === 'end') {\n if (endHint) {\n throw getMatFormFieldDuplicatedHintError('end');\n }\n endHint = hint;\n }\n });\n }\n }\n /** Gets the default float label state. */\n _getDefaultFloatLabelState() {\n return (this._defaults && this._defaults.floatLabel) || 'auto';\n }\n /**\n * Sets the list of element IDs that describe the child control. This allows the control to update\n * its `aria-describedby` attribute accordingly.\n */\n _syncDescribedByIds() {\n if (this._control) {\n let ids = [];\n // TODO(wagnermaciel): Remove the type check when we find the root cause of this bug.\n if (this._control.userAriaDescribedBy &&\n typeof this._control.userAriaDescribedBy === 'string') {\n ids.push(...this._control.userAriaDescribedBy.split(' '));\n }\n if (this._getDisplayedMessages() === 'hint') {\n const startHint = this._hintChildren ?\n this._hintChildren.find(hint => hint.align === 'start') : null;\n const endHint = this._hintChildren ?\n this._hintChildren.find(hint => hint.align === 'end') : null;\n if (startHint) {\n ids.push(startHint.id);\n }\n else if (this._hintLabel) {\n ids.push(this._hintLabelId);\n }\n if (endHint) {\n ids.push(endHint.id);\n }\n }\n else if (this._errorChildren) {\n ids.push(...this._errorChildren.map(error => error.id));\n }\n this._control.setDescribedByIds(ids);\n }\n }\n /** Throws an error if the form field's control is missing. */\n _validateControlChild() {\n if (!this._control && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatFormFieldMissingControlError();\n }\n }\n /**\n * Updates the width and position of the gap in the outline. Only relevant for the outline\n * appearance.\n */\n updateOutlineGap() {\n const labelEl = this._label ? this._label.nativeElement : null;\n if (this.appearance !== 'outline' || !labelEl || !labelEl.children.length ||\n !labelEl.textContent.trim()) {\n return;\n }\n if (!this._platform.isBrowser) {\n // getBoundingClientRect isn't available on the server.\n return;\n }\n // If the element is not present in the DOM, the outline gap will need to be calculated\n // the next time it is checked and in the DOM.\n if (!this._isAttachedToDOM()) {\n this._outlineGapCalculationNeededImmediately = true;\n return;\n }\n let startWidth = 0;\n let gapWidth = 0;\n const container = this._connectionContainerRef.nativeElement;\n const startEls = container.querySelectorAll('.mat-form-field-outline-start');\n const gapEls = container.querySelectorAll('.mat-form-field-outline-gap');\n if (this._label && this._label.nativeElement.children.length) {\n const containerRect = container.getBoundingClientRect();\n // If the container's width and height are zero, it means that the element is\n // invisible and we can't calculate the outline gap. Mark the element as needing\n // to be checked the next time the zone stabilizes. We can't do this immediately\n // on the next change detection, because even if the element becomes visible,\n // the `ClientRect` won't be reclaculated immediately. We reset the\n // `_outlineGapCalculationNeededImmediately` flag some we don't run the checks twice.\n if (containerRect.width === 0 && containerRect.height === 0) {\n this._outlineGapCalculationNeededOnStable = true;\n this._outlineGapCalculationNeededImmediately = false;\n return;\n }\n const containerStart = this._getStartEnd(containerRect);\n const labelChildren = labelEl.children;\n const labelStart = this._getStartEnd(labelChildren[0].getBoundingClientRect());\n let labelWidth = 0;\n for (let i = 0; i < labelChildren.length; i++) {\n labelWidth += labelChildren[i].offsetWidth;\n }\n startWidth = Math.abs(labelStart - containerStart) - outlineGapPadding;\n gapWidth = labelWidth > 0 ? labelWidth * floatingLabelScale + outlineGapPadding * 2 : 0;\n }\n for (let i = 0; i < startEls.length; i++) {\n startEls[i].style.width = `${startWidth}px`;\n }\n for (let i = 0; i < gapEls.length; i++) {\n gapEls[i].style.width = `${gapWidth}px`;\n }\n this._outlineGapCalculationNeededOnStable =\n this._outlineGapCalculationNeededImmediately = false;\n }\n /** Gets the start end of the rect considering the current directionality. */\n _getStartEnd(rect) {\n return (this._dir && this._dir.value === 'rtl') ? rect.right : rect.left;\n }\n /** Checks whether the form field is attached to the DOM. */\n _isAttachedToDOM() {\n const element = this._elementRef.nativeElement;\n if (element.getRootNode) {\n const rootNode = element.getRootNode();\n // If the element is inside the DOM the root node will be either the document\n // or the closest shadow root, otherwise it'll be the element itself.\n return rootNode && rootNode !== element;\n }\n // Otherwise fall back to checking if it's in the document. This doesn't account for\n // shadow DOM, however browser that support shadow DOM should support `getRootNode` as well.\n return document.documentElement.contains(element);\n }\n}\nMatFormField.ɵfac = function MatFormField_Factory(t) { return new (t || MatFormField)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(MAT_FORM_FIELD_DEFAULT_OPTIONS, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Platform), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); };\nMatFormField.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatFormField, selectors: [[\"mat-form-field\"]], contentQueries: function MatFormField_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatFormFieldControl, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatFormFieldControl, 7);\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatLabel, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatLabel, 7);\n ɵngcc0.ɵɵcontentQuery(dirIndex, MatPlaceholder, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, MAT_ERROR, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, _MAT_HINT, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, MAT_PREFIX, 5);\n ɵngcc0.ɵɵcontentQuery(dirIndex, MAT_SUFFIX, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._controlNonStatic = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._controlStatic = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._labelChildNonStatic = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._labelChildStatic = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._placeholderChild = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._errorChildren = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._hintChildren = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._prefixChildren = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._suffixChildren = _t);\n } }, viewQuery: function MatFormField_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c0, 5);\n ɵngcc0.ɵɵviewQuery(_c1, 7);\n ɵngcc0.ɵɵviewQuery(_c2, 5);\n ɵngcc0.ɵɵviewQuery(_c3, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.underlineRef = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._connectionContainerRef = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._inputContainerRef = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._label = _t.first);\n } }, hostAttrs: [1, \"mat-form-field\"], hostVars: 40, hostBindings: function MatFormField_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"mat-form-field-appearance-standard\", ctx.appearance == \"standard\")(\"mat-form-field-appearance-fill\", ctx.appearance == \"fill\")(\"mat-form-field-appearance-outline\", ctx.appearance == \"outline\")(\"mat-form-field-appearance-legacy\", ctx.appearance == \"legacy\")(\"mat-form-field-invalid\", ctx._control.errorState)(\"mat-form-field-can-float\", ctx._canLabelFloat())(\"mat-form-field-should-float\", ctx._shouldLabelFloat())(\"mat-form-field-has-label\", ctx._hasFloatingLabel())(\"mat-form-field-hide-placeholder\", ctx._hideControlPlaceholder())(\"mat-form-field-disabled\", ctx._control.disabled)(\"mat-form-field-autofilled\", ctx._control.autofilled)(\"mat-focused\", ctx._control.focused)(\"ng-untouched\", ctx._shouldForward(\"untouched\"))(\"ng-touched\", ctx._shouldForward(\"touched\"))(\"ng-pristine\", ctx._shouldForward(\"pristine\"))(\"ng-dirty\", ctx._shouldForward(\"dirty\"))(\"ng-valid\", ctx._shouldForward(\"valid\"))(\"ng-invalid\", ctx._shouldForward(\"invalid\"))(\"ng-pending\", ctx._shouldForward(\"pending\"))(\"_mat-animation-noopable\", !ctx._animationsEnabled);\n } }, inputs: { color: \"color\", floatLabel: \"floatLabel\", appearance: \"appearance\", hideRequiredMarker: \"hideRequiredMarker\", hintLabel: \"hintLabel\" }, exportAs: [\"matFormField\"], features: [ɵngcc0.ɵɵProvidersFeature([\n { provide: MAT_FORM_FIELD, useExisting: MatFormField },\n ]), ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c5, decls: 15, vars: 8, consts: [[1, \"mat-form-field-wrapper\"], [1, \"mat-form-field-flex\", 3, \"click\"], [\"connectionContainer\", \"\"], [4, \"ngIf\"], [\"class\", \"mat-form-field-prefix\", 4, \"ngIf\"], [1, \"mat-form-field-infix\"], [\"inputContainer\", \"\"], [1, \"mat-form-field-label-wrapper\"], [\"class\", \"mat-form-field-label\", 3, \"cdkObserveContentDisabled\", \"id\", \"mat-empty\", \"mat-form-field-empty\", \"mat-accent\", \"mat-warn\", \"ngSwitch\", \"cdkObserveContent\", 4, \"ngIf\"], [\"class\", \"mat-form-field-suffix\", 4, \"ngIf\"], [\"class\", \"mat-form-field-underline\", 4, \"ngIf\"], [1, \"mat-form-field-subscript-wrapper\", 3, \"ngSwitch\"], [4, \"ngSwitchCase\"], [\"class\", \"mat-form-field-hint-wrapper\", 4, \"ngSwitchCase\"], [1, \"mat-form-field-outline\"], [1, \"mat-form-field-outline-start\"], [1, \"mat-form-field-outline-gap\"], [1, \"mat-form-field-outline-end\"], [1, \"mat-form-field-outline\", \"mat-form-field-outline-thick\"], [1, \"mat-form-field-prefix\"], [1, \"mat-form-field-label\", 3, \"cdkObserveContentDisabled\", \"id\", \"ngSwitch\", \"cdkObserveContent\"], [\"label\", \"\"], [\"class\", \"mat-placeholder-required mat-form-field-required-marker\", \"aria-hidden\", \"true\", 4, \"ngIf\"], [\"aria-hidden\", \"true\", 1, \"mat-placeholder-required\", \"mat-form-field-required-marker\"], [1, \"mat-form-field-suffix\"], [1, \"mat-form-field-underline\"], [\"underline\", \"\"], [1, \"mat-form-field-ripple\"], [1, \"mat-form-field-hint-wrapper\"], [\"class\", \"mat-hint\", 3, \"id\", 4, \"ngIf\"], [1, \"mat-form-field-hint-spacer\"], [1, \"mat-hint\", 3, \"id\"]], template: function MatFormField_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef(_c4);\n ɵngcc0.ɵɵelementStart(0, \"div\", 0)(1, \"div\", 1, 2);\n ɵngcc0.ɵɵlistener(\"click\", function MatFormField_Template_div_click_1_listener($event) { return ctx._control.onContainerClick && ctx._control.onContainerClick($event); });\n ɵngcc0.ɵɵtemplate(3, MatFormField_ng_container_3_Template, 9, 0, \"ng-container\", 3);\n ɵngcc0.ɵɵtemplate(4, MatFormField_div_4_Template, 2, 0, \"div\", 4);\n ɵngcc0.ɵɵelementStart(5, \"div\", 5, 6);\n ɵngcc0.ɵɵprojection(7);\n ɵngcc0.ɵɵelementStart(8, \"span\", 7);\n ɵngcc0.ɵɵtemplate(9, MatFormField_label_9_Template, 5, 16, \"label\", 8);\n ɵngcc0.ɵɵelementEnd()();\n ɵngcc0.ɵɵtemplate(10, MatFormField_div_10_Template, 2, 0, \"div\", 9);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(11, MatFormField_div_11_Template, 3, 4, \"div\", 10);\n ɵngcc0.ɵɵelementStart(12, \"div\", 11);\n ɵngcc0.ɵɵtemplate(13, MatFormField_div_13_Template, 2, 1, \"div\", 12);\n ɵngcc0.ɵɵtemplate(14, MatFormField_div_14_Template, 5, 2, \"div\", 13);\n ɵngcc0.ɵɵelementEnd()();\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.appearance == \"outline\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx._prefixChildren.length);\n ɵngcc0.ɵɵadvance(5);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx._hasFloatingLabel());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx._suffixChildren.length);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.appearance != \"outline\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngSwitch\", ctx._getDisplayedMessages());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngSwitchCase\", \"error\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngSwitchCase\", \"hint\");\n } }, dependencies: [ɵngcc3.NgIf, ɵngcc3.NgSwitch, ɵngcc3.NgSwitchCase, ɵngcc4.CdkObserveContent], styles: [\".mat-form-field{display:inline-block;position:relative;text-align:left}[dir=rtl] .mat-form-field{text-align:right}.mat-form-field-wrapper{position:relative}.mat-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-form-field-prefix,.mat-form-field-suffix{white-space:nowrap;flex:none;position:relative}.mat-form-field-infix{display:block;position:relative;flex:auto;min-width:0;width:180px}.cdk-high-contrast-active .mat-form-field-infix{border-image:linear-gradient(transparent, transparent)}.mat-form-field-label-wrapper{position:absolute;left:0;box-sizing:content-box;width:100%;height:100%;overflow:hidden;pointer-events:none}[dir=rtl] .mat-form-field-label-wrapper{left:auto;right:0}.mat-form-field-label{position:absolute;left:0;font:inherit;pointer-events:none;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),width 400ms cubic-bezier(0.25, 0.8, 0.25, 1);display:none}[dir=rtl] .mat-form-field-label{transform-origin:100% 0;left:auto;right:0}.mat-form-field-empty.mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{display:block}.mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:block;transition:none}.mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float .mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:block}.mat-form-field-label:not(.mat-form-field-empty){transition:none}.mat-form-field-underline{position:absolute;width:100%;pointer-events:none;transform:scale3d(1, 1.0001, 1)}.mat-form-field-ripple{position:absolute;left:0;width:100%;transform-origin:50%;transform:scaleX(0.5);opacity:0;transition:background-color 300ms cubic-bezier(0.55, 0, 0.55, 0.2)}.mat-form-field.mat-focused .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple{opacity:1;transform:none;transition:transform 300ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 100ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 300ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-subscript-wrapper{position:absolute;box-sizing:border-box;width:100%;overflow:hidden}.mat-form-field-subscript-wrapper .mat-icon,.mat-form-field-label-wrapper .mat-icon{width:1em;height:1em;font-size:inherit;vertical-align:baseline}.mat-form-field-hint-wrapper{display:flex}.mat-form-field-hint-spacer{flex:1 0 1em}.mat-error{display:block}.mat-form-field-control-wrapper{position:relative}.mat-form-field-hint-end{order:1}.mat-form-field._mat-animation-noopable .mat-form-field-label,.mat-form-field._mat-animation-noopable .mat-form-field-ripple{transition:none}\\n\", \".mat-form-field-appearance-fill .mat-form-field-flex{border-radius:4px 4px 0 0;padding:.75em .75em 0 .75em}.cdk-high-contrast-active .mat-form-field-appearance-fill .mat-form-field-flex{outline:solid 1px}.mat-form-field-appearance-fill .mat-form-field-underline::before{content:\\\"\\\";display:block;position:absolute;bottom:0;height:1px;width:100%}.mat-form-field-appearance-fill .mat-form-field-ripple{bottom:0;height:2px}.cdk-high-contrast-active .mat-form-field-appearance-fill .mat-form-field-ripple{height:0;border-top:solid 2px}.mat-form-field-appearance-fill:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity 600ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-fill._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}.mat-form-field-appearance-fill .mat-form-field-subscript-wrapper{padding:0 1em}\\n\", \".mat-input-element{font:inherit;background:transparent;color:currentColor;border:none;outline:none;padding:0;margin:0;width:100%;max-width:100%;vertical-align:bottom;text-align:inherit;box-sizing:content-box}.mat-input-element:-moz-ui-invalid{box-shadow:none}.mat-input-element::-ms-clear,.mat-input-element::-ms-reveal{display:none}.mat-input-element,.mat-input-element::-webkit-search-cancel-button,.mat-input-element::-webkit-search-decoration,.mat-input-element::-webkit-search-results-button,.mat-input-element::-webkit-search-results-decoration{-webkit-appearance:none}.mat-input-element::-webkit-contacts-auto-fill-button,.mat-input-element::-webkit-caps-lock-indicator,.mat-input-element::-webkit-credentials-auto-fill-button{visibility:hidden}.mat-input-element[type=date],.mat-input-element[type=datetime],.mat-input-element[type=datetime-local],.mat-input-element[type=month],.mat-input-element[type=week],.mat-input-element[type=time]{line-height:1}.mat-input-element[type=date]::after,.mat-input-element[type=datetime]::after,.mat-input-element[type=datetime-local]::after,.mat-input-element[type=month]::after,.mat-input-element[type=week]::after,.mat-input-element[type=time]::after{content:\\\" \\\";white-space:pre;width:1px}.mat-input-element::-webkit-inner-spin-button,.mat-input-element::-webkit-calendar-picker-indicator,.mat-input-element::-webkit-clear-button{font-size:.75em}.mat-input-element::placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element::placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-input-element::-moz-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element::-moz-placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-input-element::-webkit-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element::-webkit-input-placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-input-element:-ms-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element:-ms-input-placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-form-field-hide-placeholder .mat-input-element::placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-moz-placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-webkit-input-placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element:-ms-input-placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}textarea.mat-input-element{resize:vertical;overflow:auto}textarea.mat-input-element.cdk-textarea-autosize{resize:none}textarea.mat-input-element{padding:2px 0;margin:-2px 0}select.mat-input-element{-moz-appearance:none;-webkit-appearance:none;position:relative;background-color:transparent;display:inline-flex;box-sizing:border-box;padding-top:1em;top:-1em;margin-bottom:-1em}select.mat-input-element::-ms-expand{display:none}select.mat-input-element::-moz-focus-inner{border:0}select.mat-input-element:not(:disabled){cursor:pointer}select.mat-input-element::-ms-value{color:inherit;background:none}.mat-focused .cdk-high-contrast-active select.mat-input-element::-ms-value{color:inherit}.mat-form-field-type-mat-native-select .mat-form-field-infix::after{content:\\\"\\\";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;position:absolute;top:50%;right:0;margin-top:-2.5px;pointer-events:none}[dir=rtl] .mat-form-field-type-mat-native-select .mat-form-field-infix::after{right:auto;left:0}.mat-form-field-type-mat-native-select .mat-input-element{padding-right:15px}[dir=rtl] .mat-form-field-type-mat-native-select .mat-input-element{padding-right:0;padding-left:15px}.mat-form-field-type-mat-native-select .mat-form-field-label-wrapper{max-width:calc(100% - 10px)}.mat-form-field-type-mat-native-select.mat-form-field-appearance-outline .mat-form-field-infix::after{margin-top:-5px}.mat-form-field-type-mat-native-select.mat-form-field-appearance-fill .mat-form-field-infix::after{margin-top:-10px}\\n\", \".mat-form-field-appearance-legacy .mat-form-field-label{transform:perspective(100px);-ms-transform:none}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon{width:1em}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button{font:inherit;vertical-align:baseline}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button .mat-icon{font-size:inherit}.mat-form-field-appearance-legacy .mat-form-field-underline{height:1px}.cdk-high-contrast-active .mat-form-field-appearance-legacy .mat-form-field-underline{height:0;border-top:solid 1px}.mat-form-field-appearance-legacy .mat-form-field-ripple{top:0;height:2px;overflow:hidden}.cdk-high-contrast-active .mat-form-field-appearance-legacy .mat-form-field-ripple{height:0;border-top:solid 2px}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}.cdk-high-contrast-active .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}.mat-form-field-appearance-legacy.mat-form-field-invalid:not(.mat-focused) .mat-form-field-ripple{height:1px}\\n\", \".mat-form-field-appearance-outline .mat-form-field-wrapper{margin:.25em 0}.mat-form-field-appearance-outline .mat-form-field-flex{padding:0 .75em 0 .75em;margin-top:-0.25em;position:relative}.mat-form-field-appearance-outline .mat-form-field-prefix,.mat-form-field-appearance-outline .mat-form-field-suffix{top:.25em}.mat-form-field-appearance-outline .mat-form-field-outline{display:flex;position:absolute;top:.25em;left:0;right:0;bottom:0;pointer-events:none}.mat-form-field-appearance-outline .mat-form-field-outline-start,.mat-form-field-appearance-outline .mat-form-field-outline-end{border:1px solid currentColor;min-width:5px}.mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:5px 0 0 5px;border-right-style:none}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-right-style:solid;border-left-style:none;border-radius:0 5px 5px 0}.mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 5px 5px 0;border-left-style:none;flex-grow:1}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-left-style:solid;border-right-style:none;border-radius:5px 0 0 5px}.mat-form-field-appearance-outline .mat-form-field-outline-gap{border-radius:.000001px;border:1px solid currentColor;border-left-style:none;border-right-style:none}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-outline-gap{border-top-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline-thick{opacity:0}.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-start,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-gap{border-width:2px}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline{opacity:0;transition:opacity 100ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline{opacity:0;transition:opacity 600ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline .mat-form-field-subscript-wrapper{padding:0 1em}.mat-form-field-appearance-outline._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-start,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-end,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-gap{transition:none}\\n\", \".mat-form-field-appearance-standard .mat-form-field-flex{padding-top:.75em}.mat-form-field-appearance-standard .mat-form-field-underline{height:1px}.cdk-high-contrast-active .mat-form-field-appearance-standard .mat-form-field-underline{height:0;border-top:solid 1px}.mat-form-field-appearance-standard .mat-form-field-ripple{bottom:0;height:2px}.cdk-high-contrast-active .mat-form-field-appearance-standard .mat-form-field-ripple{height:0;border-top:solid 2px}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}.cdk-high-contrast-active .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}.mat-form-field-appearance-standard:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity 600ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-standard._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}\\n\"], encapsulation: 2, data: { animation: [matFormFieldAnimations.transitionMessages] }, changeDetection: 0 });\nMatFormField.ctorParameters = () => [\n { type: ElementRef },\n { type: ChangeDetectorRef },\n { type: undefined, decorators: [{ type: Inject, args: [ElementRef,] }] },\n { type: Directionality, decorators: [{ type: Optional }] },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MAT_FORM_FIELD_DEFAULT_OPTIONS,] }] },\n { type: Platform },\n { type: NgZone },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }\n];\nMatFormField.propDecorators = {\n appearance: [{ type: Input }],\n hideRequiredMarker: [{ type: Input }],\n hintLabel: [{ type: Input }],\n floatLabel: [{ type: Input }],\n underlineRef: [{ type: ViewChild, args: ['underline',] }],\n _connectionContainerRef: [{ type: ViewChild, args: ['connectionContainer', { static: true },] }],\n _inputContainerRef: [{ type: ViewChild, args: ['inputContainer',] }],\n _label: [{ type: ViewChild, args: ['label',] }],\n _controlNonStatic: [{ type: ContentChild, args: [MatFormFieldControl,] }],\n _controlStatic: [{ type: ContentChild, args: [MatFormFieldControl, { static: true },] }],\n _labelChildNonStatic: [{ type: ContentChild, args: [MatLabel,] }],\n _labelChildStatic: [{ type: ContentChild, args: [MatLabel, { static: true },] }],\n _placeholderChild: [{ type: ContentChild, args: [MatPlaceholder,] }],\n _errorChildren: [{ type: ContentChildren, args: [MAT_ERROR, { descendants: true },] }],\n _hintChildren: [{ type: ContentChildren, args: [_MAT_HINT, { descendants: true },] }],\n _prefixChildren: [{ type: ContentChildren, args: [MAT_PREFIX, { descendants: true },] }],\n _suffixChildren: [{ type: ContentChildren, args: [MAT_SUFFIX, { descendants: true },] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatFormField, [{\n type: Component,\n args: [{ selector: 'mat-form-field', exportAs: 'matFormField', template: \"<div class=\\\"mat-form-field-wrapper\\\">\\n <div class=\\\"mat-form-field-flex\\\" #connectionContainer\\n (click)=\\\"_control.onContainerClick && _control.onContainerClick($event)\\\">\\n\\n <!-- Outline used for outline appearance. -->\\n <ng-container *ngIf=\\\"appearance == 'outline'\\\">\\n <div class=\\\"mat-form-field-outline\\\">\\n <div class=\\\"mat-form-field-outline-start\\\"></div>\\n <div class=\\\"mat-form-field-outline-gap\\\"></div>\\n <div class=\\\"mat-form-field-outline-end\\\"></div>\\n </div>\\n <div class=\\\"mat-form-field-outline mat-form-field-outline-thick\\\">\\n <div class=\\\"mat-form-field-outline-start\\\"></div>\\n <div class=\\\"mat-form-field-outline-gap\\\"></div>\\n <div class=\\\"mat-form-field-outline-end\\\"></div>\\n </div>\\n </ng-container>\\n\\n <div class=\\\"mat-form-field-prefix\\\" *ngIf=\\\"_prefixChildren.length\\\">\\n <ng-content select=\\\"[matPrefix]\\\"></ng-content>\\n </div>\\n\\n <div class=\\\"mat-form-field-infix\\\" #inputContainer>\\n <ng-content></ng-content>\\n\\n <span class=\\\"mat-form-field-label-wrapper\\\">\\n <!-- We add aria-owns as a workaround for an issue in JAWS & NVDA where the label isn't\\n read if it comes before the control in the DOM. -->\\n <label class=\\\"mat-form-field-label\\\"\\n (cdkObserveContent)=\\\"updateOutlineGap()\\\"\\n [cdkObserveContentDisabled]=\\\"appearance != 'outline'\\\"\\n [id]=\\\"_labelId\\\"\\n [attr.for]=\\\"_control.id\\\"\\n [attr.aria-owns]=\\\"_control.id\\\"\\n [class.mat-empty]=\\\"_control.empty && !_shouldAlwaysFloat()\\\"\\n [class.mat-form-field-empty]=\\\"_control.empty && !_shouldAlwaysFloat()\\\"\\n [class.mat-accent]=\\\"color == 'accent'\\\"\\n [class.mat-warn]=\\\"color == 'warn'\\\"\\n #label\\n *ngIf=\\\"_hasFloatingLabel()\\\"\\n [ngSwitch]=\\\"_hasLabel()\\\">\\n\\n <!-- @breaking-change 8.0.0 remove in favor of mat-label element an placeholder attr. -->\\n <ng-container *ngSwitchCase=\\\"false\\\">\\n <ng-content select=\\\"mat-placeholder\\\"></ng-content>\\n <span>{{_control.placeholder}}</span>\\n </ng-container>\\n\\n <ng-content select=\\\"mat-label\\\" *ngSwitchCase=\\\"true\\\"></ng-content>\\n\\n <!-- @breaking-change 8.0.0 remove `mat-placeholder-required` class -->\\n <span\\n class=\\\"mat-placeholder-required mat-form-field-required-marker\\\"\\n aria-hidden=\\\"true\\\"\\n *ngIf=\\\"!hideRequiredMarker && _control.required && !_control.disabled\\\"> *</span>\\n </label>\\n </span>\\n </div>\\n\\n <div class=\\\"mat-form-field-suffix\\\" *ngIf=\\\"_suffixChildren.length\\\">\\n <ng-content select=\\\"[matSuffix]\\\"></ng-content>\\n </div>\\n </div>\\n\\n <!-- Underline used for legacy, standard, and box appearances. -->\\n <div class=\\\"mat-form-field-underline\\\" #underline\\n *ngIf=\\\"appearance != 'outline'\\\">\\n <span class=\\\"mat-form-field-ripple\\\"\\n [class.mat-accent]=\\\"color == 'accent'\\\"\\n [class.mat-warn]=\\\"color == 'warn'\\\"></span>\\n </div>\\n\\n <div class=\\\"mat-form-field-subscript-wrapper\\\"\\n [ngSwitch]=\\\"_getDisplayedMessages()\\\">\\n <div *ngSwitchCase=\\\"'error'\\\" [@transitionMessages]=\\\"_subscriptAnimationState\\\">\\n <ng-content select=\\\"mat-error\\\"></ng-content>\\n </div>\\n\\n <div class=\\\"mat-form-field-hint-wrapper\\\" *ngSwitchCase=\\\"'hint'\\\"\\n [@transitionMessages]=\\\"_subscriptAnimationState\\\">\\n <!-- TODO(mmalerba): use an actual <mat-hint> once all selectors are switched to mat-* -->\\n <div *ngIf=\\\"hintLabel\\\" [id]=\\\"_hintLabelId\\\" class=\\\"mat-hint\\\">{{hintLabel}}</div>\\n <ng-content select=\\\"mat-hint:not([align='end'])\\\"></ng-content>\\n <div class=\\\"mat-form-field-hint-spacer\\\"></div>\\n <ng-content select=\\\"mat-hint[align='end']\\\"></ng-content>\\n </div>\\n </div>\\n</div>\\n\", animations: [matFormFieldAnimations.transitionMessages], host: {\n 'class': 'mat-form-field',\n '[class.mat-form-field-appearance-standard]': 'appearance == \"standard\"',\n '[class.mat-form-field-appearance-fill]': 'appearance == \"fill\"',\n '[class.mat-form-field-appearance-outline]': 'appearance == \"outline\"',\n '[class.mat-form-field-appearance-legacy]': 'appearance == \"legacy\"',\n '[class.mat-form-field-invalid]': '_control.errorState',\n '[class.mat-form-field-can-float]': '_canLabelFloat()',\n '[class.mat-form-field-should-float]': '_shouldLabelFloat()',\n '[class.mat-form-field-has-label]': '_hasFloatingLabel()',\n '[class.mat-form-field-hide-placeholder]': '_hideControlPlaceholder()',\n '[class.mat-form-field-disabled]': '_control.disabled',\n '[class.mat-form-field-autofilled]': '_control.autofilled',\n '[class.mat-focused]': '_control.focused',\n '[class.ng-untouched]': '_shouldForward(\"untouched\")',\n '[class.ng-touched]': '_shouldForward(\"touched\")',\n '[class.ng-pristine]': '_shouldForward(\"pristine\")',\n '[class.ng-dirty]': '_shouldForward(\"dirty\")',\n '[class.ng-valid]': '_shouldForward(\"valid\")',\n '[class.ng-invalid]': '_shouldForward(\"invalid\")',\n '[class.ng-pending]': '_shouldForward(\"pending\")',\n '[class._mat-animation-noopable]': '!_animationsEnabled'\n }, inputs: ['color'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n { provide: MAT_FORM_FIELD, useExisting: MatFormField },\n ], styles: [\".mat-form-field{display:inline-block;position:relative;text-align:left}[dir=rtl] .mat-form-field{text-align:right}.mat-form-field-wrapper{position:relative}.mat-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-form-field-prefix,.mat-form-field-suffix{white-space:nowrap;flex:none;position:relative}.mat-form-field-infix{display:block;position:relative;flex:auto;min-width:0;width:180px}.cdk-high-contrast-active .mat-form-field-infix{border-image:linear-gradient(transparent, transparent)}.mat-form-field-label-wrapper{position:absolute;left:0;box-sizing:content-box;width:100%;height:100%;overflow:hidden;pointer-events:none}[dir=rtl] .mat-form-field-label-wrapper{left:auto;right:0}.mat-form-field-label{position:absolute;left:0;font:inherit;pointer-events:none;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),width 400ms cubic-bezier(0.25, 0.8, 0.25, 1);display:none}[dir=rtl] .mat-form-field-label{transform-origin:100% 0;left:auto;right:0}.mat-form-field-empty.mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{display:block}.mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{display:block;transition:none}.mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:none}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float .mat-input-server[placeholder]:not(:placeholder-shown)+.mat-form-field-label-wrapper .mat-form-field-label{display:block}.mat-form-field-label:not(.mat-form-field-empty){transition:none}.mat-form-field-underline{position:absolute;width:100%;pointer-events:none;transform:scale3d(1, 1.0001, 1)}.mat-form-field-ripple{position:absolute;left:0;width:100%;transform-origin:50%;transform:scaleX(0.5);opacity:0;transition:background-color 300ms cubic-bezier(0.55, 0, 0.55, 0.2)}.mat-form-field.mat-focused .mat-form-field-ripple,.mat-form-field.mat-form-field-invalid .mat-form-field-ripple{opacity:1;transform:none;transition:transform 300ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 100ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 300ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-subscript-wrapper{position:absolute;box-sizing:border-box;width:100%;overflow:hidden}.mat-form-field-subscript-wrapper .mat-icon,.mat-form-field-label-wrapper .mat-icon{width:1em;height:1em;font-size:inherit;vertical-align:baseline}.mat-form-field-hint-wrapper{display:flex}.mat-form-field-hint-spacer{flex:1 0 1em}.mat-error{display:block}.mat-form-field-control-wrapper{position:relative}.mat-form-field-hint-end{order:1}.mat-form-field._mat-animation-noopable .mat-form-field-label,.mat-form-field._mat-animation-noopable .mat-form-field-ripple{transition:none}\\n\", \".mat-form-field-appearance-fill .mat-form-field-flex{border-radius:4px 4px 0 0;padding:.75em .75em 0 .75em}.cdk-high-contrast-active .mat-form-field-appearance-fill .mat-form-field-flex{outline:solid 1px}.mat-form-field-appearance-fill .mat-form-field-underline::before{content:\\\"\\\";display:block;position:absolute;bottom:0;height:1px;width:100%}.mat-form-field-appearance-fill .mat-form-field-ripple{bottom:0;height:2px}.cdk-high-contrast-active .mat-form-field-appearance-fill .mat-form-field-ripple{height:0;border-top:solid 2px}.mat-form-field-appearance-fill:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity 600ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-fill._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}.mat-form-field-appearance-fill .mat-form-field-subscript-wrapper{padding:0 1em}\\n\", \".mat-input-element{font:inherit;background:transparent;color:currentColor;border:none;outline:none;padding:0;margin:0;width:100%;max-width:100%;vertical-align:bottom;text-align:inherit;box-sizing:content-box}.mat-input-element:-moz-ui-invalid{box-shadow:none}.mat-input-element::-ms-clear,.mat-input-element::-ms-reveal{display:none}.mat-input-element,.mat-input-element::-webkit-search-cancel-button,.mat-input-element::-webkit-search-decoration,.mat-input-element::-webkit-search-results-button,.mat-input-element::-webkit-search-results-decoration{-webkit-appearance:none}.mat-input-element::-webkit-contacts-auto-fill-button,.mat-input-element::-webkit-caps-lock-indicator,.mat-input-element::-webkit-credentials-auto-fill-button{visibility:hidden}.mat-input-element[type=date],.mat-input-element[type=datetime],.mat-input-element[type=datetime-local],.mat-input-element[type=month],.mat-input-element[type=week],.mat-input-element[type=time]{line-height:1}.mat-input-element[type=date]::after,.mat-input-element[type=datetime]::after,.mat-input-element[type=datetime-local]::after,.mat-input-element[type=month]::after,.mat-input-element[type=week]::after,.mat-input-element[type=time]::after{content:\\\" \\\";white-space:pre;width:1px}.mat-input-element::-webkit-inner-spin-button,.mat-input-element::-webkit-calendar-picker-indicator,.mat-input-element::-webkit-clear-button{font-size:.75em}.mat-input-element::placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element::placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-input-element::-moz-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element::-moz-placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-input-element::-webkit-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element::-webkit-input-placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-input-element:-ms-input-placeholder{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-input-element:-ms-input-placeholder:-ms-input-placeholder{-ms-user-select:text}.mat-form-field-hide-placeholder .mat-input-element::placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-moz-placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element::-webkit-input-placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}.mat-form-field-hide-placeholder .mat-input-element:-ms-input-placeholder{color:transparent !important;-webkit-text-fill-color:transparent;transition:none}textarea.mat-input-element{resize:vertical;overflow:auto}textarea.mat-input-element.cdk-textarea-autosize{resize:none}textarea.mat-input-element{padding:2px 0;margin:-2px 0}select.mat-input-element{-moz-appearance:none;-webkit-appearance:none;position:relative;background-color:transparent;display:inline-flex;box-sizing:border-box;padding-top:1em;top:-1em;margin-bottom:-1em}select.mat-input-element::-ms-expand{display:none}select.mat-input-element::-moz-focus-inner{border:0}select.mat-input-element:not(:disabled){cursor:pointer}select.mat-input-element::-ms-value{color:inherit;background:none}.mat-focused .cdk-high-contrast-active select.mat-input-element::-ms-value{color:inherit}.mat-form-field-type-mat-native-select .mat-form-field-infix::after{content:\\\"\\\";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;position:absolute;top:50%;right:0;margin-top:-2.5px;pointer-events:none}[dir=rtl] .mat-form-field-type-mat-native-select .mat-form-field-infix::after{right:auto;left:0}.mat-form-field-type-mat-native-select .mat-input-element{padding-right:15px}[dir=rtl] .mat-form-field-type-mat-native-select .mat-input-element{padding-right:0;padding-left:15px}.mat-form-field-type-mat-native-select .mat-form-field-label-wrapper{max-width:calc(100% - 10px)}.mat-form-field-type-mat-native-select.mat-form-field-appearance-outline .mat-form-field-infix::after{margin-top:-5px}.mat-form-field-type-mat-native-select.mat-form-field-appearance-fill .mat-form-field-infix::after{margin-top:-10px}\\n\", \".mat-form-field-appearance-legacy .mat-form-field-label{transform:perspective(100px);-ms-transform:none}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon{width:1em}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button{font:inherit;vertical-align:baseline}.mat-form-field-appearance-legacy .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-icon-button .mat-icon{font-size:inherit}.mat-form-field-appearance-legacy .mat-form-field-underline{height:1px}.cdk-high-contrast-active .mat-form-field-appearance-legacy .mat-form-field-underline{height:0;border-top:solid 1px}.mat-form-field-appearance-legacy .mat-form-field-ripple{top:0;height:2px;overflow:hidden}.cdk-high-contrast-active .mat-form-field-appearance-legacy .mat-form-field-ripple{height:0;border-top:solid 2px}.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}.cdk-high-contrast-active .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}.mat-form-field-appearance-legacy.mat-form-field-invalid:not(.mat-focused) .mat-form-field-ripple{height:1px}\\n\", \".mat-form-field-appearance-outline .mat-form-field-wrapper{margin:.25em 0}.mat-form-field-appearance-outline .mat-form-field-flex{padding:0 .75em 0 .75em;margin-top:-0.25em;position:relative}.mat-form-field-appearance-outline .mat-form-field-prefix,.mat-form-field-appearance-outline .mat-form-field-suffix{top:.25em}.mat-form-field-appearance-outline .mat-form-field-outline{display:flex;position:absolute;top:.25em;left:0;right:0;bottom:0;pointer-events:none}.mat-form-field-appearance-outline .mat-form-field-outline-start,.mat-form-field-appearance-outline .mat-form-field-outline-end{border:1px solid currentColor;min-width:5px}.mat-form-field-appearance-outline .mat-form-field-outline-start{border-radius:5px 0 0 5px;border-right-style:none}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-start{border-right-style:solid;border-left-style:none;border-radius:0 5px 5px 0}.mat-form-field-appearance-outline .mat-form-field-outline-end{border-radius:0 5px 5px 0;border-left-style:none;flex-grow:1}[dir=rtl] .mat-form-field-appearance-outline .mat-form-field-outline-end{border-left-style:solid;border-right-style:none;border-radius:5px 0 0 5px}.mat-form-field-appearance-outline .mat-form-field-outline-gap{border-radius:.000001px;border:1px solid currentColor;border-left-style:none;border-right-style:none}.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-outline-gap{border-top-color:transparent}.mat-form-field-appearance-outline .mat-form-field-outline-thick{opacity:0}.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-start,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-end,.mat-form-field-appearance-outline .mat-form-field-outline-thick .mat-form-field-outline-gap{border-width:2px}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline{opacity:0;transition:opacity 100ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick,.mat-form-field-appearance-outline.mat-form-field-invalid .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline{opacity:0;transition:opacity 600ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-outline:not(.mat-form-field-disabled) .mat-form-field-flex:hover .mat-form-field-outline-thick{opacity:1}.mat-form-field-appearance-outline .mat-form-field-subscript-wrapper{padding:0 1em}.mat-form-field-appearance-outline._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-start,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-end,.mat-form-field-appearance-outline._mat-animation-noopable .mat-form-field-outline-gap{transition:none}\\n\", \".mat-form-field-appearance-standard .mat-form-field-flex{padding-top:.75em}.mat-form-field-appearance-standard .mat-form-field-underline{height:1px}.cdk-high-contrast-active .mat-form-field-appearance-standard .mat-form-field-underline{height:0;border-top:solid 1px}.mat-form-field-appearance-standard .mat-form-field-ripple{bottom:0;height:2px}.cdk-high-contrast-active .mat-form-field-appearance-standard .mat-form-field-ripple{height:0;border-top:solid 2px}.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-position:0;background-color:transparent}.cdk-high-contrast-active .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{border-top-style:dotted;border-top-width:2px}.mat-form-field-appearance-standard:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{opacity:1;transform:none;transition:opacity 600ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-form-field-appearance-standard._mat-animation-noopable:not(.mat-form-field-disabled) .mat-form-field-flex:hover~.mat-form-field-underline .mat-form-field-ripple{transition:none}\\n\"] }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [ElementRef]\n }] }, { type: ɵngcc1.Directionality, decorators: [{\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_FORM_FIELD_DEFAULT_OPTIONS]\n }] }, { type: ɵngcc2.Platform }, { type: ɵngcc0.NgZone }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }]; }, { floatLabel: [{\n type: Input\n }], appearance: [{\n type: Input\n }], hideRequiredMarker: [{\n type: Input\n }], hintLabel: [{\n type: Input\n }], underlineRef: [{\n type: ViewChild,\n args: ['underline']\n }], _connectionContainerRef: [{\n type: ViewChild,\n args: ['connectionContainer', { static: true }]\n }], _inputContainerRef: [{\n type: ViewChild,\n args: ['inputContainer']\n }], _label: [{\n type: ViewChild,\n args: ['label']\n }], _controlNonStatic: [{\n type: ContentChild,\n args: [MatFormFieldControl]\n }], _controlStatic: [{\n type: ContentChild,\n args: [MatFormFieldControl, { static: true }]\n }], _labelChildNonStatic: [{\n type: ContentChild,\n args: [MatLabel]\n }], _labelChildStatic: [{\n type: ContentChild,\n args: [MatLabel, { static: true }]\n }], _placeholderChild: [{\n type: ContentChild,\n args: [MatPlaceholder]\n }], _errorChildren: [{\n type: ContentChildren,\n args: [MAT_ERROR, { descendants: true }]\n }], _hintChildren: [{\n type: ContentChildren,\n args: [_MAT_HINT, { descendants: true }]\n }], _prefixChildren: [{\n type: ContentChildren,\n args: [MAT_PREFIX, { descendants: true }]\n }], _suffixChildren: [{\n type: ContentChildren,\n args: [MAT_SUFFIX, { descendants: true }]\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.io/license\n */\nclass MatFormFieldModule {\n}\nMatFormFieldModule.ɵfac = function MatFormFieldModule_Factory(t) { return new (t || MatFormFieldModule)(); };\nMatFormFieldModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: MatFormFieldModule });\nMatFormFieldModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [CommonModule,\n MatCommonModule,\n ObserversModule, MatCommonModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatFormFieldModule, [{\n type: NgModule,\n args: [{\n declarations: [\n MatError,\n MatFormField,\n MatHint,\n MatLabel,\n MatPlaceholder,\n MatPrefix,\n MatSuffix,\n ],\n imports: [\n CommonModule,\n MatCommonModule,\n ObserversModule,\n ],\n exports: [\n MatCommonModule,\n MatError,\n MatFormField,\n MatHint,\n MatLabel,\n MatPlaceholder,\n MatPrefix,\n MatSuffix,\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatFormFieldModule, { declarations: function () { return [MatError, MatFormField, MatHint, MatLabel, MatPlaceholder, MatPrefix, MatSuffix]; }, imports: function () { return [CommonModule,\n MatCommonModule,\n ObserversModule]; }, exports: function () { return [MatCommonModule, MatError, MatFormField, MatHint, MatLabel, MatPlaceholder, MatPrefix, MatSuffix]; } }); })();\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.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_ERROR, MAT_FORM_FIELD, MAT_FORM_FIELD_DEFAULT_OPTIONS, MAT_PREFIX, MAT_SUFFIX, MatError, MatFormField, MatFormFieldControl, MatFormFieldModule, MatHint, MatLabel, MatPlaceholder, MatPrefix, MatSuffix, _MAT_HINT, getMatFormFieldDuplicatedHintError, getMatFormFieldMissingControlError, getMatFormFieldPlaceholderConflictError, matFormFieldAnimations };\n\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,wBAAwB;AACxD,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,cAAc,EAAEC,SAAS,EAAEC,KAAK,EAAEC,SAAS,EAAEC,iBAAiB,EAAEC,uBAAuB,EAAEC,UAAU,EAAEC,iBAAiB,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,SAAS,EAAEC,YAAY,EAAEC,eAAe,EAAEC,QAAQ,QAAQ,eAAe;AACpO,SAASC,UAAU,EAAEC,eAAe,QAAQ,wBAAwB;AACpE,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,qBAAqB,QAAQ,uBAAuB;AAC7D,SAASC,OAAO,EAAEC,KAAK,EAAEC,SAAS,QAAQ,MAAM;AAChD,SAASC,SAAS,EAAEC,SAAS,EAAEC,IAAI,QAAQ,gBAAgB;AAC3D,SAASC,OAAO,EAAEC,KAAK,EAAEC,KAAK,EAAEC,UAAU,EAAEC,OAAO,QAAQ,qBAAqB;AAChF,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,qBAAqB,QAAQ,sCAAsC;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAC3C,OAAO,KAAKC,MAAM,MAAM,uBAAuB;AAC/C,OAAO,KAAKC,MAAM,MAAM,iBAAiB;AACzC,OAAO,KAAKC,MAAM,MAAM,wBAAwB;AAEhD,MAAMC,GAAG,GAAG,CAAC,WAAW,CAAC;AACzB,MAAMC,GAAG,GAAG,CAAC,qBAAqB,CAAC;AACnC,MAAMC,GAAG,GAAG,CAAC,gBAAgB,CAAC;AAC9B,MAAMC,GAAG,GAAG,CAAC,OAAO,CAAC;AACrB,SAASC,oCAAoCA,CAACC,EAAE,EAAEC,GAAG,EAAE;EAAE,IAAID,EAAE,GAAG,CAAC,EAAE;IACjEV,MAAM,CAACY,uBAAuB,CAAC,CAAC,CAAC;IACjCZ,MAAM,CAACa,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;IACnCb,MAAM,CAACc,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;IAC1Dd,MAAM,CAACe,YAAY,CAAC,CAAC;IACrBf,MAAM,CAACa,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;IACnCb,MAAM,CAACc,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;IAC1Dd,MAAM,CAACe,YAAY,CAAC,CAAC;IACrBf,MAAM,CAACgB,qBAAqB,CAAC,CAAC;EAClC;AAAE;AACF,SAASC,2BAA2BA,CAACP,EAAE,EAAEC,GAAG,EAAE;EAAE,IAAID,EAAE,GAAG,CAAC,EAAE;IACxDV,MAAM,CAACa,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;IACnCb,MAAM,CAACkB,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IACzBlB,MAAM,CAACe,YAAY,CAAC,CAAC;EACzB;AAAE;AACF,SAASI,4CAA4CA,CAACT,EAAE,EAAEC,GAAG,EAAE;EAAE,IAAID,EAAE,GAAG,CAAC,EAAE;IACzEV,MAAM,CAACY,uBAAuB,CAAC,CAAC,CAAC;IACjCZ,MAAM,CAACkB,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IACzBlB,MAAM,CAACa,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC;IAChCb,MAAM,CAACoB,MAAM,CAAC,CAAC,CAAC;IAChBpB,MAAM,CAACe,YAAY,CAAC,CAAC;IACrBf,MAAM,CAACgB,qBAAqB,CAAC,CAAC;EAClC;EAAE,IAAIN,EAAE,GAAG,CAAC,EAAE;IACV,MAAMW,OAAO,GAAGrB,MAAM,CAACsB,aAAa,CAAC,CAAC,CAAC;IACvCtB,MAAM,CAACuB,SAAS,CAAC,CAAC,CAAC;IACnBvB,MAAM,CAACwB,iBAAiB,CAACH,OAAO,CAACI,QAAQ,CAACC,WAAW,CAAC;EAC1D;AAAE;AACF,SAASC,0CAA0CA,CAACjB,EAAE,EAAEC,GAAG,EAAE;EAAE,IAAID,EAAE,GAAG,CAAC,EAAE;IACvEV,MAAM,CAACkB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;EACxD;AAAE;AACF,SAASU,oCAAoCA,CAAClB,EAAE,EAAEC,GAAG,EAAE;EAAE,IAAID,EAAE,GAAG,CAAC,EAAE;IACjEV,MAAM,CAACa,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACpCb,MAAM,CAACoB,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC;IACtBpB,MAAM,CAACe,YAAY,CAAC,CAAC;EACzB;AAAE;AACF,SAASc,6BAA6BA,CAACnB,EAAE,EAAEC,GAAG,EAAE;EAAE,IAAID,EAAE,GAAG,CAAC,EAAE;IAC1D,MAAMoB,IAAI,GAAG9B,MAAM,CAAC+B,gBAAgB,CAAC,CAAC;IACtC/B,MAAM,CAACa,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC;IACzCb,MAAM,CAACgC,UAAU,CAAC,mBAAmB,EAAE,SAASC,gEAAgEA,CAAA,EAAG;MAAEjC,MAAM,CAACkC,aAAa,CAACJ,IAAI,CAAC;MAAE,MAAMK,OAAO,GAAGnC,MAAM,CAACsB,aAAa,CAAC,CAAC;MAAE,OAAOtB,MAAM,CAACoC,WAAW,CAACD,OAAO,CAACE,gBAAgB,CAAC,CAAC,CAAC;IAAE,CAAC,CAAC;IAClPrC,MAAM,CAACsC,UAAU,CAAC,CAAC,EAAEnB,4CAA4C,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC;IAC5FnB,MAAM,CAACsC,UAAU,CAAC,CAAC,EAAEX,0CAA0C,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC;IACxF3B,MAAM,CAACsC,UAAU,CAAC,CAAC,EAAEV,oCAAoC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IAC5E5B,MAAM,CAACe,YAAY,CAAC,CAAC;EACzB;EAAE,IAAIL,EAAE,GAAG,CAAC,EAAE;IACV,MAAM6B,MAAM,GAAGvC,MAAM,CAACsB,aAAa,CAAC,CAAC;IACrCtB,MAAM,CAACwC,WAAW,CAAC,WAAW,EAAED,MAAM,CAACd,QAAQ,CAACgB,KAAK,IAAI,CAACF,MAAM,CAACG,kBAAkB,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAEH,MAAM,CAACd,QAAQ,CAACgB,KAAK,IAAI,CAACF,MAAM,CAACG,kBAAkB,CAAC,CAAC,CAAC,CAAC,YAAY,EAAEH,MAAM,CAACI,KAAK,IAAI,QAAQ,CAAC,CAAC,UAAU,EAAEJ,MAAM,CAACI,KAAK,IAAI,MAAM,CAAC;IACjP3C,MAAM,CAAC4C,UAAU,CAAC,2BAA2B,EAAEL,MAAM,CAACM,UAAU,IAAI,SAAS,CAAC,CAAC,IAAI,EAAEN,MAAM,CAACO,QAAQ,CAAC,CAAC,UAAU,EAAEP,MAAM,CAACQ,SAAS,CAAC,CAAC,CAAC;IACrI/C,MAAM,CAACgD,WAAW,CAAC,KAAK,EAAET,MAAM,CAACd,QAAQ,CAACwB,EAAE,CAAC,CAAC,WAAW,EAAEV,MAAM,CAACd,QAAQ,CAACwB,EAAE,CAAC;IAC9EjD,MAAM,CAACuB,SAAS,CAAC,CAAC,CAAC;IACnBvB,MAAM,CAAC4C,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC;IACxC5C,MAAM,CAACuB,SAAS,CAAC,CAAC,CAAC;IACnBvB,MAAM,CAAC4C,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC;IACvC5C,MAAM,CAACuB,SAAS,CAAC,CAAC,CAAC;IACnBvB,MAAM,CAAC4C,UAAU,CAAC,MAAM,EAAE,CAACL,MAAM,CAACW,kBAAkB,IAAIX,MAAM,CAACd,QAAQ,CAAC0B,QAAQ,IAAI,CAACZ,MAAM,CAACd,QAAQ,CAAC2B,QAAQ,CAAC;EAClH;AAAE;AACF,SAASC,4BAA4BA,CAAC3C,EAAE,EAAEC,GAAG,EAAE;EAAE,IAAID,EAAE,GAAG,CAAC,EAAE;IACzDV,MAAM,CAACa,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;IACnCb,MAAM,CAACkB,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IACzBlB,MAAM,CAACe,YAAY,CAAC,CAAC;EACzB;AAAE;AACF,SAASuC,4BAA4BA,CAAC5C,EAAE,EAAEC,GAAG,EAAE;EAAE,IAAID,EAAE,GAAG,CAAC,EAAE;IACzDV,MAAM,CAACa,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;IACvCb,MAAM,CAACc,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IAC/Bd,MAAM,CAACe,YAAY,CAAC,CAAC;EACzB;EAAE,IAAIL,EAAE,GAAG,CAAC,EAAE;IACV,MAAM6C,MAAM,GAAGvD,MAAM,CAACsB,aAAa,CAAC,CAAC;IACrCtB,MAAM,CAACuB,SAAS,CAAC,CAAC,CAAC;IACnBvB,MAAM,CAACwC,WAAW,CAAC,YAAY,EAAEe,MAAM,CAACZ,KAAK,IAAI,QAAQ,CAAC,CAAC,UAAU,EAAEY,MAAM,CAACZ,KAAK,IAAI,MAAM,CAAC;EAClG;AAAE;AACF,SAASa,4BAA4BA,CAAC9C,EAAE,EAAEC,GAAG,EAAE;EAAE,IAAID,EAAE,GAAG,CAAC,EAAE;IACzDV,MAAM,CAACa,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC;IAC/Bb,MAAM,CAACkB,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IACzBlB,MAAM,CAACe,YAAY,CAAC,CAAC;EACzB;EAAE,IAAIL,EAAE,GAAG,CAAC,EAAE;IACV,MAAM+C,MAAM,GAAGzD,MAAM,CAACsB,aAAa,CAAC,CAAC;IACrCtB,MAAM,CAAC4C,UAAU,CAAC,qBAAqB,EAAEa,MAAM,CAACC,wBAAwB,CAAC;EAC7E;AAAE;AACF,SAASC,kCAAkCA,CAACjD,EAAE,EAAEC,GAAG,EAAE;EAAE,IAAID,EAAE,GAAG,CAAC,EAAE;IAC/DV,MAAM,CAACa,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;IACnCb,MAAM,CAACoB,MAAM,CAAC,CAAC,CAAC;IAChBpB,MAAM,CAACe,YAAY,CAAC,CAAC;EACzB;EAAE,IAAIL,EAAE,GAAG,CAAC,EAAE;IACV,MAAMkD,OAAO,GAAG5D,MAAM,CAACsB,aAAa,CAAC,CAAC,CAAC;IACvCtB,MAAM,CAAC4C,UAAU,CAAC,IAAI,EAAEgB,OAAO,CAACC,YAAY,CAAC;IAC7C7D,MAAM,CAACuB,SAAS,CAAC,CAAC,CAAC;IACnBvB,MAAM,CAACwB,iBAAiB,CAACoC,OAAO,CAACE,SAAS,CAAC;EAC/C;AAAE;AACF,SAASC,4BAA4BA,CAACrD,EAAE,EAAEC,GAAG,EAAE;EAAE,IAAID,EAAE,GAAG,CAAC,EAAE;IACzDV,MAAM,CAACa,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;IACnCb,MAAM,CAACsC,UAAU,CAAC,CAAC,EAAEqB,kCAAkC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;IACzE3D,MAAM,CAACkB,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IACzBlB,MAAM,CAACc,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;IAC9Bd,MAAM,CAACkB,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IACzBlB,MAAM,CAACe,YAAY,CAAC,CAAC;EACzB;EAAE,IAAIL,EAAE,GAAG,CAAC,EAAE;IACV,MAAMsD,MAAM,GAAGhE,MAAM,CAACsB,aAAa,CAAC,CAAC;IACrCtB,MAAM,CAAC4C,UAAU,CAAC,qBAAqB,EAAEoB,MAAM,CAACN,wBAAwB,CAAC;IACzE1D,MAAM,CAACuB,SAAS,CAAC,CAAC,CAAC;IACnBvB,MAAM,CAAC4C,UAAU,CAAC,MAAM,EAAEoB,MAAM,CAACF,SAAS,CAAC;EAC/C;AAAE;AACF,MAAMG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/L,MAAMC,GAAG,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,6BAA6B,EAAE,uBAAuB,CAAC;AACpJ,IAAIC,YAAY,GAAG,CAAC;AACpB;AACA;AACA;AACA;AACA;AACA,MAAMC,SAAS,GAAG,IAAIpG,cAAc,CAAC,UAAU,CAAC;AAChD;AACA,MAAMqG,QAAQ,CAAC;EACXC,WAAWA,CAAA,EAAG;IACV,IAAI,CAACrB,EAAE,GAAI,aAAYkB,YAAY,EAAG,EAAC;EAC3C;AACJ;AACAE,QAAQ,CAACE,IAAI,GAAG,SAASC,gBAAgBA,CAACC,CAAC,EAAE;EAAE,OAAO,KAAKA,CAAC,IAAIJ,QAAQ,EAAE,CAAC;AAAE,CAAC;AAC9EA,QAAQ,CAACK,IAAI,GAAG,aAAc1E,MAAM,CAAC2E,iBAAiB,CAAC;EAAEC,IAAI,EAAEP,QAAQ;EAAEQ,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;EAAEC,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,CAAC;EAAEC,QAAQ,EAAE,CAAC;EAAEC,YAAY,EAAE,SAASC,qBAAqBA,CAACvE,EAAE,EAAEC,GAAG,EAAE;IAAE,IAAID,EAAE,GAAG,CAAC,EAAE;MAC5NV,MAAM,CAACgD,WAAW,CAAC,IAAI,EAAErC,GAAG,CAACsC,EAAE,CAAC;IACpC;EAAE,CAAC;EAAEiC,MAAM,EAAE;IAAEjC,EAAE,EAAE;EAAK,CAAC;EAAEkC,QAAQ,EAAE,CAACnF,MAAM,CAACoF,kBAAkB,CAAC,CAAC;IAAEC,OAAO,EAAEjB,SAAS;IAAEkB,WAAW,EAAEjB;EAAS,CAAC,CAAC,CAAC;AAAE,CAAC,CAAC;AACxHA,QAAQ,CAACkB,cAAc,GAAG;EACtBtC,EAAE,EAAE,CAAC;IAAE2B,IAAI,EAAE1G;EAAM,CAAC;AACxB,CAAC;AACD,CAAC,YAAY;EAAE,CAAC,OAAOsH,SAAS,KAAK,WAAW,IAAIA,SAAS,KAAKxF,MAAM,CAACyF,iBAAiB,CAACpB,QAAQ,EAAE,CAAC;IAC9FO,IAAI,EAAE3G,SAAS;IACfyH,IAAI,EAAE,CAAC;MACCC,QAAQ,EAAE,WAAW;MACrBC,IAAI,EAAE;QACF,OAAO,EAAE,WAAW;QACpB,MAAM,EAAE,OAAO;QACf,WAAW,EAAE;MACjB,CAAC;MACDC,SAAS,EAAE,CAAC;QAAER,OAAO,EAAEjB,SAAS;QAAEkB,WAAW,EAAEjB;MAAS,CAAC;IAC7D,CAAC;EACT,CAAC,CAAC,EAAE,YAAY;IAAE,OAAO,EAAE;EAAE,CAAC,EAAE;IAAEpB,EAAE,EAAE,CAAC;MAC/B2B,IAAI,EAAE1G;IACV,CAAC;EAAE,CAAC,CAAC;AAAE,CAAC,EAAE,CAAC;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM4H,sBAAsB,GAAG;EAC3B;EACAC,kBAAkB,EAAEtG,OAAO,CAAC,oBAAoB,EAAE;EAC9C;EACAC,KAAK,CAAC,OAAO,EAAEC,KAAK,CAAC;IAAEqG,OAAO,EAAE,CAAC;IAAEC,SAAS,EAAE;EAAiB,CAAC,CAAC,CAAC,EAClErG,UAAU,CAAC,eAAe,EAAE,CACxBD,KAAK,CAAC;IAAEqG,OAAO,EAAE,CAAC;IAAEC,SAAS,EAAE;EAAmB,CAAC,CAAC,EACpDpG,OAAO,CAAC,wCAAwC,CAAC,CACpD,CAAC,CACL;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMqG,mBAAmB,CAAC;AAE1BA,mBAAmB,CAAC3B,IAAI,GAAG,SAAS4B,2BAA2BA,CAAC1B,CAAC,EAAE;EAAE,OAAO,KAAKA,CAAC,IAAIyB,mBAAmB,EAAE,CAAC;AAAE,CAAC;AAC/GA,mBAAmB,CAACxB,IAAI,GAAG,aAAc1E,MAAM,CAAC2E,iBAAiB,CAAC;EAAEC,IAAI,EAAEsB;AAAoB,CAAC,CAAC;AAChG,CAAC,YAAY;EAAE,CAAC,OAAOV,SAAS,KAAK,WAAW,IAAIA,SAAS,KAAKxF,MAAM,CAACyF,iBAAiB,CAACS,mBAAmB,EAAE,CAAC;IACzGtB,IAAI,EAAE3G;EACV,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;AAAE,CAAC,EAAE,CAAC;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASmI,uCAAuCA,CAAA,EAAG;EAC/C,OAAOC,KAAK,CAAC,8DAA8D,CAAC;AAChF;AACA;AACA,SAASC,kCAAkCA,CAACC,KAAK,EAAE;EAC/C,OAAOF,KAAK,CAAE,2CAA0CE,KAAM,KAAI,CAAC;AACvE;AACA;AACA,SAASC,kCAAkCA,CAAA,EAAG;EAC1C,OAAOH,KAAK,CAAC,oDAAoD,CAAC;AACtE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAII,cAAc,GAAG,CAAC;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,SAAS,GAAG,IAAI1I,cAAc,CAAC,SAAS,CAAC;AAC/C;AACA,MAAM2I,OAAO,CAAC;EACVrC,WAAWA,CAAA,EAAG;IACV;IACA,IAAI,CAACiC,KAAK,GAAG,OAAO;IACpB;IACA,IAAI,CAACtD,EAAE,GAAI,YAAWwD,cAAc,EAAG,EAAC;EAC5C;AACJ;AACAE,OAAO,CAACpC,IAAI,GAAG,SAASqC,eAAeA,CAACnC,CAAC,EAAE;EAAE,OAAO,KAAKA,CAAC,IAAIkC,OAAO,EAAE,CAAC;AAAE,CAAC;AAC3EA,OAAO,CAACjC,IAAI,GAAG,aAAc1E,MAAM,CAAC2E,iBAAiB,CAAC;EAAEC,IAAI,EAAE+B,OAAO;EAAE9B,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;EAAEC,SAAS,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC;EAAEC,QAAQ,EAAE,CAAC;EAAEC,YAAY,EAAE,SAAS6B,oBAAoBA,CAACnG,EAAE,EAAEC,GAAG,EAAE;IAAE,IAAID,EAAE,GAAG,CAAC,EAAE;MACtMV,MAAM,CAACgD,WAAW,CAAC,IAAI,EAAErC,GAAG,CAACsC,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC;MAC/CjD,MAAM,CAACwC,WAAW,CAAC,yBAAyB,EAAE7B,GAAG,CAAC4F,KAAK,KAAK,KAAK,CAAC;IACtE;EAAE,CAAC;EAAErB,MAAM,EAAE;IAAEqB,KAAK,EAAE,OAAO;IAAEtD,EAAE,EAAE;EAAK,CAAC;EAAEkC,QAAQ,EAAE,CAACnF,MAAM,CAACoF,kBAAkB,CAAC,CAAC;IAAEC,OAAO,EAAEqB,SAAS;IAAEpB,WAAW,EAAEqB;EAAQ,CAAC,CAAC,CAAC;AAAE,CAAC,CAAC;AACvIA,OAAO,CAACpB,cAAc,GAAG;EACrBgB,KAAK,EAAE,CAAC;IAAE3B,IAAI,EAAE1G;EAAM,CAAC,CAAC;EACxB+E,EAAE,EAAE,CAAC;IAAE2B,IAAI,EAAE1G;EAAM,CAAC;AACxB,CAAC;AACD,CAAC,YAAY;EAAE,CAAC,OAAOsH,SAAS,KAAK,WAAW,IAAIA,SAAS,KAAKxF,MAAM,CAACyF,iBAAiB,CAACkB,OAAO,EAAE,CAAC;IAC7F/B,IAAI,EAAE3G,SAAS;IACfyH,IAAI,EAAE,CAAC;MACCC,QAAQ,EAAE,UAAU;MACpBC,IAAI,EAAE;QACF,OAAO,EAAE,UAAU;QACnB,iCAAiC,EAAE,iBAAiB;QACpD,WAAW,EAAE,IAAI;QACjB;QACA,cAAc,EAAE;MACpB,CAAC;MACDC,SAAS,EAAE,CAAC;QAAER,OAAO,EAAEqB,SAAS;QAAEpB,WAAW,EAAEqB;MAAQ,CAAC;IAC5D,CAAC;EACT,CAAC,CAAC,EAAE,YAAY;IAAE,OAAO,EAAE;EAAE,CAAC,EAAE;IAAEJ,KAAK,EAAE,CAAC;MAClC3B,IAAI,EAAE1G;IACV,CAAC,CAAC;IAAE+E,EAAE,EAAE,CAAC;MACL2B,IAAI,EAAE1G;IACV,CAAC;EAAE,CAAC,CAAC;AAAE,CAAC,EAAE,CAAC;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM4I,QAAQ,CAAC;AAEfA,QAAQ,CAACvC,IAAI,GAAG,SAASwC,gBAAgBA,CAACtC,CAAC,EAAE;EAAE,OAAO,KAAKA,CAAC,IAAIqC,QAAQ,EAAE,CAAC;AAAE,CAAC;AAC9EA,QAAQ,CAACpC,IAAI,GAAG,aAAc1E,MAAM,CAAC2E,iBAAiB,CAAC;EAAEC,IAAI,EAAEkC,QAAQ;EAAEjC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC;AAAE,CAAC,CAAC;AACtG,CAAC,YAAY;EAAE,CAAC,OAAOW,SAAS,KAAK,WAAW,IAAIA,SAAS,KAAKxF,MAAM,CAACyF,iBAAiB,CAACqB,QAAQ,EAAE,CAAC;IAC9FlC,IAAI,EAAE3G,SAAS;IACfyH,IAAI,EAAE,CAAC;MACCC,QAAQ,EAAE;IACd,CAAC;EACT,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;AAAE,CAAC,EAAE,CAAC;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMqB,cAAc,CAAC;AAErBA,cAAc,CAACzC,IAAI,GAAG,SAAS0C,sBAAsBA,CAACxC,CAAC,EAAE;EAAE,OAAO,KAAKA,CAAC,IAAIuC,cAAc,EAAE,CAAC;AAAE,CAAC;AAChGA,cAAc,CAACtC,IAAI,GAAG,aAAc1E,MAAM,CAAC2E,iBAAiB,CAAC;EAAEC,IAAI,EAAEoC,cAAc;EAAEnC,SAAS,EAAE,CAAC,CAAC,iBAAiB,CAAC;AAAE,CAAC,CAAC;AACxH,CAAC,YAAY;EAAE,CAAC,OAAOW,SAAS,KAAK,WAAW,IAAIA,SAAS,KAAKxF,MAAM,CAACyF,iBAAiB,CAACuB,cAAc,EAAE,CAAC;IACpGpC,IAAI,EAAE3G,SAAS;IACfyH,IAAI,EAAE,CAAC;MACCC,QAAQ,EAAE;IACd,CAAC;EACT,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;AAAE,CAAC,EAAE,CAAC;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMuB,UAAU,GAAG,IAAIlJ,cAAc,CAAC,WAAW,CAAC;AAClD;AACA,MAAMmJ,SAAS,CAAC;AAEhBA,SAAS,CAAC5C,IAAI,GAAG,SAAS6C,iBAAiBA,CAAC3C,CAAC,EAAE;EAAE,OAAO,KAAKA,CAAC,IAAI0C,SAAS,EAAE,CAAC;AAAE,CAAC;AACjFA,SAAS,CAACzC,IAAI,GAAG,aAAc1E,MAAM,CAAC2E,iBAAiB,CAAC;EAAEC,IAAI,EAAEuC,SAAS;EAAEtC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;EAAEM,QAAQ,EAAE,CAACnF,MAAM,CAACoF,kBAAkB,CAAC,CAAC;IAAEC,OAAO,EAAE6B,UAAU;IAAE5B,WAAW,EAAE6B;EAAU,CAAC,CAAC,CAAC;AAAE,CAAC,CAAC;AAC1M,CAAC,YAAY;EAAE,CAAC,OAAO3B,SAAS,KAAK,WAAW,IAAIA,SAAS,KAAKxF,MAAM,CAACyF,iBAAiB,CAAC0B,SAAS,EAAE,CAAC;IAC/FvC,IAAI,EAAE3G,SAAS;IACfyH,IAAI,EAAE,CAAC;MACCC,QAAQ,EAAE,aAAa;MACvBE,SAAS,EAAE,CAAC;QAAER,OAAO,EAAE6B,UAAU;QAAE5B,WAAW,EAAE6B;MAAU,CAAC;IAC/D,CAAC;EACT,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;AAAE,CAAC,EAAE,CAAC;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,UAAU,GAAG,IAAIrJ,cAAc,CAAC,WAAW,CAAC;AAClD;AACA,MAAMsJ,SAAS,CAAC;AAEhBA,SAAS,CAAC/C,IAAI,GAAG,SAASgD,iBAAiBA,CAAC9C,CAAC,EAAE;EAAE,OAAO,KAAKA,CAAC,IAAI6C,SAAS,EAAE,CAAC;AAAE,CAAC;AACjFA,SAAS,CAAC5C,IAAI,GAAG,aAAc1E,MAAM,CAAC2E,iBAAiB,CAAC;EAAEC,IAAI,EAAE0C,SAAS;EAAEzC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;EAAEM,QAAQ,EAAE,CAACnF,MAAM,CAACoF,kBAAkB,CAAC,CAAC;IAAEC,OAAO,EAAEgC,UAAU;IAAE/B,WAAW,EAAEgC;EAAU,CAAC,CAAC,CAAC;AAAE,CAAC,CAAC;AAC1M,CAAC,YAAY;EAAE,CAAC,OAAO9B,SAAS,KAAK,WAAW,IAAIA,SAAS,KAAKxF,MAAM,CAACyF,iBAAiB,CAAC6B,SAAS,EAAE,CAAC;IAC/F1C,IAAI,EAAE3G,SAAS;IACfyH,IAAI,EAAE,CAAC;MACCC,QAAQ,EAAE,aAAa;MACvBE,SAAS,EAAE,CAAC;QAAER,OAAO,EAAEgC,UAAU;QAAE/B,WAAW,EAAEgC;MAAU,CAAC;IAC/D,CAAC;EACT,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;AAAE,CAAC,EAAE,CAAC;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIE,cAAc,GAAG,CAAC;AACtB,MAAMC,kBAAkB,GAAG,IAAI;AAC/B,MAAMC,iBAAiB,GAAG,CAAC;AAC3B;AACA;AACA;AACA;AACA,MAAMC,gBAAgB,CAAC;EACnBrD,WAAWA,CAACsD,WAAW,EAAE;IACrB,IAAI,CAACA,WAAW,GAAGA,WAAW;EAClC;AACJ;AACA;AACA;AACA;AACA;AACA,MAAMC,sBAAsB,GAAG9I,UAAU,CAAC4I,gBAAgB,EAAE,SAAS,CAAC;AACtE;AACA;AACA;AACA;AACA,MAAMG,8BAA8B,GAAG,IAAI9J,cAAc,CAAC,gCAAgC,CAAC;AAC3F;AACA;AACA;AACA;AACA;AACA,MAAM+J,cAAc,GAAG,IAAI/J,cAAc,CAAC,cAAc,CAAC;AACzD;AACA,MAAMgK,YAAY,SAASH,sBAAsB,CAAC;EAC9CvD,WAAWA,CAACsD,WAAW,EAAEK,kBAAkB;EAC3C;AACJ;AACA;AACA;EACI;EACAC,aAAa,EAAEC,IAAI,EAAEC,SAAS,EAAEC,SAAS,EAAEC,OAAO,EAAEC,cAAc,EAAE;IAChE,KAAK,CAACX,WAAW,CAAC;IAClB,IAAI,CAACA,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACK,kBAAkB,GAAGA,kBAAkB;IAC5C,IAAI,CAACE,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB;AACR;AACA;AACA;IACQ,IAAI,CAACE,uCAAuC,GAAG,KAAK;IACpD;IACA,IAAI,CAACC,oCAAoC,GAAG,KAAK;IACjD,IAAI,CAACC,UAAU,GAAG,IAAIvJ,OAAO,CAAC,CAAC;IAC/B;IACA,IAAI,CAACwJ,kBAAkB,GAAG,KAAK;IAC/B;IACA,IAAI,CAACjF,wBAAwB,GAAG,EAAE;IAClC,IAAI,CAACkF,UAAU,GAAG,EAAE;IACpB;IACA,IAAI,CAAC/E,YAAY,GAAI,YAAW2D,cAAc,EAAG,EAAC;IAClD;IACA,IAAI,CAAC1E,QAAQ,GAAI,wBAAuB0E,cAAc,EAAG,EAAC;IAC1D,IAAI,CAACqB,UAAU,GAAG,IAAI,CAACC,0BAA0B,CAAC,CAAC;IACnD,IAAI,CAACC,kBAAkB,GAAGR,cAAc,KAAK,gBAAgB;IAC7D;IACA,IAAI,CAAC1F,UAAU,GAAIuF,SAAS,IAAIA,SAAS,CAACvF,UAAU,GAAIuF,SAAS,CAACvF,UAAU,GAAG,QAAQ;IACvF,IAAI,CAACmG,mBAAmB,GAAIZ,SAAS,IAAIA,SAAS,CAAClF,kBAAkB,IAAI,IAAI,GACzEkF,SAAS,CAAClF,kBAAkB,GAAG,KAAK;EAC5C;EACA;EACA,IAAIL,UAAUA,CAAA,EAAG;IAAE,OAAO,IAAI,CAACoG,WAAW;EAAE;EAC5C,IAAIpG,UAAUA,CAACqG,KAAK,EAAE;IAClB,MAAMC,QAAQ,GAAG,IAAI,CAACF,WAAW;IACjC,IAAI,CAACA,WAAW,GAAGC,KAAK,IAAK,IAAI,CAACd,SAAS,IAAI,IAAI,CAACA,SAAS,CAACvF,UAAW,IAAI,QAAQ;IACrF,IAAI,IAAI,CAACoG,WAAW,KAAK,SAAS,IAAIE,QAAQ,KAAKD,KAAK,EAAE;MACtD,IAAI,CAACT,oCAAoC,GAAG,IAAI;IACpD;EACJ;EACA;EACA,IAAIvF,kBAAkBA,CAAA,EAAG;IAAE,OAAO,IAAI,CAAC8F,mBAAmB;EAAE;EAC5D,IAAI9F,kBAAkBA,CAACgG,KAAK,EAAE;IAC1B,IAAI,CAACF,mBAAmB,GAAG9J,qBAAqB,CAACgK,KAAK,CAAC;EAC3D;EACA;EACAxG,kBAAkBA,CAAA,EAAG;IACjB,OAAO,IAAI,CAACmG,UAAU,KAAK,QAAQ,IAAI,CAAC,IAAI,CAACF,kBAAkB;EACnE;EACA;EACAS,cAAcA,CAAA,EAAG;IAAE,OAAO,IAAI,CAACP,UAAU,KAAK,OAAO;EAAE;EACvD;EACA,IAAI/E,SAASA,CAAA,EAAG;IAAE,OAAO,IAAI,CAAC8E,UAAU;EAAE;EAC1C,IAAI9E,SAASA,CAACoF,KAAK,EAAE;IACjB,IAAI,CAACN,UAAU,GAAGM,KAAK;IACvB,IAAI,CAACG,aAAa,CAAC,CAAC;EACxB;EACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EACI,IAAIR,UAAUA,CAAA,EAAG;IACb,OAAO,IAAI,CAAChG,UAAU,KAAK,QAAQ,IAAI,IAAI,CAACyG,WAAW,KAAK,OAAO,GAAG,MAAM,GAAG,IAAI,CAACA,WAAW;EACnG;EACA,IAAIT,UAAUA,CAACK,KAAK,EAAE;IAClB,IAAIA,KAAK,KAAK,IAAI,CAACI,WAAW,EAAE;MAC5B,IAAI,CAACA,WAAW,GAAGJ,KAAK,IAAI,IAAI,CAACJ,0BAA0B,CAAC,CAAC;MAC7D,IAAI,CAACb,kBAAkB,CAACsB,YAAY,CAAC,CAAC;IAC1C;EACJ;EACA,IAAI9H,QAAQA,CAAA,EAAG;IACX;IACA;IACA,OAAO,IAAI,CAAC+H,yBAAyB,IAAI,IAAI,CAACC,iBAAiB,IAAI,IAAI,CAACC,cAAc;EAC1F;EACA,IAAIjI,QAAQA,CAACyH,KAAK,EAAE;IAChB,IAAI,CAACM,yBAAyB,GAAGN,KAAK;EAC1C;EACA;AACJ;AACA;EACIS,UAAUA,CAAA,EAAG;IACT,OAAO,IAAI,CAACC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC9G,QAAQ,GAAG,IAAI;EAC1D;EACA;AACJ;AACA;AACA;EACI+G,yBAAyBA,CAAA,EAAG;IACxB,OAAO,IAAI,CAACC,uBAAuB,IAAI,IAAI,CAAClC,WAAW;EAC3D;EACAmC,kBAAkBA,CAAA,EAAG;IACjB,IAAI,CAACC,qBAAqB,CAAC,CAAC;IAC5B,MAAMC,OAAO,GAAG,IAAI,CAACxI,QAAQ;IAC7B,IAAIwI,OAAO,CAACC,WAAW,EAAE;MACrB,IAAI,CAACtC,WAAW,CAACuC,aAAa,CAACC,SAAS,CAACC,GAAG,CAAE,uBAAsBJ,OAAO,CAACC,WAAY,EAAC,CAAC;IAC9F;IACA;IACAD,OAAO,CAACK,YAAY,CAACC,IAAI,CAACjL,SAAS,CAAC,IAAI,CAAC,CAAC,CAACkL,SAAS,CAAC,MAAM;MACvD,IAAI,CAACC,qBAAqB,CAAC,CAAC;MAC5B,IAAI,CAACC,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACzC,kBAAkB,CAACsB,YAAY,CAAC,CAAC;IAC1C,CAAC,CAAC;IACF;IACA,IAAIU,OAAO,CAACU,SAAS,IAAIV,OAAO,CAACU,SAAS,CAACC,YAAY,EAAE;MACrDX,OAAO,CAACU,SAAS,CAACC,YAAY,CACzBL,IAAI,CAAChL,SAAS,CAAC,IAAI,CAACmJ,UAAU,CAAC,CAAC,CAChC8B,SAAS,CAAC,MAAM,IAAI,CAACvC,kBAAkB,CAACsB,YAAY,CAAC,CAAC,CAAC;IAChE;IACA;IACA;IACA;IACA,IAAI,CAACjB,OAAO,CAACuC,iBAAiB,CAAC,MAAM;MACjC,IAAI,CAACvC,OAAO,CAACwC,QAAQ,CAACP,IAAI,CAAChL,SAAS,CAAC,IAAI,CAACmJ,UAAU,CAAC,CAAC,CAAC8B,SAAS,CAAC,MAAM;QACnE,IAAI,IAAI,CAAC/B,oCAAoC,EAAE;UAC3C,IAAI,CAACpG,gBAAgB,CAAC,CAAC;QAC3B;MACJ,CAAC,CAAC;IACN,CAAC,CAAC;IACF;IACAjD,KAAK,CAAC,IAAI,CAAC2L,eAAe,CAACC,OAAO,EAAE,IAAI,CAACC,eAAe,CAACD,OAAO,CAAC,CAACR,SAAS,CAAC,MAAM;MAC9E,IAAI,CAAC/B,oCAAoC,GAAG,IAAI;MAChD,IAAI,CAACR,kBAAkB,CAACsB,YAAY,CAAC,CAAC;IAC1C,CAAC,CAAC;IACF;IACA,IAAI,CAAC2B,aAAa,CAACF,OAAO,CAACT,IAAI,CAACjL,SAAS,CAAC,IAAI,CAAC,CAAC,CAACkL,SAAS,CAAC,MAAM;MAC7D,IAAI,CAACnB,aAAa,CAAC,CAAC;MACpB,IAAI,CAACpB,kBAAkB,CAACsB,YAAY,CAAC,CAAC;IAC1C,CAAC,CAAC;IACF;IACA,IAAI,CAAC4B,cAAc,CAACH,OAAO,CAACT,IAAI,CAACjL,SAAS,CAAC,IAAI,CAAC,CAAC,CAACkL,SAAS,CAAC,MAAM;MAC9D,IAAI,CAACE,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACzC,kBAAkB,CAACsB,YAAY,CAAC,CAAC;IAC1C,CAAC,CAAC;IACF,IAAI,IAAI,CAACpB,IAAI,EAAE;MACX,IAAI,CAACA,IAAI,CAACiD,MAAM,CAACb,IAAI,CAAChL,SAAS,CAAC,IAAI,CAACmJ,UAAU,CAAC,CAAC,CAAC8B,SAAS,CAAC,MAAM;QAC9D,IAAI,OAAOa,qBAAqB,KAAK,UAAU,EAAE;UAC7C,IAAI,CAAC/C,OAAO,CAACuC,iBAAiB,CAAC,MAAM;YACjCQ,qBAAqB,CAAC,MAAM,IAAI,CAAChJ,gBAAgB,CAAC,CAAC,CAAC;UACxD,CAAC,CAAC;QACN,CAAC,MACI;UACD,IAAI,CAACA,gBAAgB,CAAC,CAAC;QAC3B;MACJ,CAAC,CAAC;IACN;EACJ;EACAiJ,qBAAqBA,CAAA,EAAG;IACpB,IAAI,CAACtB,qBAAqB,CAAC,CAAC;IAC5B,IAAI,IAAI,CAACxB,uCAAuC,EAAE;MAC9C,IAAI,CAACnG,gBAAgB,CAAC,CAAC;IAC3B;EACJ;EACAkJ,eAAeA,CAAA,EAAG;IACd;IACA,IAAI,CAAC7H,wBAAwB,GAAG,OAAO;IACvC,IAAI,CAACuE,kBAAkB,CAACuD,aAAa,CAAC,CAAC;EAC3C;EACAC,WAAWA,CAAA,EAAG;IACV,IAAI,CAAC/C,UAAU,CAACgD,IAAI,CAAC,CAAC;IACtB,IAAI,CAAChD,UAAU,CAACiD,QAAQ,CAAC,CAAC;EAC9B;EACA;EACAC,cAAcA,CAACC,IAAI,EAAE;IACjB,MAAMlB,SAAS,GAAG,IAAI,CAAClJ,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACkJ,SAAS,GAAG,IAAI;IAChE,OAAOA,SAAS,IAAIA,SAAS,CAACkB,IAAI,CAAC;EACvC;EACAC,eAAeA,CAAA,EAAG;IACd,OAAO,CAAC,EAAE,IAAI,CAACrK,QAAQ,IAAI,IAAI,CAACA,QAAQ,CAACC,WAAW,IAAI,IAAI,CAACqK,iBAAiB,CAAC;EACnF;EACAhJ,SAASA,CAAA,EAAG;IACR,OAAO,CAAC,EAAE,IAAI,CAACiJ,oBAAoB,IAAI,IAAI,CAACC,iBAAiB,CAAC;EAClE;EACAC,iBAAiBA,CAAA,EAAG;IAChB,OAAO,IAAI,CAAC9C,cAAc,CAAC,CAAC,KACtB,IAAI,CAAC3H,QAAQ,IAAI,IAAI,CAACA,QAAQ,CAAC0K,gBAAgB,IAAK,IAAI,CAACzJ,kBAAkB,CAAC,CAAC,CAAC;EACxF;EACA0J,uBAAuBA,CAAA,EAAG;IACtB;IACA,OAAO,IAAI,CAACvJ,UAAU,KAAK,QAAQ,IAAI,CAAC,IAAI,CAACE,SAAS,CAAC,CAAC,IACpD,IAAI,CAACA,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAACmJ,iBAAiB,CAAC,CAAC;EACrD;EACAtC,iBAAiBA,CAAA,EAAG;IAChB;IACA,OAAO,IAAI,CAAC7G,SAAS,CAAC,CAAC,IAAI,IAAI,CAACF,UAAU,KAAK,QAAQ,IAAI,IAAI,CAACiJ,eAAe,CAAC,CAAC;EACrF;EACA;EACAO,qBAAqBA,CAAA,EAAG;IACpB,OAAQ,IAAI,CAAClB,cAAc,IAAI,IAAI,CAACA,cAAc,CAACmB,MAAM,GAAG,CAAC,IACzD,IAAI,CAAC7K,QAAQ,CAAC8K,UAAU,GAAI,OAAO,GAAG,MAAM;EACpD;EACA;EACAC,oBAAoBA,CAAA,EAAG;IACnB,IAAI,IAAI,CAAC5C,iBAAiB,CAAC,CAAC,IAAI,IAAI,CAACR,cAAc,CAAC,CAAC,EAAE;MACnD;MACA;MACA,IAAI,IAAI,CAACL,kBAAkB,IAAI,IAAI,CAAC0D,MAAM,EAAE;QACxC,IAAI,CAAC9D,kBAAkB,GAAG,IAAI;QAC9BtJ,SAAS,CAAC,IAAI,CAACoN,MAAM,CAACtC,aAAa,EAAE,eAAe,CAAC,CAACI,IAAI,CAAC/K,IAAI,CAAC,CAAC,CAAC,CAAC,CAACgL,SAAS,CAAC,MAAM;UAChF,IAAI,CAAC7B,kBAAkB,GAAG,KAAK;QACnC,CAAC,CAAC;MACN;MACA,IAAI,CAACE,UAAU,GAAG,QAAQ;MAC1B,IAAI,CAACZ,kBAAkB,CAACsB,YAAY,CAAC,CAAC;IAC1C;EACJ;EACA;AACJ;AACA;AACA;EACIkB,qBAAqBA,CAAA,EAAG;IACpB,IAAI,IAAI,CAAChJ,QAAQ,CAACC,WAAW,IAAI,IAAI,CAACqK,iBAAiB,KAClD,OAAOvG,SAAS,KAAK,WAAW,IAAIA,SAAS,CAAC,EAAE;MACjD,MAAMY,uCAAuC,CAAC,CAAC;IACnD;EACJ;EACA;EACAiD,aAAaA,CAAA,EAAG;IACZ,IAAI,CAACqD,cAAc,CAAC,CAAC;IACrB,IAAI,CAAChC,mBAAmB,CAAC,CAAC;EAC9B;EACA;AACJ;AACA;AACA;EACIgC,cAAcA,CAAA,EAAG;IACb,IAAI,IAAI,CAACxB,aAAa,KAAK,OAAO1F,SAAS,KAAK,WAAW,IAAIA,SAAS,CAAC,EAAE;MACvE,IAAImH,SAAS;MACb,IAAIC,OAAO;MACX,IAAI,CAAC1B,aAAa,CAAC2B,OAAO,CAAEC,IAAI,IAAK;QACjC,IAAIA,IAAI,CAACvG,KAAK,KAAK,OAAO,EAAE;UACxB,IAAIoG,SAAS,IAAI,IAAI,CAAC7I,SAAS,EAAE;YAC7B,MAAMwC,kCAAkC,CAAC,OAAO,CAAC;UACrD;UACAqG,SAAS,GAAGG,IAAI;QACpB,CAAC,MACI,IAAIA,IAAI,CAACvG,KAAK,KAAK,KAAK,EAAE;UAC3B,IAAIqG,OAAO,EAAE;YACT,MAAMtG,kCAAkC,CAAC,KAAK,CAAC;UACnD;UACAsG,OAAO,GAAGE,IAAI;QAClB;MACJ,CAAC,CAAC;IACN;EACJ;EACA;EACAhE,0BAA0BA,CAAA,EAAG;IACzB,OAAQ,IAAI,CAACV,SAAS,IAAI,IAAI,CAACA,SAAS,CAACS,UAAU,IAAK,MAAM;EAClE;EACA;AACJ;AACA;AACA;EACI6B,mBAAmBA,CAAA,EAAG;IAClB,IAAI,IAAI,CAACjJ,QAAQ,EAAE;MACf,IAAIsL,GAAG,GAAG,EAAE;MACZ;MACA,IAAI,IAAI,CAACtL,QAAQ,CAACuL,mBAAmB,IACjC,OAAO,IAAI,CAACvL,QAAQ,CAACuL,mBAAmB,KAAK,QAAQ,EAAE;QACvDD,GAAG,CAACE,IAAI,CAAC,GAAG,IAAI,CAACxL,QAAQ,CAACuL,mBAAmB,CAACE,KAAK,CAAC,GAAG,CAAC,CAAC;MAC7D;MACA,IAAI,IAAI,CAACb,qBAAqB,CAAC,CAAC,KAAK,MAAM,EAAE;QACzC,MAAMM,SAAS,GAAG,IAAI,CAACzB,aAAa,GAChC,IAAI,CAACA,aAAa,CAACiC,IAAI,CAACL,IAAI,IAAIA,IAAI,CAACvG,KAAK,KAAK,OAAO,CAAC,GAAG,IAAI;QAClE,MAAMqG,OAAO,GAAG,IAAI,CAAC1B,aAAa,GAC9B,IAAI,CAACA,aAAa,CAACiC,IAAI,CAACL,IAAI,IAAIA,IAAI,CAACvG,KAAK,KAAK,KAAK,CAAC,GAAG,IAAI;QAChE,IAAIoG,SAAS,EAAE;UACXI,GAAG,CAACE,IAAI,CAACN,SAAS,CAAC1J,EAAE,CAAC;QAC1B,CAAC,MACI,IAAI,IAAI,CAAC2F,UAAU,EAAE;UACtBmE,GAAG,CAACE,IAAI,CAAC,IAAI,CAACpJ,YAAY,CAAC;QAC/B;QACA,IAAI+I,OAAO,EAAE;UACTG,GAAG,CAACE,IAAI,CAACL,OAAO,CAAC3J,EAAE,CAAC;QACxB;MACJ,CAAC,MACI,IAAI,IAAI,CAACkI,cAAc,EAAE;QAC1B4B,GAAG,CAACE,IAAI,CAAC,GAAG,IAAI,CAAC9B,cAAc,CAACiC,GAAG,CAACC,KAAK,IAAIA,KAAK,CAACpK,EAAE,CAAC,CAAC;MAC3D;MACA,IAAI,CAACxB,QAAQ,CAAC6L,iBAAiB,CAACP,GAAG,CAAC;IACxC;EACJ;EACA;EACA/C,qBAAqBA,CAAA,EAAG;IACpB,IAAI,CAAC,IAAI,CAACvI,QAAQ,KAAK,OAAO+D,SAAS,KAAK,WAAW,IAAIA,SAAS,CAAC,EAAE;MACnE,MAAMgB,kCAAkC,CAAC,CAAC;IAC9C;EACJ;EACA;AACJ;AACA;AACA;EACInE,gBAAgBA,CAAA,EAAG;IACf,MAAMkL,OAAO,GAAG,IAAI,CAACd,MAAM,GAAG,IAAI,CAACA,MAAM,CAACtC,aAAa,GAAG,IAAI;IAC9D,IAAI,IAAI,CAACtH,UAAU,KAAK,SAAS,IAAI,CAAC0K,OAAO,IAAI,CAACA,OAAO,CAACC,QAAQ,CAAClB,MAAM,IACrE,CAACiB,OAAO,CAACE,WAAW,CAACC,IAAI,CAAC,CAAC,EAAE;MAC7B;IACJ;IACA,IAAI,CAAC,IAAI,CAACrF,SAAS,CAACsF,SAAS,EAAE;MAC3B;MACA;IACJ;IACA;IACA;IACA,IAAI,CAAC,IAAI,CAACC,gBAAgB,CAAC,CAAC,EAAE;MAC1B,IAAI,CAACpF,uCAAuC,GAAG,IAAI;MACnD;IACJ;IACA,IAAIqF,UAAU,GAAG,CAAC;IAClB,IAAIC,QAAQ,GAAG,CAAC;IAChB,MAAMC,SAAS,GAAG,IAAI,CAACjE,uBAAuB,CAACK,aAAa;IAC5D,MAAM6D,QAAQ,GAAGD,SAAS,CAACE,gBAAgB,CAAC,+BAA+B,CAAC;IAC5E,MAAMC,MAAM,GAAGH,SAAS,CAACE,gBAAgB,CAAC,6BAA6B,CAAC;IACxE,IAAI,IAAI,CAACxB,MAAM,IAAI,IAAI,CAACA,MAAM,CAACtC,aAAa,CAACqD,QAAQ,CAAClB,MAAM,EAAE;MAC1D,MAAM6B,aAAa,GAAGJ,SAAS,CAACK,qBAAqB,CAAC,CAAC;MACvD;MACA;MACA;MACA;MACA;MACA;MACA,IAAID,aAAa,CAACE,KAAK,KAAK,CAAC,IAAIF,aAAa,CAACG,MAAM,KAAK,CAAC,EAAE;QACzD,IAAI,CAAC7F,oCAAoC,GAAG,IAAI;QAChD,IAAI,CAACD,uCAAuC,GAAG,KAAK;QACpD;MACJ;MACA,MAAM+F,cAAc,GAAG,IAAI,CAACC,YAAY,CAACL,aAAa,CAAC;MACvD,MAAMM,aAAa,GAAGlB,OAAO,CAACC,QAAQ;MACtC,MAAMkB,UAAU,GAAG,IAAI,CAACF,YAAY,CAACC,aAAa,CAAC,CAAC,CAAC,CAACL,qBAAqB,CAAC,CAAC,CAAC;MAC9E,IAAIO,UAAU,GAAG,CAAC;MAClB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,aAAa,CAACnC,MAAM,EAAEsC,CAAC,EAAE,EAAE;QAC3CD,UAAU,IAAIF,aAAa,CAACG,CAAC,CAAC,CAACC,WAAW;MAC9C;MACAhB,UAAU,GAAGiB,IAAI,CAACC,GAAG,CAACL,UAAU,GAAGH,cAAc,CAAC,GAAG7G,iBAAiB;MACtEoG,QAAQ,GAAGa,UAAU,GAAG,CAAC,GAAGA,UAAU,GAAGlH,kBAAkB,GAAGC,iBAAiB,GAAG,CAAC,GAAG,CAAC;IAC3F;IACA,KAAK,IAAIkH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGZ,QAAQ,CAAC1B,MAAM,EAAEsC,CAAC,EAAE,EAAE;MACtCZ,QAAQ,CAACY,CAAC,CAAC,CAACjP,KAAK,CAAC0O,KAAK,GAAI,GAAER,UAAW,IAAG;IAC/C;IACA,KAAK,IAAIe,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGV,MAAM,CAAC5B,MAAM,EAAEsC,CAAC,EAAE,EAAE;MACpCV,MAAM,CAACU,CAAC,CAAC,CAACjP,KAAK,CAAC0O,KAAK,GAAI,GAAEP,QAAS,IAAG;IAC3C;IACA,IAAI,CAACrF,oCAAoC,GACrC,IAAI,CAACD,uCAAuC,GAAG,KAAK;EAC5D;EACA;EACAgG,YAAYA,CAACQ,IAAI,EAAE;IACf,OAAQ,IAAI,CAAC7G,IAAI,IAAI,IAAI,CAACA,IAAI,CAACe,KAAK,KAAK,KAAK,GAAI8F,IAAI,CAACC,KAAK,GAAGD,IAAI,CAACE,IAAI;EAC5E;EACA;EACAtB,gBAAgBA,CAAA,EAAG;IACf,MAAMuB,OAAO,GAAG,IAAI,CAACvH,WAAW,CAACuC,aAAa;IAC9C,IAAIgF,OAAO,CAACC,WAAW,EAAE;MACrB,MAAMC,QAAQ,GAAGF,OAAO,CAACC,WAAW,CAAC,CAAC;MACtC;MACA;MACA,OAAOC,QAAQ,IAAIA,QAAQ,KAAKF,OAAO;IAC3C;IACA;IACA;IACA,OAAOG,QAAQ,CAACC,eAAe,CAACC,QAAQ,CAACL,OAAO,CAAC;EACrD;AACJ;AACAnH,YAAY,CAACzD,IAAI,GAAG,SAASkL,oBAAoBA,CAAChL,CAAC,EAAE;EAAE,OAAO,KAAKA,CAAC,IAAIuD,YAAY,EAAEhI,MAAM,CAAC0P,iBAAiB,CAAC1P,MAAM,CAAC1B,UAAU,CAAC,EAAE0B,MAAM,CAAC0P,iBAAiB,CAAC1P,MAAM,CAACzB,iBAAiB,CAAC,EAAEyB,MAAM,CAAC0P,iBAAiB,CAACpR,UAAU,CAAC,EAAE0B,MAAM,CAAC0P,iBAAiB,CAACzP,MAAM,CAAChB,cAAc,EAAE,CAAC,CAAC,EAAEe,MAAM,CAAC0P,iBAAiB,CAAC5H,8BAA8B,EAAE,CAAC,CAAC,EAAE9H,MAAM,CAAC0P,iBAAiB,CAACxP,MAAM,CAACJ,QAAQ,CAAC,EAAEE,MAAM,CAAC0P,iBAAiB,CAAC1P,MAAM,CAACtB,MAAM,CAAC,EAAEsB,MAAM,CAAC0P,iBAAiB,CAAC3P,qBAAqB,EAAE,CAAC,CAAC,CAAC;AAAE,CAAC;AACxdiI,YAAY,CAAC2H,IAAI,GAAG,aAAc3P,MAAM,CAAC4P,iBAAiB,CAAC;EAAEhL,IAAI,EAAEoD,YAAY;EAAEnD,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC;EAAEgL,cAAc,EAAE,SAASC,2BAA2BA,CAACpP,EAAE,EAAEC,GAAG,EAAEoP,QAAQ,EAAE;IAAE,IAAIrP,EAAE,GAAG,CAAC,EAAE;MAChMV,MAAM,CAACgQ,cAAc,CAACD,QAAQ,EAAE7J,mBAAmB,EAAE,CAAC,CAAC;MACvDlG,MAAM,CAACgQ,cAAc,CAACD,QAAQ,EAAE7J,mBAAmB,EAAE,CAAC,CAAC;MACvDlG,MAAM,CAACgQ,cAAc,CAACD,QAAQ,EAAEjJ,QAAQ,EAAE,CAAC,CAAC;MAC5C9G,MAAM,CAACgQ,cAAc,CAACD,QAAQ,EAAEjJ,QAAQ,EAAE,CAAC,CAAC;MAC5C9G,MAAM,CAACgQ,cAAc,CAACD,QAAQ,EAAE/I,cAAc,EAAE,CAAC,CAAC;MAClDhH,MAAM,CAACgQ,cAAc,CAACD,QAAQ,EAAE3L,SAAS,EAAE,CAAC,CAAC;MAC7CpE,MAAM,CAACgQ,cAAc,CAACD,QAAQ,EAAErJ,SAAS,EAAE,CAAC,CAAC;MAC7C1G,MAAM,CAACgQ,cAAc,CAACD,QAAQ,EAAE7I,UAAU,EAAE,CAAC,CAAC;MAC9ClH,MAAM,CAACgQ,cAAc,CAACD,QAAQ,EAAE1I,UAAU,EAAE,CAAC,CAAC;IAClD;IAAE,IAAI3G,EAAE,GAAG,CAAC,EAAE;MACV,IAAIuP,EAAE;MACNjQ,MAAM,CAACkQ,cAAc,CAACD,EAAE,GAAGjQ,MAAM,CAACmQ,WAAW,CAAC,CAAC,CAAC,KAAKxP,GAAG,CAAC8I,iBAAiB,GAAGwG,EAAE,CAACG,KAAK,CAAC;MACtFpQ,MAAM,CAACkQ,cAAc,CAACD,EAAE,GAAGjQ,MAAM,CAACmQ,WAAW,CAAC,CAAC,CAAC,KAAKxP,GAAG,CAAC+I,cAAc,GAAGuG,EAAE,CAACG,KAAK,CAAC;MACnFpQ,MAAM,CAACkQ,cAAc,CAACD,EAAE,GAAGjQ,MAAM,CAACmQ,WAAW,CAAC,CAAC,CAAC,KAAKxP,GAAG,CAACqL,oBAAoB,GAAGiE,EAAE,CAACG,KAAK,CAAC;MACzFpQ,MAAM,CAACkQ,cAAc,CAACD,EAAE,GAAGjQ,MAAM,CAACmQ,WAAW,CAAC,CAAC,CAAC,KAAKxP,GAAG,CAACsL,iBAAiB,GAAGgE,EAAE,CAACG,KAAK,CAAC;MACtFpQ,MAAM,CAACkQ,cAAc,CAACD,EAAE,GAAGjQ,MAAM,CAACmQ,WAAW,CAAC,CAAC,CAAC,KAAKxP,GAAG,CAACoL,iBAAiB,GAAGkE,EAAE,CAACG,KAAK,CAAC;MACtFpQ,MAAM,CAACkQ,cAAc,CAACD,EAAE,GAAGjQ,MAAM,CAACmQ,WAAW,CAAC,CAAC,CAAC,KAAKxP,GAAG,CAACwK,cAAc,GAAG8E,EAAE,CAAC;MAC7EjQ,MAAM,CAACkQ,cAAc,CAACD,EAAE,GAAGjQ,MAAM,CAACmQ,WAAW,CAAC,CAAC,CAAC,KAAKxP,GAAG,CAACuK,aAAa,GAAG+E,EAAE,CAAC;MAC5EjQ,MAAM,CAACkQ,cAAc,CAACD,EAAE,GAAGjQ,MAAM,CAACmQ,WAAW,CAAC,CAAC,CAAC,KAAKxP,GAAG,CAACoK,eAAe,GAAGkF,EAAE,CAAC;MAC9EjQ,MAAM,CAACkQ,cAAc,CAACD,EAAE,GAAGjQ,MAAM,CAACmQ,WAAW,CAAC,CAAC,CAAC,KAAKxP,GAAG,CAACsK,eAAe,GAAGgF,EAAE,CAAC;IAClF;EAAE,CAAC;EAAEI,SAAS,EAAE,SAASC,kBAAkBA,CAAC5P,EAAE,EAAEC,GAAG,EAAE;IAAE,IAAID,EAAE,GAAG,CAAC,EAAE;MAC/DV,MAAM,CAACuQ,WAAW,CAAClQ,GAAG,EAAE,CAAC,CAAC;MAC1BL,MAAM,CAACuQ,WAAW,CAACjQ,GAAG,EAAE,CAAC,CAAC;MAC1BN,MAAM,CAACuQ,WAAW,CAAChQ,GAAG,EAAE,CAAC,CAAC;MAC1BP,MAAM,CAACuQ,WAAW,CAAC/P,GAAG,EAAE,CAAC,CAAC;IAC9B;IAAE,IAAIE,EAAE,GAAG,CAAC,EAAE;MACV,IAAIuP,EAAE;MACNjQ,MAAM,CAACkQ,cAAc,CAACD,EAAE,GAAGjQ,MAAM,CAACmQ,WAAW,CAAC,CAAC,CAAC,KAAKxP,GAAG,CAAC6P,YAAY,GAAGP,EAAE,CAACG,KAAK,CAAC;MACjFpQ,MAAM,CAACkQ,cAAc,CAACD,EAAE,GAAGjQ,MAAM,CAACmQ,WAAW,CAAC,CAAC,CAAC,KAAKxP,GAAG,CAACmJ,uBAAuB,GAAGmG,EAAE,CAACG,KAAK,CAAC;MAC5FpQ,MAAM,CAACkQ,cAAc,CAACD,EAAE,GAAGjQ,MAAM,CAACmQ,WAAW,CAAC,CAAC,CAAC,KAAKxP,GAAG,CAAC8P,kBAAkB,GAAGR,EAAE,CAACG,KAAK,CAAC;MACvFpQ,MAAM,CAACkQ,cAAc,CAACD,EAAE,GAAGjQ,MAAM,CAACmQ,WAAW,CAAC,CAAC,CAAC,KAAKxP,GAAG,CAAC8L,MAAM,GAAGwD,EAAE,CAACG,KAAK,CAAC;IAC/E;EAAE,CAAC;EAAEtL,SAAS,EAAE,CAAC,CAAC,EAAE,gBAAgB,CAAC;EAAEC,QAAQ,EAAE,EAAE;EAAEC,YAAY,EAAE,SAAS0L,yBAAyBA,CAAChQ,EAAE,EAAEC,GAAG,EAAE;IAAE,IAAID,EAAE,GAAG,CAAC,EAAE;MACzHV,MAAM,CAACwC,WAAW,CAAC,oCAAoC,EAAE7B,GAAG,CAACkC,UAAU,IAAI,UAAU,CAAC,CAAC,gCAAgC,EAAElC,GAAG,CAACkC,UAAU,IAAI,MAAM,CAAC,CAAC,mCAAmC,EAAElC,GAAG,CAACkC,UAAU,IAAI,SAAS,CAAC,CAAC,kCAAkC,EAAElC,GAAG,CAACkC,UAAU,IAAI,QAAQ,CAAC,CAAC,wBAAwB,EAAElC,GAAG,CAACc,QAAQ,CAAC8K,UAAU,CAAC,CAAC,0BAA0B,EAAE5L,GAAG,CAACyI,cAAc,CAAC,CAAC,CAAC,CAAC,6BAA6B,EAAEzI,GAAG,CAACuL,iBAAiB,CAAC,CAAC,CAAC,CAAC,0BAA0B,EAAEvL,GAAG,CAACiJ,iBAAiB,CAAC,CAAC,CAAC,CAAC,iCAAiC,EAAEjJ,GAAG,CAACyL,uBAAuB,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAEzL,GAAG,CAACc,QAAQ,CAAC2B,QAAQ,CAAC,CAAC,2BAA2B,EAAEzC,GAAG,CAACc,QAAQ,CAACkP,UAAU,CAAC,CAAC,aAAa,EAAEhQ,GAAG,CAACc,QAAQ,CAACmP,OAAO,CAAC,CAAC,cAAc,EAAEjQ,GAAG,CAACiL,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,EAAEjL,GAAG,CAACiL,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAEjL,GAAG,CAACiL,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAEjL,GAAG,CAACiL,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAEjL,GAAG,CAACiL,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAEjL,GAAG,CAACiL,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,EAAEjL,GAAG,CAACiL,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAACjL,GAAG,CAACoI,kBAAkB,CAAC;IACtiC;EAAE,CAAC;EAAE7D,MAAM,EAAE;IAAEvC,KAAK,EAAE,OAAO;IAAEkG,UAAU,EAAE,YAAY;IAAEhG,UAAU,EAAE,YAAY;IAAEK,kBAAkB,EAAE,oBAAoB;IAAEY,SAAS,EAAE;EAAY,CAAC;EAAE+M,QAAQ,EAAE,CAAC,cAAc,CAAC;EAAE1L,QAAQ,EAAE,CAACnF,MAAM,CAACoF,kBAAkB,CAAC,CAChN;IAAEC,OAAO,EAAE0C,cAAc;IAAEzC,WAAW,EAAE0C;EAAa,CAAC,CACzD,CAAC,EAAEhI,MAAM,CAAC8Q,0BAA0B,CAAC;EAAEC,kBAAkB,EAAE7M,GAAG;EAAE8M,KAAK,EAAE,EAAE;EAAEC,IAAI,EAAE,CAAC;EAAEC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,wBAAwB,CAAC,EAAE,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,qBAAqB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,sBAAsB,CAAC,EAAE,CAAC,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,8BAA8B,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,EAAE,CAAC,EAAE,2BAA2B,EAAE,IAAI,EAAE,WAAW,EAAE,sBAAsB,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,0BAA0B,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,kCAAkC,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,6BAA6B,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,wBAAwB,CAAC,EAAE,CAAC,CAAC,EAAE,8BAA8B,CAAC,EAAE,CAAC,CAAC,EAAE,4BAA4B,CAAC,EAAE,CAAC,CAAC,EAAE,4BAA4B,CAAC,EAAE,CAAC,CAAC,EAAE,wBAAwB,EAAE,8BAA8B,CAAC,EAAE,CAAC,CAAC,EAAE,uBAAuB,CAAC,EAAE,CAAC,CAAC,EAAE,sBAAsB,EAAE,CAAC,EAAE,2BAA2B,EAAE,IAAI,EAAE,UAAU,EAAE,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,yDAAyD,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,0BAA0B,EAAE,gCAAgC,CAAC,EAAE,CAAC,CAAC,EAAE,uBAAuB,CAAC,EAAE,CAAC,CAAC,EAAE,0BAA0B,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,uBAAuB,CAAC,EAAE,CAAC,CAAC,EAAE,6BAA6B,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,4BAA4B,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;EAAEC,QAAQ,EAAE,SAASC,qBAAqBA,CAAC1Q,EAAE,EAAEC,GAAG,EAAE;IAAE,IAAID,EAAE,GAAG,CAAC,EAAE;MAChlDV,MAAM,CAACqR,eAAe,CAACpN,GAAG,CAAC;MAC3BjE,MAAM,CAACa,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;MAClDb,MAAM,CAACgC,UAAU,CAAC,OAAO,EAAE,SAASsP,0CAA0CA,CAACC,MAAM,EAAE;QAAE,OAAO5Q,GAAG,CAACc,QAAQ,CAAC+P,gBAAgB,IAAI7Q,GAAG,CAACc,QAAQ,CAAC+P,gBAAgB,CAACD,MAAM,CAAC;MAAE,CAAC,CAAC;MAC1KvR,MAAM,CAACsC,UAAU,CAAC,CAAC,EAAE7B,oCAAoC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;MACnFT,MAAM,CAACsC,UAAU,CAAC,CAAC,EAAErB,2BAA2B,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;MACjEjB,MAAM,CAACa,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;MACrCb,MAAM,CAACkB,YAAY,CAAC,CAAC,CAAC;MACtBlB,MAAM,CAACa,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;MACnCb,MAAM,CAACsC,UAAU,CAAC,CAAC,EAAET,6BAA6B,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;MACtE7B,MAAM,CAACe,YAAY,CAAC,CAAC,CAAC,CAAC;MACvBf,MAAM,CAACsC,UAAU,CAAC,EAAE,EAAEe,4BAA4B,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;MACnErD,MAAM,CAACe,YAAY,CAAC,CAAC;MACrBf,MAAM,CAACsC,UAAU,CAAC,EAAE,EAAEgB,4BAA4B,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;MACpEtD,MAAM,CAACa,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;MACpCb,MAAM,CAACsC,UAAU,CAAC,EAAE,EAAEkB,4BAA4B,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;MACpExD,MAAM,CAACsC,UAAU,CAAC,EAAE,EAAEyB,4BAA4B,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;MACpE/D,MAAM,CAACe,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3B;IAAE,IAAIL,EAAE,GAAG,CAAC,EAAE;MACVV,MAAM,CAACuB,SAAS,CAAC,CAAC,CAAC;MACnBvB,MAAM,CAAC4C,UAAU,CAAC,MAAM,EAAEjC,GAAG,CAACkC,UAAU,IAAI,SAAS,CAAC;MACtD7C,MAAM,CAACuB,SAAS,CAAC,CAAC,CAAC;MACnBvB,MAAM,CAAC4C,UAAU,CAAC,MAAM,EAAEjC,GAAG,CAACoK,eAAe,CAACuB,MAAM,CAAC;MACrDtM,MAAM,CAACuB,SAAS,CAAC,CAAC,CAAC;MACnBvB,MAAM,CAAC4C,UAAU,CAAC,MAAM,EAAEjC,GAAG,CAACiJ,iBAAiB,CAAC,CAAC,CAAC;MAClD5J,MAAM,CAACuB,SAAS,CAAC,CAAC,CAAC;MACnBvB,MAAM,CAAC4C,UAAU,CAAC,MAAM,EAAEjC,GAAG,CAACsK,eAAe,CAACqB,MAAM,CAAC;MACrDtM,MAAM,CAACuB,SAAS,CAAC,CAAC,CAAC;MACnBvB,MAAM,CAAC4C,UAAU,CAAC,MAAM,EAAEjC,GAAG,CAACkC,UAAU,IAAI,SAAS,CAAC;MACtD7C,MAAM,CAACuB,SAAS,CAAC,CAAC,CAAC;MACnBvB,MAAM,CAAC4C,UAAU,CAAC,UAAU,EAAEjC,GAAG,CAAC0L,qBAAqB,CAAC,CAAC,CAAC;MAC1DrM,MAAM,CAACuB,SAAS,CAAC,CAAC,CAAC;MACnBvB,MAAM,CAAC4C,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC;MAC1C5C,MAAM,CAACuB,SAAS,CAAC,CAAC,CAAC;MACnBvB,MAAM,CAAC4C,UAAU,CAAC,cAAc,EAAE,MAAM,CAAC;IAC7C;EAAE,CAAC;EAAE6O,YAAY,EAAE,CAACtR,MAAM,CAACuR,IAAI,EAAEvR,MAAM,CAACwR,QAAQ,EAAExR,MAAM,CAACyR,YAAY,EAAExR,MAAM,CAACyR,iBAAiB,CAAC;EAAEC,MAAM,EAAE,CAAC,wpGAAwpG,EAAE,u/BAAu/B,EAAE,ykJAAykJ,EAAE,o4CAAo4C,EAAE,+kGAA+kG,EAAE,6oCAA6oC,CAAC;EAAEC,aAAa,EAAE,CAAC;EAAEC,IAAI,EAAE;IAAEC,SAAS,EAAE,CAACnM,sBAAsB,CAACC,kBAAkB;EAAE,CAAC;EAAEmM,eAAe,EAAE;AAAE,CAAC,CAAC;AAC7hdlK,YAAY,CAACmK,cAAc,GAAG,MAAM,CAChC;EAAEvN,IAAI,EAAEtG;AAAW,CAAC,EACpB;EAAEsG,IAAI,EAAErG;AAAkB,CAAC,EAC3B;EAAEqG,IAAI,EAAEwN,SAAS;EAAEC,UAAU,EAAE,CAAC;IAAEzN,IAAI,EAAEpG,MAAM;IAAEkH,IAAI,EAAE,CAACpH,UAAU;EAAG,CAAC;AAAE,CAAC,EACxE;EAAEsG,IAAI,EAAE3F,cAAc;EAAEoT,UAAU,EAAE,CAAC;IAAEzN,IAAI,EAAEnG;EAAS,CAAC;AAAE,CAAC,EAC1D;EAAEmG,IAAI,EAAEwN,SAAS;EAAEC,UAAU,EAAE,CAAC;IAAEzN,IAAI,EAAEnG;EAAS,CAAC,EAAE;IAAEmG,IAAI,EAAEpG,MAAM;IAAEkH,IAAI,EAAE,CAACoC,8BAA8B;EAAG,CAAC;AAAE,CAAC,EAChH;EAAElD,IAAI,EAAE9E;AAAS,CAAC,EAClB;EAAE8E,IAAI,EAAElG;AAAO,CAAC,EAChB;EAAEkG,IAAI,EAAE0N,MAAM;EAAED,UAAU,EAAE,CAAC;IAAEzN,IAAI,EAAEnG;EAAS,CAAC,EAAE;IAAEmG,IAAI,EAAEpG,MAAM;IAAEkH,IAAI,EAAE,CAAC3F,qBAAqB;EAAG,CAAC;AAAE,CAAC,CACvG;AACDiI,YAAY,CAACzC,cAAc,GAAG;EAC1B1C,UAAU,EAAE,CAAC;IAAE+B,IAAI,EAAE1G;EAAM,CAAC,CAAC;EAC7BgF,kBAAkB,EAAE,CAAC;IAAE0B,IAAI,EAAE1G;EAAM,CAAC,CAAC;EACrC4F,SAAS,EAAE,CAAC;IAAEc,IAAI,EAAE1G;EAAM,CAAC,CAAC;EAC5B2K,UAAU,EAAE,CAAC;IAAEjE,IAAI,EAAE1G;EAAM,CAAC,CAAC;EAC7BsS,YAAY,EAAE,CAAC;IAAE5L,IAAI,EAAEjG,SAAS;IAAE+G,IAAI,EAAE,CAAC,WAAW;EAAG,CAAC,CAAC;EACzDoE,uBAAuB,EAAE,CAAC;IAAElF,IAAI,EAAEjG,SAAS;IAAE+G,IAAI,EAAE,CAAC,qBAAqB,EAAE;MAAE6M,MAAM,EAAE;IAAK,CAAC;EAAG,CAAC,CAAC;EAChG9B,kBAAkB,EAAE,CAAC;IAAE7L,IAAI,EAAEjG,SAAS;IAAE+G,IAAI,EAAE,CAAC,gBAAgB;EAAG,CAAC,CAAC;EACpE+G,MAAM,EAAE,CAAC;IAAE7H,IAAI,EAAEjG,SAAS;IAAE+G,IAAI,EAAE,CAAC,OAAO;EAAG,CAAC,CAAC;EAC/C+D,iBAAiB,EAAE,CAAC;IAAE7E,IAAI,EAAEhG,YAAY;IAAE8G,IAAI,EAAE,CAACQ,mBAAmB;EAAG,CAAC,CAAC;EACzEwD,cAAc,EAAE,CAAC;IAAE9E,IAAI,EAAEhG,YAAY;IAAE8G,IAAI,EAAE,CAACQ,mBAAmB,EAAE;MAAEqM,MAAM,EAAE;IAAK,CAAC;EAAG,CAAC,CAAC;EACxFvG,oBAAoB,EAAE,CAAC;IAAEpH,IAAI,EAAEhG,YAAY;IAAE8G,IAAI,EAAE,CAACoB,QAAQ;EAAG,CAAC,CAAC;EACjEmF,iBAAiB,EAAE,CAAC;IAAErH,IAAI,EAAEhG,YAAY;IAAE8G,IAAI,EAAE,CAACoB,QAAQ,EAAE;MAAEyL,MAAM,EAAE;IAAK,CAAC;EAAG,CAAC,CAAC;EAChFxG,iBAAiB,EAAE,CAAC;IAAEnH,IAAI,EAAEhG,YAAY;IAAE8G,IAAI,EAAE,CAACsB,cAAc;EAAG,CAAC,CAAC;EACpEmE,cAAc,EAAE,CAAC;IAAEvG,IAAI,EAAE/F,eAAe;IAAE6G,IAAI,EAAE,CAACtB,SAAS,EAAE;MAAEoO,WAAW,EAAE;IAAK,CAAC;EAAG,CAAC,CAAC;EACtFtH,aAAa,EAAE,CAAC;IAAEtG,IAAI,EAAE/F,eAAe;IAAE6G,IAAI,EAAE,CAACgB,SAAS,EAAE;MAAE8L,WAAW,EAAE;IAAK,CAAC;EAAG,CAAC,CAAC;EACrFzH,eAAe,EAAE,CAAC;IAAEnG,IAAI,EAAE/F,eAAe;IAAE6G,IAAI,EAAE,CAACwB,UAAU,EAAE;MAAEsL,WAAW,EAAE;IAAK,CAAC;EAAG,CAAC,CAAC;EACxFvH,eAAe,EAAE,CAAC;IAAErG,IAAI,EAAE/F,eAAe;IAAE6G,IAAI,EAAE,CAAC2B,UAAU,EAAE;MAAEmL,WAAW,EAAE;IAAK,CAAC;EAAG,CAAC;AAC3F,CAAC;AACD,CAAC,YAAY;EAAE,CAAC,OAAOhN,SAAS,KAAK,WAAW,IAAIA,SAAS,KAAKxF,MAAM,CAACyF,iBAAiB,CAACuC,YAAY,EAAE,CAAC;IAClGpD,IAAI,EAAEzG,SAAS;IACfuH,IAAI,EAAE,CAAC;MAAEC,QAAQ,EAAE,gBAAgB;MAAEkL,QAAQ,EAAE,cAAc;MAAEM,QAAQ,EAAE,25HAA25H;MAAEsB,UAAU,EAAE,CAAC3M,sBAAsB,CAACC,kBAAkB,CAAC;MAAEH,IAAI,EAAE;QACzhI,OAAO,EAAE,gBAAgB;QACzB,4CAA4C,EAAE,0BAA0B;QACxE,wCAAwC,EAAE,sBAAsB;QAChE,2CAA2C,EAAE,yBAAyB;QACtE,0CAA0C,EAAE,wBAAwB;QACpE,gCAAgC,EAAE,qBAAqB;QACvD,kCAAkC,EAAE,kBAAkB;QACtD,qCAAqC,EAAE,qBAAqB;QAC5D,kCAAkC,EAAE,qBAAqB;QACzD,yCAAyC,EAAE,2BAA2B;QACtE,iCAAiC,EAAE,mBAAmB;QACtD,mCAAmC,EAAE,qBAAqB;QAC1D,qBAAqB,EAAE,kBAAkB;QACzC,sBAAsB,EAAE,6BAA6B;QACrD,oBAAoB,EAAE,2BAA2B;QACjD,qBAAqB,EAAE,4BAA4B;QACnD,kBAAkB,EAAE,yBAAyB;QAC7C,kBAAkB,EAAE,yBAAyB;QAC7C,oBAAoB,EAAE,2BAA2B;QACjD,oBAAoB,EAAE,2BAA2B;QACjD,iCAAiC,EAAE;MACvC,CAAC;MAAEV,MAAM,EAAE,CAAC,OAAO,CAAC;MAAE6M,aAAa,EAAE3T,iBAAiB,CAACsU,IAAI;MAAER,eAAe,EAAE7T,uBAAuB,CAACsU,MAAM;MAAE9M,SAAS,EAAE,CACrH;QAAER,OAAO,EAAE0C,cAAc;QAAEzC,WAAW,EAAE0C;MAAa,CAAC,CACzD;MAAE8J,MAAM,EAAE,CAAC,wpGAAwpG,EAAE,u/BAAu/B,EAAE,ykJAAykJ,EAAE,o4CAAo4C,EAAE,+kGAA+kG,EAAE,6oCAA6oC;IAAE,CAAC;EAC71c,CAAC,CAAC,EAAE,YAAY;IAAE,OAAO,CAAC;MAAElN,IAAI,EAAE5E,MAAM,CAAC1B;IAAW,CAAC,EAAE;MAAEsG,IAAI,EAAE5E,MAAM,CAACzB;IAAkB,CAAC,EAAE;MAAEqG,IAAI,EAAEwN,SAAS;MAAEC,UAAU,EAAE,CAAC;QAC/GzN,IAAI,EAAEpG,MAAM;QACZkH,IAAI,EAAE,CAACpH,UAAU;MACrB,CAAC;IAAE,CAAC,EAAE;MAAEsG,IAAI,EAAE3E,MAAM,CAAChB,cAAc;MAAEoT,UAAU,EAAE,CAAC;QAC9CzN,IAAI,EAAEnG;MACV,CAAC;IAAE,CAAC,EAAE;MAAEmG,IAAI,EAAEwN,SAAS;MAAEC,UAAU,EAAE,CAAC;QAClCzN,IAAI,EAAEnG;MACV,CAAC,EAAE;QACCmG,IAAI,EAAEpG,MAAM;QACZkH,IAAI,EAAE,CAACoC,8BAA8B;MACzC,CAAC;IAAE,CAAC,EAAE;MAAElD,IAAI,EAAE1E,MAAM,CAACJ;IAAS,CAAC,EAAE;MAAE8E,IAAI,EAAE5E,MAAM,CAACtB;IAAO,CAAC,EAAE;MAAEkG,IAAI,EAAE0N,MAAM;MAAED,UAAU,EAAE,CAAC;QACnFzN,IAAI,EAAEnG;MACV,CAAC,EAAE;QACCmG,IAAI,EAAEpG,MAAM;QACZkH,IAAI,EAAE,CAAC3F,qBAAqB;MAChC,CAAC;IAAE,CAAC,CAAC;EAAE,CAAC,EAAE;IAAE8I,UAAU,EAAE,CAAC;MACzBjE,IAAI,EAAE1G;IACV,CAAC,CAAC;IAAE2E,UAAU,EAAE,CAAC;MACb+B,IAAI,EAAE1G;IACV,CAAC,CAAC;IAAEgF,kBAAkB,EAAE,CAAC;MACrB0B,IAAI,EAAE1G;IACV,CAAC,CAAC;IAAE4F,SAAS,EAAE,CAAC;MACZc,IAAI,EAAE1G;IACV,CAAC,CAAC;IAAEsS,YAAY,EAAE,CAAC;MACf5L,IAAI,EAAEjG,SAAS;MACf+G,IAAI,EAAE,CAAC,WAAW;IACtB,CAAC,CAAC;IAAEoE,uBAAuB,EAAE,CAAC;MAC1BlF,IAAI,EAAEjG,SAAS;MACf+G,IAAI,EAAE,CAAC,qBAAqB,EAAE;QAAE6M,MAAM,EAAE;MAAK,CAAC;IAClD,CAAC,CAAC;IAAE9B,kBAAkB,EAAE,CAAC;MACrB7L,IAAI,EAAEjG,SAAS;MACf+G,IAAI,EAAE,CAAC,gBAAgB;IAC3B,CAAC,CAAC;IAAE+G,MAAM,EAAE,CAAC;MACT7H,IAAI,EAAEjG,SAAS;MACf+G,IAAI,EAAE,CAAC,OAAO;IAClB,CAAC,CAAC;IAAE+D,iBAAiB,EAAE,CAAC;MACpB7E,IAAI,EAAEhG,YAAY;MAClB8G,IAAI,EAAE,CAACQ,mBAAmB;IAC9B,CAAC,CAAC;IAAEwD,cAAc,EAAE,CAAC;MACjB9E,IAAI,EAAEhG,YAAY;MAClB8G,IAAI,EAAE,CAACQ,mBAAmB,EAAE;QAAEqM,MAAM,EAAE;MAAK,CAAC;IAChD,CAAC,CAAC;IAAEvG,oBAAoB,EAAE,CAAC;MACvBpH,IAAI,EAAEhG,YAAY;MAClB8G,IAAI,EAAE,CAACoB,QAAQ;IACnB,CAAC,CAAC;IAAEmF,iBAAiB,EAAE,CAAC;MACpBrH,IAAI,EAAEhG,YAAY;MAClB8G,IAAI,EAAE,CAACoB,QAAQ,EAAE;QAAEyL,MAAM,EAAE;MAAK,CAAC;IACrC,CAAC,CAAC;IAAExG,iBAAiB,EAAE,CAAC;MACpBnH,IAAI,EAAEhG,YAAY;MAClB8G,IAAI,EAAE,CAACsB,cAAc;IACzB,CAAC,CAAC;IAAEmE,cAAc,EAAE,CAAC;MACjBvG,IAAI,EAAE/F,eAAe;MACrB6G,IAAI,EAAE,CAACtB,SAAS,EAAE;QAAEoO,WAAW,EAAE;MAAK,CAAC;IAC3C,CAAC,CAAC;IAAEtH,aAAa,EAAE,CAAC;MAChBtG,IAAI,EAAE/F,eAAe;MACrB6G,IAAI,EAAE,CAACgB,SAAS,EAAE;QAAE8L,WAAW,EAAE;MAAK,CAAC;IAC3C,CAAC,CAAC;IAAEzH,eAAe,EAAE,CAAC;MAClBnG,IAAI,EAAE/F,eAAe;MACrB6G,IAAI,EAAE,CAACwB,UAAU,EAAE;QAAEsL,WAAW,EAAE;MAAK,CAAC;IAC5C,CAAC,CAAC;IAAEvH,eAAe,EAAE,CAAC;MAClBrG,IAAI,EAAE/F,eAAe;MACrB6G,IAAI,EAAE,CAAC2B,UAAU,EAAE;QAAEmL,WAAW,EAAE;MAAK,CAAC;IAC5C,CAAC;EAAE,CAAC,CAAC;AAAE,CAAC,EAAE,CAAC;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMI,kBAAkB,CAAC;AAEzBA,kBAAkB,CAACrO,IAAI,GAAG,SAASsO,0BAA0BA,CAACpO,CAAC,EAAE;EAAE,OAAO,KAAKA,CAAC,IAAImO,kBAAkB,EAAE,CAAC;AAAE,CAAC;AAC5GA,kBAAkB,CAACE,IAAI,GAAG,aAAc9S,MAAM,CAAC+S,gBAAgB,CAAC;EAAEnO,IAAI,EAAEgO;AAAmB,CAAC,CAAC;AAC7FA,kBAAkB,CAACI,IAAI,GAAG,aAAchT,MAAM,CAACiT,gBAAgB,CAAC;EAAEC,OAAO,EAAE,CAACnV,YAAY,EAChFiB,eAAe,EACflB,eAAe,EAAEkB,eAAe;AAAE,CAAC,CAAC;AAC5C,CAAC,YAAY;EAAE,CAAC,OAAOwG,SAAS,KAAK,WAAW,IAAIA,SAAS,KAAKxF,MAAM,CAACyF,iBAAiB,CAACmN,kBAAkB,EAAE,CAAC;IACxGhO,IAAI,EAAE9F,QAAQ;IACd4G,IAAI,EAAE,CAAC;MACCyN,YAAY,EAAE,CACV9O,QAAQ,EACR2D,YAAY,EACZrB,OAAO,EACPG,QAAQ,EACRE,cAAc,EACdG,SAAS,EACTG,SAAS,CACZ;MACD4L,OAAO,EAAE,CACLnV,YAAY,EACZiB,eAAe,EACflB,eAAe,CAClB;MACDsV,OAAO,EAAE,CACLpU,eAAe,EACfqF,QAAQ,EACR2D,YAAY,EACZrB,OAAO,EACPG,QAAQ,EACRE,cAAc,EACdG,SAAS,EACTG,SAAS;IAEjB,CAAC;EACT,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;AAAE,CAAC,EAAE,CAAC;AACzB,CAAC,YAAY;EAAE,CAAC,OAAO+L,SAAS,KAAK,WAAW,IAAIA,SAAS,KAAKrT,MAAM,CAACsT,kBAAkB,CAACV,kBAAkB,EAAE;IAAEO,YAAY,EAAE,SAAAA,CAAA,EAAY;MAAE,OAAO,CAAC9O,QAAQ,EAAE2D,YAAY,EAAErB,OAAO,EAAEG,QAAQ,EAAEE,cAAc,EAAEG,SAAS,EAAEG,SAAS,CAAC;IAAE,CAAC;IAAE4L,OAAO,EAAE,SAAAA,CAAA,EAAY;MAAE,OAAO,CAACnV,YAAY,EAC9QiB,eAAe,EACflB,eAAe,CAAC;IAAE,CAAC;IAAEsV,OAAO,EAAE,SAAAA,CAAA,EAAY;MAAE,OAAO,CAACpU,eAAe,EAAEqF,QAAQ,EAAE2D,YAAY,EAAErB,OAAO,EAAEG,QAAQ,EAAEE,cAAc,EAAEG,SAAS,EAAEG,SAAS,CAAC;IAAE;EAAE,CAAC,CAAC;AAAE,CAAC,EAAE,CAAC;;AAEzK;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,SAASlD,SAAS,EAAE2D,cAAc,EAAED,8BAA8B,EAAEZ,UAAU,EAAEG,UAAU,EAAEhD,QAAQ,EAAE2D,YAAY,EAAE9B,mBAAmB,EAAE0M,kBAAkB,EAAEjM,OAAO,EAAEG,QAAQ,EAAEE,cAAc,EAAEG,SAAS,EAAEG,SAAS,EAAEZ,SAAS,EAAEJ,kCAAkC,EAAEE,kCAAkC,EAAEJ,uCAAuC,EAAEN,sBAAsB"},"metadata":{},"sourceType":"module"} |