diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c1eb4551..72bcda7b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,8 +6,8 @@ env: solution: 'src\ReportGenerator.sln' buildPlatform: Any CPU buildConfiguration: Release - version: 5.4.7 - dotnetSDKVersion: 9.0.203 + version: 5.5.1 + dotnetSDKVersion: 10.0.100 nodeVersion: 22 jobs: @@ -58,6 +58,10 @@ jobs: run: dotnet publish -c ${{ env.BuildConfiguration }} -f net9.0 ReportGenerator.Console.NetCore.csproj working-directory: src/ReportGenerator.Console.NetCore + - name: dotnet publish Console.NetCore 10.0 + run: dotnet publish -c ${{ env.BuildConfiguration }} -f net10.0 ReportGenerator.Console.NetCore.csproj + working-directory: src/ReportGenerator.Console.NetCore + - name: dotnet publish DotnetGlobalTool 8.0 run: dotnet publish -c ${{ env.BuildConfiguration }} -f net8.0 ReportGenerator.DotnetGlobalTool.csproj working-directory: src/ReportGenerator.DotnetGlobalTool @@ -66,6 +70,10 @@ jobs: run: dotnet publish -c ${{ env.BuildConfiguration }} -f net9.0 ReportGenerator.DotnetGlobalTool.csproj working-directory: src/ReportGenerator.DotnetGlobalTool + - name: dotnet publish DotnetGlobalTool 10.0 + run: dotnet publish -c ${{ env.BuildConfiguration }} -f net10.0 ReportGenerator.DotnetGlobalTool.csproj + working-directory: src/ReportGenerator.DotnetGlobalTool + - name: Test run: dotnet test src\ReportGenerator.Core.Test\ReportGenerator.Core.Test.csproj --configuration ${{ env.BuildConfiguration }} --no-build /p:CollectCoverage=true /p:DeterministicSourcePaths=true /p:IncludeTestAssembly=true /p:CoverletOutputFormat=opencover%2ccobertura /p:CoverletOutput=../target/reports/coverage/ @@ -114,6 +122,7 @@ jobs: mkdir tmpzip\net47 mkdir tmpzip\net8.0 mkdir tmpzip\net9.0 + mkdir tmpzip\net10.0 - name: 'Prepare ZIP release' run: | @@ -125,6 +134,7 @@ jobs: xcopy "src\ReportGenerator.Console\bin\Release\ReportGenerator.exe.config" "tmpzip\net47" xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net8.0\publish\*' 'tmpzip\net8.0' /s xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net9.0\publish\*' 'tmpzip\net9.0' /s + xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net10.0\publish\*' 'tmpzip\net10.0' /s - name: 'Pack ZIP release' run: Compress-Archive -Path tmpzip/* -DestinationPath src/target/packages/ReportGenerator_${{ env.Version }}.zip @@ -179,7 +189,7 @@ jobs: uses: softprops/action-gh-release@v2 with: name: ReportGenerator_${{ env.Version }} - body: This release requires .NET Framework 4.7 or .NET 8.0/9.0 + body: This release requires .NET Framework 4.7 or .NET 8.0/9.0/10.0 tag_name: v${{ env.Version }} files: ReportGenerator_${{ env.Version }}.zip env: diff --git a/LICENSE.txt b/LICENSE.txt index 7a4a3ea2..d91838a0 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -187,7 +187,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright 2025 Daniel Palme Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/README.md b/README.md index 87af7a73..bc2bb0cf 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ Use the online [configuration tool](https://reportgenerator.io/usage) to get sta |**Package**|**Platforms**|**Installation/Usage**| |:----------|:------------|:---------------------| -|[ReportGenerator](https://www.nuget.org/packages/ReportGenerator)

[![Nuget](https://img.shields.io/nuget/v/ReportGenerator.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/ReportGenerator.svg?style=for-the-badge)](https://www.nuget.org/packages/ReportGenerator)|.NET Core >=8.0
.NET Framework 4.7|Use this package if your project is based on *.NET Framework* or *.NET Core* and you want to use *ReportGenerator* via the command line or a build script.

**Usage**
```dotnet $(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net8.0\ReportGenerator.dll [options]```
```$(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net8.0\ReportGenerator.exe [options]```

```$(UserProfile)\.nuget\packages\reportgenerator\x.y.z\tools\net47\ReportGenerator.exe [options]```| +|[ReportGenerator](https://www.nuget.org/packages/ReportGenerator)

[![Nuget](https://img.shields.io/nuget/v/ReportGenerator.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/ReportGenerator.svg?style=for-the-badge)](https://www.nuget.org/packages/ReportGenerator)|.NET Core >=8.0
.NET Framework 4.7|Use this package if your project is based on *.NET Framework* or *.NET Core* and you want to use *ReportGenerator* via the command line or a build script.

**Usage**
```dotnet $(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net8.0\ReportGenerator.dll [options]```
```$(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net10.0\ReportGenerator.exe [options]```

```$(UserProfile)\.nuget\packages\reportgenerator\x.y.z\tools\net47\ReportGenerator.exe [options]```| |[dotnet-reportgenerator-globaltool](https://www.nuget.org/packages/dotnet-reportgenerator-globaltool)

[![Nuget](https://img.shields.io/nuget/v/dotnet-reportgenerator-globaltool.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/dotnet-reportgenerator-globaltool.svg?style=for-the-badge)](https://www.nuget.org/packages/dotnet-reportgenerator-globaltool)|.NET Core >=8.0 |Use this package if your project is based on *.NET Core* and you want to use *ReportGenerator* as a (global) 'DotnetTool'.

**Installation**
```dotnet tool install -g dotnet-reportgenerator-globaltool```

```dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools```

```dotnet new tool-manifest```
```dotnet tool install dotnet-reportgenerator-globaltool```

**Usage**
```reportgenerator [options]```
```tools\reportgenerator.exe [options]```
```dotnet reportgenerator [options]```| |[ReportGenerator.Core](https://www.nuget.org/packages/ReportGenerator.Core)

[![Nuget](https://img.shields.io/nuget/v/ReportGenerator.Core.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/ReportGenerator.Core.svg?style=for-the-badge)](https://www.nuget.org/packages/ReportGenerator.Core)|.NET Standard 2.0|Use this package if you want to write a custom **plugin** for *ReportGenerator* or if you want to call/execute *ReportGenerator* within your code base.

**Plugin development**
[Custom reports](https://github.com/danielpalme/ReportGenerator/wiki/Custom-reports)
[Custom history storage](https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage)| |[Azure DevOps extension](https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator)

[![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/Palmmedia.reportgenerator.svg?style=for-the-badge)![Visual Studio Marketplace Installs - Azure DevOps Extension](https://img.shields.io/visual-studio-marketplace/azure-devops/installs/total/Palmmedia.reportgenerator.svg?style=for-the-badge)](https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator)|.NET Core >=8.0| Add the Azure DevOps extension to your build pipeline.
[Learn more](https://github.com/danielpalme/ReportGenerator/wiki/Integration#azure-devops-extension)| @@ -77,7 +77,8 @@ Explanations: Target directory: The directory where the generated report should be saved. Report types: The output formats and scope (separated by semicolon). Values: Badges, Clover, Cobertura, CsvSummary, - MarkdownSummary, MarkdownAssembliesSummary, MarkdownSummaryGithub, MarkdownDeltaSummary + Markdown, MarkdownSummary, MarkdownAssembliesSummary, MarkdownSummaryGithub, + MarkdownDeltaSummary OpenCover Html, Html_Light, Html_Dark, Html_BlueRed HtmlChart, HtmlInline, HtmlSummary, Html_BlueRed_Summary @@ -225,7 +226,7 @@ If you need a custom format, you can create a [plugin](https://github.com/daniel | **Input formats** | **Output formats** | |:------------------|:-------------------| -|

| | +|

| | ### Screenshots The screenshots show two snippets of the generated reports: diff --git a/docs/404.html b/docs/404.html index fdaae9e9..2c0535df 100644 --- a/docs/404.html +++ b/docs/404.html @@ -8,8 +8,8 @@ - + - + \ No newline at end of file diff --git a/docs/contact.html b/docs/contact.html index aafaaf67..c1f71a9a 100644 --- a/docs/contact.html +++ b/docs/contact.html @@ -8,8 +8,8 @@ - + - + \ No newline at end of file diff --git a/docs/enterprise.html b/docs/enterprise.html index 3560adfb..053fd0f9 100644 --- a/docs/enterprise.html +++ b/docs/enterprise.html @@ -8,8 +8,8 @@ - + - + \ No newline at end of file diff --git a/docs/features.html b/docs/features.html index 595d5570..1d657dd9 100644 --- a/docs/features.html +++ b/docs/features.html @@ -8,8 +8,8 @@ - + - + \ No newline at end of file diff --git a/docs/getstarted.html b/docs/getstarted.html index acc9d60a..44f67f89 100644 --- a/docs/getstarted.html +++ b/docs/getstarted.html @@ -8,8 +8,8 @@ - + - + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 8b7dd13a..4ebb39d6 100644 --- a/docs/index.html +++ b/docs/index.html @@ -8,8 +8,8 @@ - + - + \ No newline at end of file diff --git a/docs/main-NKVZYJN2.js b/docs/main-NKVZYJN2.js deleted file mode 100644 index c8e487d6..00000000 --- a/docs/main-NKVZYJN2.js +++ /dev/null @@ -1,96 +0,0 @@ -var Iy=Object.defineProperty,Sy=Object.defineProperties;var xy=Object.getOwnPropertyDescriptors;var mf=Object.getOwnPropertySymbols;var My=Object.prototype.hasOwnProperty,Ty=Object.prototype.propertyIsEnumerable;var gf=(e,n,t)=>n in e?Iy(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,w=(e,n)=>{for(var t in n||={})My.call(n,t)&&gf(e,t,n[t]);if(mf)for(var t of mf(n))Ty.call(n,t)&&gf(e,t,n[t]);return e},Y=(e,n)=>Sy(e,xy(n));function Dl(e,n){return Object.is(e,n)}var _e=null,xo=!1,El=1,tt=Symbol("SIGNAL");function W(e){let n=_e;return _e=e,n}function wl(){return _e}var fi={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:"unknown",producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function pi(e){if(xo)throw new Error("");if(_e===null)return;_e.consumerOnSignalRead(e);let n=_e.nextProducerIndex++;if(No(_e),n<_e.producerNode.length&&_e.producerNode[n]!==e&&di(_e)){let t=_e.producerNode[n];Ao(t,_e.producerIndexOfThis[n])}_e.producerNode[n]!==e&&(_e.producerNode[n]=e,_e.producerIndexOfThis[n]=di(_e)?yf(e,_e,n):0),_e.producerLastReadVersion[n]=e.version}function vf(){El++}function bl(e){if(!(di(e)&&!e.dirty)&&!(!e.dirty&&e.lastCleanEpoch===El)){if(!e.producerMustRecompute(e)&&!Ml(e)){Cl(e);return}e.producerRecomputeValue(e),Cl(e)}}function Il(e){if(e.liveConsumerNode===void 0)return;let n=xo;xo=!0;try{for(let t of e.liveConsumerNode)t.dirty||Ay(t)}finally{xo=n}}function Sl(){return _e?.consumerAllowSignalWrites!==!1}function Ay(e){e.dirty=!0,Il(e),e.consumerMarkedDirty?.(e)}function Cl(e){e.dirty=!1,e.lastCleanEpoch=El}function To(e){return e&&(e.nextProducerIndex=0),W(e)}function xl(e,n){if(W(n),!(!e||e.producerNode===void 0||e.producerIndexOfThis===void 0||e.producerLastReadVersion===void 0)){if(di(e))for(let t=e.nextProducerIndex;te.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function Ml(e){No(e);for(let n=0;n0}function No(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}function _f(e){e.liveConsumerNode??=[],e.liveConsumerIndexOfThis??=[]}function Cf(e){return e.producerNode!==void 0}function Al(e,n){let t=Object.create(Ny);t.computation=e,n!==void 0&&(t.equal=n);let r=()=>{if(bl(t),pi(t),t.value===Mo)throw t.error;return t.value};return r[tt]=t,r}var yl=Symbol("UNSET"),_l=Symbol("COMPUTING"),Mo=Symbol("ERRORED"),Ny=Y(w({},fi),{value:yl,dirty:!0,error:null,equal:Dl,kind:"computed",producerMustRecompute(e){return e.value===yl||e.value===_l},producerRecomputeValue(e){if(e.value===_l)throw new Error("Detected cycle in computations.");let n=e.value;e.value=_l;let t=To(e),r,i=!1;try{r=e.computation(),W(null),i=n!==yl&&n!==Mo&&r!==Mo&&e.equal(n,r)}catch(o){r=Mo,e.error=o}finally{xl(e,t)}if(i){e.value=n;return}e.value=r,e.version++}});function Ry(){throw new Error}var Df=Ry;function Ef(e){Df(e)}function Nl(e){Df=e}var ky=null;function Rl(e,n){let t=Object.create(Ro);t.value=e,n!==void 0&&(t.equal=n);let r=()=>(pi(t),t.value);return r[tt]=t,r}function hi(e,n){Sl()||Ef(e),e.equal(e.value,n)||(e.value=n,Oy(e))}function kl(e,n){Sl()||Ef(e),hi(e,n(e.value))}var Ro=Y(w({},fi),{equal:Dl,value:void 0,kind:"signal"});function Oy(e){e.version++,vf(),Il(e),ky?.()}function Ol(e){let n=W(null);try{return e()}finally{W(n)}}var Pl;function mi(){return Pl}function Lt(e){let n=Pl;return Pl=e,n}var ko=Symbol("NotFound");function L(e){return typeof e=="function"}function rr(e){let t=e(r=>{Error.call(r),r.stack=new Error().stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var Oo=rr(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription: -${t.map((r,i)=>`${i+1}) ${r.toString()}`).join(` - `)}`:"",this.name="UnsubscriptionError",this.errors=t});function gi(e,n){if(e){let t=e.indexOf(n);0<=t&&e.splice(t,1)}}var me=class e{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;let{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(let o of t)o.remove(this);else t.remove(this);let{initialTeardown:r}=this;if(L(r))try{r()}catch(o){n=o instanceof Oo?o.errors:[o]}let{_finalizers:i}=this;if(i){this._finalizers=null;for(let o of i)try{wf(o)}catch(s){n=n??[],s instanceof Oo?n=[...n,...s.errors]:n.push(s)}}if(n)throw new Oo(n)}}add(n){var t;if(n&&n!==this)if(this.closed)wf(n);else{if(n instanceof e){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(n)}}_hasParent(n){let{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){let{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){let{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&gi(t,n)}remove(n){let{_finalizers:t}=this;t&&gi(t,n),n instanceof e&&n._removeParent(this)}};me.EMPTY=(()=>{let e=new me;return e.closed=!0,e})();var Fl=me.EMPTY;function Po(e){return e instanceof me||e&&"closed"in e&&L(e.remove)&&L(e.add)&&L(e.unsubscribe)}function wf(e){L(e)?e():e.unsubscribe()}var lt={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var ir={setTimeout(e,n,...t){let{delegate:r}=ir;return r?.setTimeout?r.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){let{delegate:n}=ir;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Fo(e){ir.setTimeout(()=>{let{onUnhandledError:n}=lt;if(n)n(e);else throw e})}function vi(){}var bf=Ll("C",void 0,void 0);function If(e){return Ll("E",void 0,e)}function Sf(e){return Ll("N",e,void 0)}function Ll(e,n,t){return{kind:e,value:n,error:t}}var xn=null;function or(e){if(lt.useDeprecatedSynchronousErrorHandling){let n=!xn;if(n&&(xn={errorThrown:!1,error:null}),e(),n){let{errorThrown:t,error:r}=xn;if(xn=null,t)throw r}}else e()}function xf(e){lt.useDeprecatedSynchronousErrorHandling&&xn&&(xn.errorThrown=!0,xn.error=e)}var Mn=class extends me{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Po(n)&&n.add(this)):this.destination=By}static create(n,t,r){return new sr(n,t,r)}next(n){this.isStopped?jl(Sf(n),this):this._next(n)}error(n){this.isStopped?jl(If(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?jl(bf,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}},Vy=Function.prototype.bind;function Vl(e,n){return Vy.call(e,n)}var Bl=class{constructor(n){this.partialObserver=n}next(n){let{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(r){Lo(r)}}error(n){let{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(r){Lo(r)}else Lo(n)}complete(){let{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){Lo(t)}}},sr=class extends Mn{constructor(n,t,r){super();let i;if(L(n)||!n)i={next:n??void 0,error:t??void 0,complete:r??void 0};else{let o;this&<.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),i={next:n.next&&Vl(n.next,o),error:n.error&&Vl(n.error,o),complete:n.complete&&Vl(n.complete,o)}):i=n}this.destination=new Bl(i)}};function Lo(e){lt.useDeprecatedSynchronousErrorHandling?xf(e):Fo(e)}function jy(e){throw e}function jl(e,n){let{onStoppedNotification:t}=lt;t&&ir.setTimeout(()=>t(e,n))}var By={closed:!0,next:vi,error:jy,complete:vi};var ar=typeof Symbol=="function"&&Symbol.observable||"@@observable";function We(e){return e}function Ul(...e){return Hl(e)}function Hl(e){return e.length===0?We:e.length===1?e[0]:function(t){return e.reduce((r,i)=>i(r),t)}}var X=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){let r=new e;return r.source=this,r.operator=t,r}subscribe(t,r,i){let o=Hy(t)?t:new sr(t,r,i);return or(()=>{let{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return r=Mf(r),new r((i,o)=>{let s=new sr({next:a=>{try{t(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:i});this.subscribe(s)})}_subscribe(t){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(t)}[ar](){return this}pipe(...t){return Hl(t)(this)}toPromise(t){return t=Mf(t),new t((r,i)=>{let o;this.subscribe(s=>o=s,s=>i(s),()=>r(o))})}}return e.create=n=>new e(n),e})();function Mf(e){var n;return(n=e??lt.Promise)!==null&&n!==void 0?n:Promise}function Uy(e){return e&&L(e.next)&&L(e.error)&&L(e.complete)}function Hy(e){return e&&e instanceof Mn||Uy(e)&&Po(e)}function $l(e){return L(e?.lift)}function K(e){return n=>{if($l(n))return n.lift(function(t){try{return e(t,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function Z(e,n,t,r,i){return new ql(e,n,t,r,i)}var ql=class extends Mn{constructor(n,t,r,i,o,s){super(n),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){n.error(l)}}:super._next,this._error=i?function(a){try{i(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){let{closed:t}=this;super.unsubscribe(),!t&&((n=this.onFinalize)===null||n===void 0||n.call(this))}}};function lr(){return K((e,n)=>{let t=null;e._refCount++;let r=Z(n,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount){t=null;return}let i=e._connection,o=t;t=null,i&&(!o||i===o)&&i.unsubscribe(),n.unsubscribe()});e.subscribe(r),r.closed||(t=e.connect())})}var cr=class extends X{constructor(n,t){super(),this.source=n,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,$l(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){let n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;let{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new me;let t=this.getSubject();n.add(this.source.subscribe(Z(t,void 0,()=>{this._teardown(),t.complete()},r=>{this._teardown(),t.error(r)},()=>this._teardown()))),n.closed&&(this._connection=null,n=me.EMPTY)}return n}refCount(){return lr()(this)}};var Tf=rr(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var pe=(()=>{class e extends X{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){let r=new Vo(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new Tf}next(t){or(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let r of this.currentObservers)r.next(t)}})}error(t){or(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;let{observers:r}=this;for(;r.length;)r.shift().error(t)}})}complete(){or(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;let{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){let{hasError:r,isStopped:i,observers:o}=this;return r||i?Fl:(this.currentObservers=null,o.push(t),new me(()=>{this.currentObservers=null,gi(o,t)}))}_checkFinalizedStatuses(t){let{hasError:r,thrownError:i,isStopped:o}=this;r?t.error(i):o&&t.complete()}asObservable(){let t=new X;return t.source=this,t}}return e.create=(n,t)=>new Vo(n,t),e})(),Vo=class extends pe{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,r;(r=(t=this.destination)===null||t===void 0?void 0:t.next)===null||r===void 0||r.call(t,n)}error(n){var t,r;(r=(t=this.destination)===null||t===void 0?void 0:t.error)===null||r===void 0||r.call(t,n)}complete(){var n,t;(t=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||t===void 0||t.call(n)}_subscribe(n){var t,r;return(r=(t=this.source)===null||t===void 0?void 0:t.subscribe(n))!==null&&r!==void 0?r:Fl}};var Ie=class extends pe{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){let t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){let{hasError:n,thrownError:t,_value:r}=this;if(n)throw t;return this._throwIfClosed(),r}next(n){super.next(this._value=n)}};var Ve=new X(e=>e.complete());function Af(e){return e&&L(e.schedule)}function Nf(e){return e[e.length-1]}function jo(e){return L(Nf(e))?e.pop():void 0}function rn(e){return Af(Nf(e))?e.pop():void 0}function kf(e,n,t,r){function i(o){return o instanceof t?o:new t(function(s){s(o)})}return new(t||(t=Promise))(function(o,s){function a(p){try{f(r.next(p))}catch(g){s(g)}}function l(p){try{f(r.throw(p))}catch(g){s(g)}}function f(p){p.done?o(p.value):i(p.value).then(a,l)}f((r=r.apply(e,n||[])).next())})}function Rf(e){var n=typeof Symbol=="function"&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function Tn(e){return this instanceof Tn?(this.v=e,this):new Tn(e)}function Of(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=t.apply(e,n||[]),i,o=[];return i={},s("next"),s("throw"),s("return"),i[Symbol.asyncIterator]=function(){return this},i;function s(y){r[y]&&(i[y]=function(v){return new Promise(function(E,N){o.push([y,v,E,N])>1||a(y,v)})})}function a(y,v){try{l(r[y](v))}catch(E){g(o[0][3],E)}}function l(y){y.value instanceof Tn?Promise.resolve(y.value.v).then(f,p):g(o[0][2],y)}function f(y){a("next",y)}function p(y){a("throw",y)}function g(y,v){y(v),o.shift(),o.length&&a(o[0][0],o[0][1])}}function Pf(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=e[Symbol.asyncIterator],t;return n?n.call(e):(e=typeof Rf=="function"?Rf(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(o){t[o]=e[o]&&function(s){return new Promise(function(a,l){s=e[o](s),i(a,l,s.done,s.value)})}}function i(o,s,a,l){Promise.resolve(l).then(function(f){o({value:f,done:a})},s)}}var Bo=e=>e&&typeof e.length=="number"&&typeof e!="function";function Uo(e){return L(e?.then)}function Ho(e){return L(e[ar])}function $o(e){return Symbol.asyncIterator&&L(e?.[Symbol.asyncIterator])}function qo(e){return new TypeError(`You provided ${e!==null&&typeof e=="object"?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}function $y(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var zo=$y();function Go(e){return L(e?.[zo])}function Wo(e){return Of(this,arguments,function*(){let t=e.getReader();try{for(;;){let{value:r,done:i}=yield Tn(t.read());if(i)return yield Tn(void 0);yield yield Tn(r)}}finally{t.releaseLock()}})}function Zo(e){return L(e?.getReader)}function ge(e){if(e instanceof X)return e;if(e!=null){if(Ho(e))return qy(e);if(Bo(e))return zy(e);if(Uo(e))return Gy(e);if($o(e))return Ff(e);if(Go(e))return Wy(e);if(Zo(e))return Zy(e)}throw qo(e)}function qy(e){return new X(n=>{let t=e[ar]();if(L(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function zy(e){return new X(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Fo)})}function Wy(e){return new X(n=>{for(let t of e)if(n.next(t),n.closed)return;n.complete()})}function Ff(e){return new X(n=>{Yy(e,n).catch(t=>n.error(t))})}function Zy(e){return Ff(Wo(e))}function Yy(e,n){var t,r,i,o;return kf(this,void 0,void 0,function*(){try{for(t=Pf(e);r=yield t.next(),!r.done;){let s=r.value;if(n.next(s),n.closed)return}}catch(s){i={error:s}}finally{try{r&&!r.done&&(o=t.return)&&(yield o.call(t))}finally{if(i)throw i.error}}n.complete()})}function je(e,n,t,r=0,i=!1){let o=n.schedule(function(){t(),i?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(o),!i)return o}function Yo(e,n=0){return K((t,r)=>{t.subscribe(Z(r,i=>je(r,e,()=>r.next(i),n),()=>je(r,e,()=>r.complete(),n),i=>je(r,e,()=>r.error(i),n)))})}function Qo(e,n=0){return K((t,r)=>{r.add(e.schedule(()=>t.subscribe(r),n))})}function Lf(e,n){return ge(e).pipe(Qo(n),Yo(n))}function Vf(e,n){return ge(e).pipe(Qo(n),Yo(n))}function jf(e,n){return new X(t=>{let r=0;return n.schedule(function(){r===e.length?t.complete():(t.next(e[r++]),t.closed||this.schedule())})})}function Bf(e,n){return new X(t=>{let r;return je(t,n,()=>{r=e[zo](),je(t,n,()=>{let i,o;try{({value:i,done:o}=r.next())}catch(s){t.error(s);return}o?t.complete():t.next(i)},0,!0)}),()=>L(r?.return)&&r.return()})}function Ko(e,n){if(!e)throw new Error("Iterable cannot be null");return new X(t=>{je(t,n,()=>{let r=e[Symbol.asyncIterator]();je(t,n,()=>{r.next().then(i=>{i.done?t.complete():t.next(i.value)})},0,!0)})})}function Uf(e,n){return Ko(Wo(e),n)}function Hf(e,n){if(e!=null){if(Ho(e))return Lf(e,n);if(Bo(e))return jf(e,n);if(Uo(e))return Vf(e,n);if($o(e))return Ko(e,n);if(Go(e))return Bf(e,n);if(Zo(e))return Uf(e,n)}throw qo(e)}function oe(e,n){return n?Hf(e,n):ge(e)}function k(...e){let n=rn(e);return oe(e,n)}function ur(e,n){let t=L(e)?e:()=>e,r=i=>i.error(t());return new X(n?i=>n.schedule(r,0,i):r)}function zl(e){return!!e&&(e instanceof X||L(e.lift)&&L(e.subscribe))}var Vt=rr(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function V(e,n){return K((t,r)=>{let i=0;t.subscribe(Z(r,o=>{r.next(e.call(n,o,i++))}))})}var{isArray:Qy}=Array;function Ky(e,n){return Qy(n)?e(...n):e(n)}function Xo(e){return V(n=>Ky(e,n))}var{isArray:Xy}=Array,{getPrototypeOf:Jy,prototype:e0,keys:t0}=Object;function Jo(e){if(e.length===1){let n=e[0];if(Xy(n))return{args:n,keys:null};if(n0(n)){let t=t0(n);return{args:t.map(r=>n[r]),keys:t}}}return{args:e,keys:null}}function n0(e){return e&&typeof e=="object"&&Jy(e)===e0}function es(e,n){return e.reduce((t,r,i)=>(t[r]=n[i],t),{})}function yi(...e){let n=rn(e),t=jo(e),{args:r,keys:i}=Jo(e);if(r.length===0)return oe([],n);let o=new X(r0(r,n,i?s=>es(i,s):We));return t?o.pipe(Xo(t)):o}function r0(e,n,t=We){return r=>{$f(n,()=>{let{length:i}=e,o=new Array(i),s=i,a=i;for(let l=0;l{let f=oe(e[l],n),p=!1;f.subscribe(Z(r,g=>{o[l]=g,p||(p=!0,a--),a||r.next(t(o.slice()))},()=>{--s||r.complete()}))},r)},r)}}function $f(e,n,t){e?je(t,e,n):n()}function qf(e,n,t,r,i,o,s,a){let l=[],f=0,p=0,g=!1,y=()=>{g&&!l.length&&!f&&n.complete()},v=N=>f{o&&n.next(N),f++;let P=!1;ge(t(N,p++)).subscribe(Z(n,ee=>{i?.(ee),o?v(ee):n.next(ee)},()=>{P=!0},void 0,()=>{if(P)try{for(f--;l.length&&fE(ee)):E(ee)}y()}catch(ee){n.error(ee)}}))};return e.subscribe(Z(n,v,()=>{g=!0,y()})),()=>{a?.()}}function ue(e,n,t=1/0){return L(n)?ue((r,i)=>V((o,s)=>n(r,o,i,s))(ge(e(r,i))),t):(typeof n=="number"&&(t=n),K((r,i)=>qf(r,i,e,t)))}function on(e=1/0){return ue(We,e)}function zf(){return on(1)}function dr(...e){return zf()(oe(e,rn(e)))}function ts(e){return new X(n=>{ge(e()).subscribe(n)})}function Gl(...e){let n=jo(e),{args:t,keys:r}=Jo(e),i=new X(o=>{let{length:s}=t;if(!s){o.complete();return}let a=new Array(s),l=s,f=s;for(let p=0;p{g||(g=!0,f--),a[p]=y},()=>l--,void 0,()=>{(!l||!g)&&(f||o.next(r?es(r,a):a),o.complete())}))}});return n?i.pipe(Xo(n)):i}function De(e,n){return K((t,r)=>{let i=0;t.subscribe(Z(r,o=>e.call(n,o,i++)&&r.next(o)))})}function jt(e){return K((n,t)=>{let r=null,i=!1,o;r=n.subscribe(Z(t,void 0,void 0,s=>{o=ge(e(s,jt(e)(n))),r?(r.unsubscribe(),r=null,o.subscribe(t)):i=!0})),i&&(r.unsubscribe(),r=null,o.subscribe(t))})}function Gf(e,n,t,r,i){return(o,s)=>{let a=t,l=n,f=0;o.subscribe(Z(s,p=>{let g=f++;l=a?e(l,p,g):(a=!0,p),r&&s.next(l)},i&&(()=>{a&&s.next(l),s.complete()})))}}function Ct(e,n){return L(n)?ue(e,n,1):ue(e,1)}function sn(e){return K((n,t)=>{let r=!1;n.subscribe(Z(t,i=>{r=!0,t.next(i)},()=>{r||t.next(e),t.complete()}))})}function Bt(e){return e<=0?()=>Ve:K((n,t)=>{let r=0;n.subscribe(Z(t,i=>{++r<=e&&(t.next(i),e<=r&&t.complete())}))})}function ns(e=i0){return K((n,t)=>{let r=!1;n.subscribe(Z(t,i=>{r=!0,t.next(i)},()=>r?t.complete():t.error(e())))})}function i0(){return new Vt}function an(e){return K((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}function Ut(e,n){let t=arguments.length>=2;return r=>r.pipe(e?De((i,o)=>e(i,o,r)):We,Bt(1),t?sn(n):ns(()=>new Vt))}function fr(e){return e<=0?()=>Ve:K((n,t)=>{let r=[];n.subscribe(Z(t,i=>{r.push(i),e{for(let i of r)t.next(i);t.complete()},void 0,()=>{r=null}))})}function Wl(e,n){let t=arguments.length>=2;return r=>r.pipe(e?De((i,o)=>e(i,o,r)):We,fr(1),t?sn(n):ns(()=>new Vt))}function Zl(e,n){return K(Gf(e,n,arguments.length>=2,!0))}function Yl(...e){let n=rn(e);return K((t,r)=>{(n?dr(e,t,n):dr(e,t)).subscribe(r)})}function Be(e,n){return K((t,r)=>{let i=null,o=0,s=!1,a=()=>s&&!i&&r.complete();t.subscribe(Z(r,l=>{i?.unsubscribe();let f=0,p=o++;ge(e(l,p)).subscribe(i=Z(r,g=>r.next(n?n(l,g,p,f++):g),()=>{i=null,a()}))},()=>{s=!0,a()}))})}function Ql(e){return K((n,t)=>{ge(e).subscribe(Z(t,()=>t.complete(),vi)),!t.closed&&n.subscribe(t)})}function Se(e,n,t){let r=L(e)||n||t?{next:e,error:n,complete:t}:e;return r?K((i,o)=>{var s;(s=r.subscribe)===null||s===void 0||s.call(r);let a=!0;i.subscribe(Z(o,l=>{var f;(f=r.next)===null||f===void 0||f.call(r,l),o.next(l)},()=>{var l;a=!1,(l=r.complete)===null||l===void 0||l.call(r),o.complete()},l=>{var f;a=!1,(f=r.error)===null||f===void 0||f.call(r,l),o.error(l)},()=>{var l,f;a&&((l=r.unsubscribe)===null||l===void 0||l.call(r)),(f=r.finalize)===null||f===void 0||f.call(r)}))}):We}var Pp="https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss",I=class extends Error{code;constructor(n,t){super(Fp(n,t)),this.code=n}};function o0(e){return`NG0${Math.abs(e)}`}function Fp(e,n){return`${o0(e)}${n?": "+n:""}`}var Lp=Symbol("InputSignalNode#UNSET"),s0=Y(w({},Ro),{transformFn:void 0,applyValueToInputSignal(e,n){hi(e,n)}});function Vp(e,n){let t=Object.create(s0);t.value=e,t.transformFn=n?.transform;function r(){if(pi(t),t.value===Lp){let i=null;throw new I(-950,i)}return t.value}return r[tt]=t,r}function Ti(e){return{toString:e}.toString()}var rs="__parameters__";function a0(e){return function(...t){if(e){let r=e(...t);for(let i in r)this[i]=r[i]}}}function jp(e,n,t){return Ti(()=>{let r=a0(n);function i(...o){if(this instanceof i)return r.apply(this,o),this;let s=new i(...o);return a.annotation=s,a;function a(l,f,p){let g=l.hasOwnProperty(rs)?l[rs]:Object.defineProperty(l,rs,{value:[]})[rs];for(;g.length<=p;)g.push(null);return(g[p]=g[p]||[]).push(s),l}}return i.prototype.ngMetadataName=e,i.annotationCls=i,i})}var Et=globalThis;function se(e){for(let n in e)if(e[n]===se)return n;throw Error("Could not find renamed property on target object.")}function l0(e,n){for(let t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function Ue(e){if(typeof e=="string")return e;if(Array.isArray(e))return`[${e.map(Ue).join(", ")}]`;if(e==null)return""+e;let n=e.overriddenName||e.name;if(n)return`${n}`;let t=e.toString();if(t==null)return""+t;let r=t.indexOf(` -`);return r>=0?t.slice(0,r):t}function Wf(e,n){return e?n?`${e} ${n}`:e:n||""}var c0=se({__forward_ref__:se});function Qe(e){return e.__forward_ref__=Qe,e.toString=function(){return Ue(this())},e}function Ne(e){return Bp(e)?e():e}function Bp(e){return typeof e=="function"&&e.hasOwnProperty(c0)&&e.__forward_ref__===Qe}function b(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function $e(e){return{providers:e.providers||[],imports:e.imports||[]}}function Fs(e){return Zf(e,Hp)||Zf(e,$p)}function Up(e){return Fs(e)!==null}function Zf(e,n){return e.hasOwnProperty(n)?e[n]:null}function u0(e){let n=e&&(e[Hp]||e[$p]);return n||null}function Yf(e){return e&&(e.hasOwnProperty(Qf)||e.hasOwnProperty(d0))?e[Qf]:null}var Hp=se({\u0275prov:se}),Qf=se({\u0275inj:se}),$p=se({ngInjectableDef:se}),d0=se({ngInjectorDef:se}),S=class{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(n,t){this._desc=n,this.\u0275prov=void 0,typeof t=="number"?this.__NG_ELEMENT_ID__=t:t!==void 0&&(this.\u0275prov=b({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function qp(e){return e&&!!e.\u0275providers}var f0=se({\u0275cmp:se}),p0=se({\u0275dir:se}),h0=se({\u0275pipe:se}),m0=se({\u0275mod:se}),fs=se({\u0275fac:se}),Ei=se({__NG_ELEMENT_ID__:se}),Kf=se({__NG_ENV_ID__:se});function _r(e){return typeof e=="string"?e:e==null?"":String(e)}function g0(e){return typeof e=="function"?e.name||e.toString():typeof e=="object"&&e!=null&&typeof e.type=="function"?e.type.name||e.type.toString():_r(e)}function zp(e,n){throw new I(-200,e)}function su(e,n){throw new I(-201,!1)}var G=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(G||{}),uc;function Gp(){return uc}function nt(e){let n=uc;return uc=e,n}function Wp(e,n,t){let r=Fs(e);if(r&&r.providedIn=="root")return r.value===void 0?r.value=r.factory():r.value;if(t&G.Optional)return null;if(n!==void 0)return n;su(e,"Injector")}var v0={},An=v0,dc="__NG_DI_FLAG__",ps=class{injector;constructor(n){this.injector=n}retrieve(n,t){let r=t;return this.injector.get(n,r.optional?ko:An,r)}},hs="ngTempTokenPath",y0="ngTokenPath",_0=/\n/gm,C0="\u0275",Xf="__source";function D0(e,n=G.Default){if(mi()===void 0)throw new I(-203,!1);if(mi()===null)return Wp(e,void 0,n);{let t=mi(),r;return t instanceof ps?r=t.injector:r=t,r.get(e,n&G.Optional?null:void 0,n)}}function A(e,n=G.Default){return(Gp()||D0)(Ne(e),n)}function C(e,n=G.Default){return A(e,Ls(n))}function Ls(e){return typeof e>"u"||typeof e=="number"?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function fc(e){let n=[];for(let t=0;t ");else if(typeof n=="object"){let o=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];o.push(s+":"+(typeof a=="string"?JSON.stringify(a):Ue(a)))}i=`{${o.join(", ")}}`}return`${t}${r?"("+r+")":""}[${i}]: ${e.replace(_0,` - `)}`}var I0=Zp(jp("Optional"),8);var S0=Zp(jp("SkipSelf"),4);function Cr(e,n){let t=e.hasOwnProperty(fs);return t?e[fs]:null}function x0(e,n,t){if(e.length!==n.length)return!1;for(let r=0;rArray.isArray(t)?au(t,n):n(t))}function Yp(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function ms(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function T0(e,n,t,r){let i=e.length;if(i==n)e.push(t,r);else if(i===1)e.push(r,e[0]),e[0]=t;else{for(i--,e.push(e[i-1],e[i]);i>n;){let o=i-2;e[i]=e[o],i--}e[n]=t,e[n+1]=r}}function A0(e,n,t){let r=Ai(e,n);return r>=0?e[r|1]=t:(r=~r,T0(e,r,n,t)),r}function Kl(e,n){let t=Ai(e,n);if(t>=0)return e[t|1]}function Ai(e,n){return N0(e,n,1)}function N0(e,n,t){let r=0,i=e.length>>t;for(;i!==r;){let o=r+(i-r>>1),s=e[o<n?i=o:r=o+1}return~(i<{t.push(s)};return au(n,s=>{let a=s;pc(a,o,[],r)&&(i||=[],i.push(a))}),i!==void 0&&eh(i,o),t}function eh(e,n){for(let t=0;t{n(o,r)})}}function pc(e,n,t,r){if(e=Ne(e),!e)return!1;let i=null,o=Yf(e),s=!o&&kn(e);if(!o&&!s){let l=e.ngModule;if(o=Yf(l),o)i=l;else return!1}else{if(s&&!s.standalone)return!1;i=e}let a=r.has(i);if(s){if(a)return!1;if(r.add(i),s.dependencies){let l=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let f of l)pc(f,n,t,r)}}else if(o){if(o.imports!=null&&!a){r.add(i);let f;try{au(o.imports,p=>{pc(p,n,t,r)&&(f||=[],f.push(p))})}finally{}f!==void 0&&eh(f,n)}if(!a){let f=Cr(i)||(()=>new i);n({provide:i,useFactory:f,deps:rt},i),n({provide:Kp,useValue:i,multi:!0},i),n({provide:wi,useValue:()=>A(i),multi:!0},i)}let l=o.providers;if(l!=null&&!a){let f=e;cu(l,p=>{n(p,f)})}}else return!1;return i!==e&&e.providers!==void 0}function cu(e,n){for(let t of e)qp(t)&&(t=t.\u0275providers),Array.isArray(t)?cu(t,n):n(t)}var O0=se({provide:String,useValue:se});function th(e){return e!==null&&typeof e=="object"&&O0 in e}function P0(e){return!!(e&&e.useExisting)}function F0(e){return!!(e&&e.useFactory)}function Dr(e){return typeof e=="function"}function L0(e){return!!e.useClass}var js=new S(""),ss={},Jf={},Xl;function uu(){return Xl===void 0&&(Xl=new gs),Xl}var xe=class{},bi=class extends xe{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(n,t,r,i){super(),this.parent=t,this.source=r,this.scopes=i,mc(n,s=>this.processProvider(s)),this.records.set(Qp,pr(void 0,this)),i.has("environment")&&this.records.set(xe,pr(void 0,this));let o=this.records.get(js);o!=null&&typeof o.value=="string"&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(Kp,rt,G.Self))}retrieve(n,t){let r=t;return this.get(n,r.optional?ko:An,r)}destroy(){Ci(this),this._destroyed=!0;let n=W(null);try{for(let r of this._ngOnDestroyHooks)r.ngOnDestroy();let t=this._onDestroyHooks;this._onDestroyHooks=[];for(let r of t)r()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),W(n)}}onDestroy(n){return Ci(this),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){Ci(this);let t=Lt(this),r=nt(void 0),i;try{return n()}finally{Lt(t),nt(r)}}get(n,t=An,r=G.Default){if(Ci(this),n.hasOwnProperty(Kf))return n[Kf](this);r=Ls(r);let i,o=Lt(this),s=nt(void 0);try{if(!(r&G.SkipSelf)){let l=this.records.get(n);if(l===void 0){let f=H0(n)&&Fs(n);f&&this.injectableDefInScope(f)?l=pr(hc(n),ss):l=null,this.records.set(n,l)}if(l!=null)return this.hydrate(n,l)}let a=r&G.Self?uu():this.parent;return t=r&G.Optional&&t===An?null:t,a.get(n,t)}catch(a){if(a.name==="NullInjectorError"){if((a[hs]=a[hs]||[]).unshift(Ue(n)),o)throw a;return w0(a,n,"R3InjectorError",this.source)}else throw a}finally{nt(s),Lt(o)}}resolveInjectorInitializers(){let n=W(null),t=Lt(this),r=nt(void 0),i;try{let o=this.get(wi,rt,G.Self);for(let s of o)s()}finally{Lt(t),nt(r),W(n)}}toString(){let n=[],t=this.records;for(let r of t.keys())n.push(Ue(r));return`R3Injector[${n.join(", ")}]`}processProvider(n){n=Ne(n);let t=Dr(n)?n:Ne(n&&n.provide),r=j0(n);if(!Dr(n)&&n.multi===!0){let i=this.records.get(t);i||(i=pr(void 0,ss,!0),i.factory=()=>fc(i.multi),this.records.set(t,i)),t=n,i.multi.push(n)}this.records.set(t,r)}hydrate(n,t){let r=W(null);try{return t.value===Jf?zp(Ue(n)):t.value===ss&&(t.value=Jf,t.value=t.factory()),typeof t.value=="object"&&t.value&&U0(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{W(r)}}injectableDefInScope(n){if(!n.providedIn)return!1;let t=Ne(n.providedIn);return typeof t=="string"?t==="any"||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){let t=this._onDestroyHooks.indexOf(n);t!==-1&&this._onDestroyHooks.splice(t,1)}};function hc(e){let n=Fs(e),t=n!==null?n.factory:Cr(e);if(t!==null)return t;if(e instanceof S)throw new I(204,!1);if(e instanceof Function)return V0(e);throw new I(204,!1)}function V0(e){if(e.length>0)throw new I(204,!1);let t=u0(e);return t!==null?()=>t.factory(e):()=>new e}function j0(e){if(th(e))return pr(void 0,e.useValue);{let n=nh(e);return pr(n,ss)}}function nh(e,n,t){let r;if(Dr(e)){let i=Ne(e);return Cr(i)||hc(i)}else if(th(e))r=()=>Ne(e.useValue);else if(F0(e))r=()=>e.useFactory(...fc(e.deps||[]));else if(P0(e))r=()=>A(Ne(e.useExisting));else{let i=Ne(e&&(e.useClass||e.provide));if(B0(e))r=()=>new i(...fc(e.deps));else return Cr(i)||hc(i)}return r}function Ci(e){if(e.destroyed)throw new I(205,!1)}function pr(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function B0(e){return!!e.deps}function U0(e){return e!==null&&typeof e=="object"&&typeof e.ngOnDestroy=="function"}function H0(e){return typeof e=="function"||typeof e=="object"&&e instanceof S}function mc(e,n){for(let t of e)Array.isArray(t)?mc(t,n):t&&qp(t)?mc(t.\u0275providers,n):n(t)}function qe(e,n){let t;e instanceof bi?(Ci(e),t=e):t=new ps(e);let r,i=Lt(t),o=nt(void 0);try{return n()}finally{Lt(i),nt(o)}}function rh(){return Gp()!==void 0||mi()!=null}function $0(e){if(!rh())throw new I(-203,!1)}function q0(e){return typeof e=="function"}var Gt=0,$=1,F=2,Me=3,ut=4,dt=5,vs=6,ys=7,Re=8,Er=9,Ht=10,he=11,Ii=12,ep=13,Nr=14,wt=15,On=16,hr=17,$t=18,Bs=19,ih=20,ln=21,Jl=22,_s=23,it=24,vr=25,Ze=26,oh=1;var Pn=7,Cs=8,wr=9,He=10;function cn(e){return Array.isArray(e)&&typeof e[oh]=="object"}function Wt(e){return Array.isArray(e)&&e[oh]===!0}function du(e){return(e.flags&4)!==0}function Rr(e){return e.componentOffset>-1}function Us(e){return(e.flags&1)===1}function bt(e){return!!e.template}function Ds(e){return(e[F]&512)!==0}function Ni(e){return(e[F]&256)===256}var gc=class{previousValue;currentValue;firstChange;constructor(n,t,r){this.previousValue=n,this.currentValue=t,this.firstChange=r}isFirstChange(){return this.firstChange}};function sh(e,n,t,r){n!==null?n.applyValueToInputSignal(n,r):e[t]=r}var Zt=(()=>{let e=()=>ah;return e.ngInherit=!0,e})();function ah(e){return e.type.prototype.ngOnChanges&&(e.setInput=G0),z0}function z0(){let e=ch(this),n=e?.current;if(n){let t=e.previous;if(t===Rn)e.previous=n;else for(let r in n)t[r]=n[r];e.current=null,this.ngOnChanges(n)}}function G0(e,n,t,r,i){let o=this.declaredInputs[r],s=ch(e)||W0(e,{previous:Rn,current:null}),a=s.current||(s.current={}),l=s.previous,f=l[o];a[o]=new gc(f&&f.currentValue,t,l===Rn),sh(e,n,i,t)}var lh="__ngSimpleChanges__";function ch(e){return e[lh]||null}function W0(e,n){return e[lh]=n}var tp=null;var ie=function(e,n=null,t){tp?.(e,n,t)},Z0="svg",Y0="math";function It(e){for(;Array.isArray(e);)e=e[Gt];return e}function uh(e,n){return It(n[e])}function Tt(e,n){return It(n[e.index])}function fu(e,n){return e.data[n]}function Q0(e,n){return e[n]}function St(e,n){let t=n[e];return cn(t)?t:t[Gt]}function K0(e){return(e[F]&4)===4}function pu(e){return(e[F]&128)===128}function X0(e){return Wt(e[Me])}function br(e,n){return n==null?null:e[n]}function dh(e){e[hr]=0}function fh(e){e[F]&1024||(e[F]|=1024,pu(e)&&Ri(e))}function J0(e,n){for(;e>0;)n=n[Nr],e--;return n}function Hs(e){return!!(e[F]&9216||e[it]?.dirty)}function vc(e){e[Ht].changeDetectionScheduler?.notify(8),e[F]&64&&(e[F]|=1024),Hs(e)&&Ri(e)}function Ri(e){e[Ht].changeDetectionScheduler?.notify(0);let n=Fn(e);for(;n!==null&&!(n[F]&8192||(n[F]|=8192,!pu(n)));)n=Fn(n)}function ph(e,n){if(Ni(e))throw new I(911,!1);e[ln]===null&&(e[ln]=[]),e[ln].push(n)}function e_(e,n){if(e[ln]===null)return;let t=e[ln].indexOf(n);t!==-1&&e[ln].splice(t,1)}function Fn(e){let n=e[Me];return Wt(n)?n[Me]:n}function hu(e){return e[ys]??=[]}function mu(e){return e.cleanup??=[]}function t_(e,n,t,r){let i=hu(n);i.push(t),e.firstCreatePass&&mu(e).push(r,i.length-1)}var q={lFrame:Dh(null),bindingsEnabled:!0,skipHydrationRootTNode:null};var yc=!1;function n_(){return q.lFrame.elementDepthCount}function r_(){q.lFrame.elementDepthCount++}function i_(){q.lFrame.elementDepthCount--}function gu(){return q.bindingsEnabled}function o_(){return q.skipHydrationRootTNode!==null}function s_(e){return q.skipHydrationRootTNode===e}function a_(){q.skipHydrationRootTNode=null}function Q(){return q.lFrame.lView}function Ee(){return q.lFrame.tView}function x(e){return q.lFrame.contextLView=e,e[Re]}function M(e){return q.lFrame.contextLView=null,e}function Te(){let e=hh();for(;e!==null&&e.type===64;)e=e.parent;return e}function hh(){return q.lFrame.currentTNode}function l_(){let e=q.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}function Un(e,n){let t=q.lFrame;t.currentTNode=e,t.isParent=n}function vu(){return q.lFrame.isParent}function mh(){q.lFrame.isParent=!1}function c_(){return q.lFrame.contextLView}function gh(){return yc}function np(e){let n=yc;return yc=e,n}function yu(){let e=q.lFrame,n=e.bindingRootIndex;return n===-1&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function u_(){return q.lFrame.bindingIndex}function d_(e){return q.lFrame.bindingIndex=e}function ki(){return q.lFrame.bindingIndex++}function vh(e){let n=q.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function f_(){return q.lFrame.inI18n}function p_(e,n){let t=q.lFrame;t.bindingIndex=t.bindingRootIndex=e,_c(n)}function h_(){return q.lFrame.currentDirectiveIndex}function _c(e){q.lFrame.currentDirectiveIndex=e}function m_(e){let n=q.lFrame.currentDirectiveIndex;return n===-1?null:e[n]}function yh(){return q.lFrame.currentQueryIndex}function _u(e){q.lFrame.currentQueryIndex=e}function g_(e){let n=e[$];return n.type===2?n.declTNode:n.type===1?e[dt]:null}function _h(e,n,t){if(t&G.SkipSelf){let i=n,o=e;for(;i=i.parent,i===null&&!(t&G.Host);)if(i=g_(o),i===null||(o=o[Nr],i.type&10))break;if(i===null)return!1;n=i,e=o}let r=q.lFrame=Ch();return r.currentTNode=n,r.lView=e,!0}function Cu(e){let n=Ch(),t=e[$];q.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function Ch(){let e=q.lFrame,n=e===null?null:e.child;return n===null?Dh(e):n}function Dh(e){let n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return e!==null&&(e.child=n),n}function Eh(){let e=q.lFrame;return q.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var wh=Eh;function Du(){let e=Eh();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function v_(e){return(q.lFrame.contextLView=J0(e,q.lFrame.contextLView))[Re]}function Hn(){return q.lFrame.selectedIndex}function Ln(e){q.lFrame.selectedIndex=e}function $s(){let e=q.lFrame;return fu(e.tView,e.selectedIndex)}function y_(){return q.lFrame.currentNamespace}var bh=!0;function qs(){return bh}function zs(e){bh=e}function __(e,n,t){let{ngOnChanges:r,ngOnInit:i,ngDoCheck:o}=n.type.prototype;if(r){let s=ah(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}i&&(t.preOrderHooks??=[]).push(0-e,i),o&&((t.preOrderHooks??=[]).push(e,o),(t.preOrderCheckHooks??=[]).push(e,o))}function Eu(e,n){for(let t=n.directiveStart,r=n.directiveEnd;t=r)break}else n[l]<0&&(e[hr]+=65536),(a>14>16&&(e[F]&3)===n&&(e[F]+=16384,rp(a,o)):rp(a,o)}var yr=-1,Vn=class{factory;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(n,t,r){this.factory=n,this.canSeeViewProviders=t,this.injectImpl=r}};function D_(e){return(e.flags&8)!==0}function E_(e){return(e.flags&16)!==0}function w_(e,n,t){let r=0;for(;rn){s=o-1;break}}}for(;o>16}function ws(e,n){let t=I_(e),r=n;for(;t>0;)r=r[Nr],t--;return r}var Cc=!0;function op(e){let n=Cc;return Cc=e,n}var S_=256,Mh=S_-1,Th=5,x_=0,Dt={};function M_(e,n,t){let r;typeof t=="string"?r=t.charCodeAt(0)||0:t.hasOwnProperty(Ei)&&(r=t[Ei]),r==null&&(r=t[Ei]=x_++);let i=r&Mh,o=1<>Th)]|=o}function bs(e,n){let t=Ah(e,n);if(t!==-1)return t;let r=n[$];r.firstCreatePass&&(e.injectorIndex=n.length,tc(r.data,e),tc(n,null),tc(r.blueprint,null));let i=wu(e,n),o=e.injectorIndex;if(xh(i)){let s=Es(i),a=ws(i,n),l=a[$].data;for(let f=0;f<8;f++)n[o+f]=a[s+f]|l[s+f]}return n[o+8]=i,o}function tc(e,n){e.push(0,0,0,0,0,0,0,0,n)}function Ah(e,n){return e.injectorIndex===-1||e.parent&&e.parent.injectorIndex===e.injectorIndex||n[e.injectorIndex+8]===null?-1:e.injectorIndex}function wu(e,n){if(e.parent&&e.parent.injectorIndex!==-1)return e.parent.injectorIndex;let t=0,r=null,i=n;for(;i!==null;){if(r=Ph(i),r===null)return yr;if(t++,i=i[Nr],r.injectorIndex!==-1)return r.injectorIndex|t<<16}return yr}function Dc(e,n,t){M_(e,n,t)}function T_(e,n){if(n==="class")return e.classes;if(n==="style")return e.styles;let t=e.attrs;if(t){let r=t.length,i=0;for(;i>20,g=r?a:a+p,y=i?a+p:f;for(let v=g;v=l&&E.type===t)return v}if(i){let v=s[l];if(v&&bt(v)&&v.type===t)return l}return null}function Si(e,n,t,r){let i=e[t],o=n.data;if(i instanceof Vn){let s=i;s.resolving&&zp(g0(o[t]));let a=op(s.canSeeViewProviders);s.resolving=!0;let l,f=s.injectImpl?nt(s.injectImpl):null,p=_h(e,r,G.Default);try{i=e[t]=s.factory(void 0,o,e,r),n.firstCreatePass&&t>=r.directiveStart&&__(t,o[t],n)}finally{f!==null&&nt(f),op(a),s.resolving=!1,wh()}}return i}function N_(e){if(typeof e=="string")return e.charCodeAt(0)||0;let n=e.hasOwnProperty(Ei)?e[Ei]:void 0;return typeof n=="number"?n>=0?n&Mh:R_:n}function sp(e,n,t){let r=1<>Th)]&r)}function ap(e,n){return!(e&G.Self)&&!(e&G.Host&&n)}var Nn=class{_tNode;_lView;constructor(n,t){this._tNode=n,this._lView=t}get(n,t,r){return kh(this._tNode,this._lView,n,Ls(r),t)}};function R_(){return new Nn(Te(),Q())}function ft(e){return Ti(()=>{let n=e.prototype.constructor,t=n[fs]||Ec(n),r=Object.prototype,i=Object.getPrototypeOf(e.prototype).constructor;for(;i&&i!==r;){let o=i[fs]||Ec(i);if(o&&o!==t)return o;i=Object.getPrototypeOf(i)}return o=>new o})}function Ec(e){return Bp(e)?()=>{let n=Ec(Ne(e));return n&&n()}:Cr(e)}function k_(e,n,t,r,i){let o=e,s=n;for(;o!==null&&s!==null&&s[F]&2048&&!Ds(s);){let a=Oh(o,s,t,r|G.Self,Dt);if(a!==Dt)return a;let l=o.parent;if(!l){let f=s[ih];if(f){let p=f.get(t,Dt,r);if(p!==Dt)return p}l=Ph(s),s=s[Nr]}o=l}return i}function Ph(e){let n=e[$],t=n.type;return t===2?n.declTNode:t===1?e[dt]:null}function bu(e){return T_(Te(),e)}function lp(e,n=null,t=null,r){let i=Fh(e,n,t,r);return i.resolveInjectorInitializers(),i}function Fh(e,n=null,t=null,r,i=new Set){let o=[t||rt,lu(e)];return r=r||(typeof e=="object"?void 0:Ue(e)),new bi(o,n||uu(),r||null,i)}var Ye=class e{static THROW_IF_NOT_FOUND=An;static NULL=new gs;static create(n,t){if(Array.isArray(n))return lp({name:""},t,n,"");{let r=n.name??"";return lp({name:r},n.parent,n.providers,r)}}static \u0275prov=b({token:e,providedIn:"any",factory:()=>A(Qp)});static __NG_ELEMENT_ID__=-1};var O_=new S("");O_.__NG_ELEMENT_ID__=e=>{let n=Te();if(n===null)throw new I(204,!1);if(n.type&2)return n.value;if(e&G.Optional)return null;throw new I(204,!1)};var Lh=!1,Oi=(()=>{class e{static __NG_ELEMENT_ID__=P_;static __NG_ENV_ID__=t=>t}return e})(),wc=class extends Oi{_lView;constructor(n){super(),this._lView=n}onDestroy(n){return ph(this._lView,n),()=>e_(this._lView,n)}};function P_(){return new wc(Q())}var Sr=class{},Vh=new S("",{providedIn:"root",factory:()=>!1});var jh=new S(""),Bh=new S(""),Yt=(()=>{class e{taskId=0;pendingTasks=new Set;get _hasPendingTasks(){return this.hasPendingTasks.value}hasPendingTasks=new Ie(!1);add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);let t=this.taskId++;return this.pendingTasks.add(t),t}has(t){return this.pendingTasks.has(t)}remove(t){this.pendingTasks.delete(t),this.pendingTasks.size===0&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static \u0275prov=b({token:e,providedIn:"root",factory:()=>new e})}return e})();var bc=class extends pe{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(n=!1){super(),this.__isAsync=n,rh()&&(this.destroyRef=C(Oi,{optional:!0})??void 0,this.pendingTasks=C(Yt,{optional:!0})??void 0)}emit(n){let t=W(null);try{super.next(n)}finally{W(t)}}subscribe(n,t,r){let i=n,o=t||(()=>null),s=r;if(n&&typeof n=="object"){let l=n;i=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=this.wrapInTimeout(o),i&&(i=this.wrapInTimeout(i)),s&&(s=this.wrapInTimeout(s)));let a=super.subscribe({next:i,error:o,complete:s});return n instanceof me&&n.add(a),a}wrapInTimeout(n){return t=>{let r=this.pendingTasks?.add();setTimeout(()=>{n(t),r!==void 0&&this.pendingTasks?.remove(r)})}}},ve=bc;function Is(...e){}function Uh(e){let n,t;function r(){e=Is;try{t!==void 0&&typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(t),n!==void 0&&clearTimeout(n)}catch{}}return n=setTimeout(()=>{e(),r()}),typeof requestAnimationFrame=="function"&&(t=requestAnimationFrame(()=>{e(),r()})),()=>r()}function cp(e){return queueMicrotask(()=>e()),()=>{e=Is}}var Iu="isAngularZone",Ss=Iu+"_ID",F_=0,ce=class e{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new ve(!1);onMicrotaskEmpty=new ve(!1);onStable=new ve(!1);onError=new ve(!1);constructor(n){let{enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:r=!1,shouldCoalesceRunChangeDetection:i=!1,scheduleInRootZone:o=Lh}=n;if(typeof Zone>"u")throw new I(908,!1);Zone.assertZonePatched();let s=this;s._nesting=0,s._outer=s._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(s._inner=s._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!i&&r,s.shouldCoalesceRunChangeDetection=i,s.callbackScheduled=!1,s.scheduleInRootZone=o,j_(s)}static isInAngularZone(){return typeof Zone<"u"&&Zone.current.get(Iu)===!0}static assertInAngularZone(){if(!e.isInAngularZone())throw new I(909,!1)}static assertNotInAngularZone(){if(e.isInAngularZone())throw new I(909,!1)}run(n,t,r){return this._inner.run(n,t,r)}runTask(n,t,r,i){let o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+i,n,L_,Is,Is);try{return o.runTask(s,t,r)}finally{o.cancelTask(s)}}runGuarded(n,t,r){return this._inner.runGuarded(n,t,r)}runOutsideAngular(n){return this._outer.run(n)}},L_={};function Su(e){if(e._nesting==0&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function V_(e){if(e.isCheckStableRunning||e.callbackScheduled)return;e.callbackScheduled=!0;function n(){Uh(()=>{e.callbackScheduled=!1,Ic(e),e.isCheckStableRunning=!0,Su(e),e.isCheckStableRunning=!1})}e.scheduleInRootZone?Zone.root.run(()=>{n()}):e._outer.run(()=>{n()}),Ic(e)}function j_(e){let n=()=>{V_(e)},t=F_++;e._inner=e._inner.fork({name:"angular",properties:{[Iu]:!0,[Ss]:t,[Ss+t]:!0},onInvokeTask:(r,i,o,s,a,l)=>{if(B_(l))return r.invokeTask(o,s,a,l);try{return up(e),r.invokeTask(o,s,a,l)}finally{(e.shouldCoalesceEventChangeDetection&&s.type==="eventTask"||e.shouldCoalesceRunChangeDetection)&&n(),dp(e)}},onInvoke:(r,i,o,s,a,l,f)=>{try{return up(e),r.invoke(o,s,a,l,f)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!U_(l)&&n(),dp(e)}},onHasTask:(r,i,o,s)=>{r.hasTask(o,s),i===o&&(s.change=="microTask"?(e._hasPendingMicrotasks=s.microTask,Ic(e),Su(e)):s.change=="macroTask"&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(r,i,o,s)=>(r.handleError(o,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}function Ic(e){e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&e.callbackScheduled===!0?e.hasPendingMicrotasks=!0:e.hasPendingMicrotasks=!1}function up(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function dp(e){e._nesting--,Su(e)}var Sc=class{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new ve;onMicrotaskEmpty=new ve;onStable=new ve;onError=new ve;run(n,t,r){return n.apply(t,r)}runGuarded(n,t,r){return n.apply(t,r)}runOutsideAngular(n){return n()}runTask(n,t,r,i){return n.apply(t,r)}};function B_(e){return Hh(e,"__ignore_ng_zone__")}function U_(e){return Hh(e,"__scheduler_tick__")}function Hh(e,n){return!Array.isArray(e)||e.length!==1?!1:e[0]?.data?.[n]===!0}var xt=class{_console=console;handleError(n){this._console.error("ERROR",n)}},H_=new S("",{providedIn:"root",factory:()=>{let e=C(ce),n=C(xt);return t=>e.runOutsideAngular(()=>n.handleError(t))}});function fp(e,n){return Vp(e,n)}function $_(e){return Vp(Lp,e)}var $h=(fp.required=$_,fp);function q_(){return kr(Te(),Q())}function kr(e,n){return new we(Tt(e,n))}var we=(()=>{class e{nativeElement;constructor(t){this.nativeElement=t}static __NG_ELEMENT_ID__=q_}return e})();function z_(e){return e instanceof we?e.nativeElement:e}function G_(e){return typeof e=="function"&&e[tt]!==void 0}function Pi(e,n){let t=Rl(e,n?.equal),r=t[tt];return t.set=i=>hi(r,i),t.update=i=>kl(r,i),t.asReadonly=W_.bind(t),t}function W_(){let e=this[tt];if(e.readonlyFn===void 0){let n=()=>this();n[tt]=e,e.readonlyFn=n}return e.readonlyFn}function qh(e){return G_(e)&&typeof e.set=="function"}function Z_(){return this._results[Symbol.iterator]()}var xc=class{_emitDistinctChangesOnly;dirty=!0;_onDirty=void 0;_results=[];_changesDetected=!1;_changes=void 0;length=0;first=void 0;last=void 0;get changes(){return this._changes??=new pe}constructor(n=!1){this._emitDistinctChangesOnly=n}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,t){return this._results.reduce(n,t)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,t){this.dirty=!1;let r=M0(n);(this._changesDetected=!x0(this._results,r,t))&&(this._results=r,this.length=r.length,this.last=r[this.length-1],this.first=r[0])}notifyOnChanges(){this._changes!==void 0&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.next(this)}onDirty(n){this._onDirty=n}setDirty(){this.dirty=!0,this._onDirty?.()}destroy(){this._changes!==void 0&&(this._changes.complete(),this._changes.unsubscribe())}[Symbol.iterator]=Z_};function zh(e){return(e.flags&128)===128}var Gh=function(e){return e[e.OnPush=0]="OnPush",e[e.Default=1]="Default",e}(Gh||{}),Wh=new Map,Y_=0;function Q_(){return Y_++}function K_(e){Wh.set(e[Bs],e)}function Mc(e){Wh.delete(e[Bs])}var pp="__ngContext__";function Or(e,n){cn(n)?(e[pp]=n[Bs],K_(n)):e[pp]=n}function Zh(e){return Qh(e[Ii])}function Yh(e){return Qh(e[ut])}function Qh(e){for(;e!==null&&!Wt(e);)e=e[ut];return e}var Tc;function Kh(e){Tc=e}function X_(){if(Tc!==void 0)return Tc;if(typeof document<"u")return document;throw new I(210,!1)}var xu=new S("",{providedIn:"root",factory:()=>J_}),J_="ng",Mu=new S(""),dn=new S("",{providedIn:"platform",factory:()=>"unknown"});var Tu=new S("",{providedIn:"root",factory:()=>X_().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});var eC="h",tC="b";var Xh=!1,nC=new S("",{providedIn:"root",factory:()=>Xh});var Au=function(e){return e[e.CHANGE_DETECTION=0]="CHANGE_DETECTION",e[e.AFTER_NEXT_RENDER=1]="AFTER_NEXT_RENDER",e}(Au||{}),Pr=new S(""),hp=new Set;function Fr(e){hp.has(e)||(hp.add(e),performance?.mark?.("mark_feature_usage",{detail:{feature:e}}))}var Jh=(()=>{class e{view;node;constructor(t,r){this.view=t,this.node=r}static __NG_ELEMENT_ID__=rC}return e})();function rC(){return new Jh(Q(),Te())}var mr=function(e){return e[e.EarlyRead=0]="EarlyRead",e[e.Write=1]="Write",e[e.MixedReadWrite=2]="MixedReadWrite",e[e.Read=3]="Read",e}(mr||{}),em=(()=>{class e{impl=null;execute(){this.impl?.execute()}static \u0275prov=b({token:e,providedIn:"root",factory:()=>new e})}return e})(),iC=[mr.EarlyRead,mr.Write,mr.MixedReadWrite,mr.Read],oC=(()=>{class e{ngZone=C(ce);scheduler=C(Sr);errorHandler=C(xt,{optional:!0});sequences=new Set;deferredRegistrations=new Set;executing=!1;constructor(){C(Pr,{optional:!0})}execute(){let t=this.sequences.size>0;t&&ie(16),this.executing=!0;for(let r of iC)for(let i of this.sequences)if(!(i.erroredOrDestroyed||!i.hooks[r]))try{i.pipelinedValue=this.ngZone.runOutsideAngular(()=>this.maybeTrace(()=>{let o=i.hooks[r];return o(i.pipelinedValue)},i.snapshot))}catch(o){i.erroredOrDestroyed=!0,this.errorHandler?.handleError(o)}this.executing=!1;for(let r of this.sequences)r.afterRun(),r.once&&(this.sequences.delete(r),r.destroy());for(let r of this.deferredRegistrations)this.sequences.add(r);this.deferredRegistrations.size>0&&this.scheduler.notify(7),this.deferredRegistrations.clear(),t&&ie(17)}register(t){let{view:r}=t;r!==void 0?((r[vr]??=[]).push(t),Ri(r),r[F]|=8192):this.executing?this.deferredRegistrations.add(t):this.addSequence(t)}addSequence(t){this.sequences.add(t),this.scheduler.notify(7)}unregister(t){this.executing&&this.sequences.has(t)?(t.erroredOrDestroyed=!0,t.pipelinedValue=void 0,t.once=!0):(this.sequences.delete(t),this.deferredRegistrations.delete(t))}maybeTrace(t,r){return r?r.run(Au.AFTER_NEXT_RENDER,t):t()}static \u0275prov=b({token:e,providedIn:"root",factory:()=>new e})}return e})(),Ac=class{impl;hooks;view;once;snapshot;erroredOrDestroyed=!1;pipelinedValue=void 0;unregisterOnDestroy;constructor(n,t,r,i,o,s=null){this.impl=n,this.hooks=t,this.view=r,this.once=i,this.snapshot=s,this.unregisterOnDestroy=o?.onDestroy(()=>this.destroy())}afterRun(){this.erroredOrDestroyed=!1,this.pipelinedValue=void 0,this.snapshot?.dispose(),this.snapshot=null}destroy(){this.impl.unregister(this),this.unregisterOnDestroy?.();let n=this.view?.[vr];n&&(this.view[vr]=n.filter(t=>t!==this))}};function Nu(e,n){!n?.injector&&$0(Nu);let t=n?.injector??C(Ye);return Fr("NgAfterNextRender"),aC(e,t,n,!0)}function sC(e,n){if(e instanceof Function){let t=[void 0,void 0,void 0,void 0];return t[n]=e,t}else return[e.earlyRead,e.write,e.mixedReadWrite,e.read]}function aC(e,n,t,r){let i=n.get(em);i.impl??=n.get(oC);let o=n.get(Pr,null,{optional:!0}),s=t?.phase??mr.MixedReadWrite,a=t?.manualCleanup!==!0?n.get(Oi):null,l=n.get(Jh,null,{optional:!0}),f=new Ac(i.impl,sC(e,s),l?.view,r,a,o?.snapshot(null));return i.impl.register(f),f}var lC=()=>null;function tm(e,n,t=!1){return lC(e,n,t)}function nm(e,n){let t=e.contentQueries;if(t!==null){let r=W(null);try{for(let i=0;ie,createScript:e=>e,createScriptURL:e=>e})}catch{}return is}function mp(e){return cC()?.createScriptURL(e)||e}var xs=class{changingThisBreaksApplicationSecurity;constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Pp})`}};function Gs(e){return e instanceof xs?e.changingThisBreaksApplicationSecurity:e}function rm(e,n){let t=uC(e);if(t!=null&&t!==n){if(t==="ResourceURL"&&n==="URL")return!0;throw new Error(`Required a safe ${n}, got a ${t} (see ${Pp})`)}return t===n}function uC(e){return e instanceof xs&&e.getTypeName()||null}var dC=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function fC(e){return e=String(e),e.match(dC)?e:"unsafe:"+e}var ku=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(ku||{});function Lr(e){let n=om();return n?n.sanitize(ku.URL,e)||"":rm(e,"URL")?Gs(e):fC(_r(e))}function pC(e){let n=om();if(n)return mp(n.sanitize(ku.RESOURCE_URL,e)||"");if(rm(e,"ResourceURL"))return mp(Gs(e));throw new I(904,!1)}function hC(e,n){return n==="src"&&(e==="embed"||e==="frame"||e==="iframe"||e==="media"||e==="script")||n==="href"&&(e==="base"||e==="link")?pC:Lr}function im(e,n,t){return hC(n,t)(e)}function om(){let e=Q();return e&&e[Ht].sanitizer}var mC=/^>|^->||--!>|)/g,vC="\u200B$1\u200B";function yC(e){return e.replace(mC,n=>n.replace(gC,vC))}function sm(e){return e instanceof Function?e():e}function _C(e,n,t){let r=e.length;for(;;){let i=e.indexOf(n,t);if(i===-1)return i;if(i===0||e.charCodeAt(i-1)<=32){let o=n.length;if(i+o===r||e.charCodeAt(i+o)<=32)return i}t=i+1}}var am="ng-template";function CC(e,n,t,r){let i=0;if(r){for(;i-1){let o;for(;++io?g="":g=i[p+1].toLowerCase(),r&2&&f!==g){if(ct(r))return!1;s=!0}}}}return ct(r)||s}function ct(e){return(e&1)===0}function wC(e,n,t,r){if(n===null)return-1;let i=0;if(r||!t){let o=!1;for(;i-1)for(t++;t0?'="'+a+'"':"")+"]"}else r&8?i+="."+s:r&4&&(i+=" "+s);else i!==""&&!ct(s)&&(n+=gp(o,i),i=""),r=s,o=o||!ct(r);t++}return i!==""&&(n+=gp(o,i)),n}function MC(e){return e.map(xC).join(",")}function TC(e){let n=[],t=[],r=1,i=2;for(;rZe&&pm(e,n,Ze,!1),ie(s?2:0,i),t(r,i)}finally{Ln(o),ie(s?3:1,i)}}function Zs(e,n,t){qC(e,n,t),(t.flags&64)===64&&zC(e,n,t)}function Vu(e,n,t=Tt){let r=n.localNames;if(r!==null){let i=n.index+1;for(let o=0;onull;function HC(e){return e==="class"?"className":e==="for"?"htmlFor":e==="formaction"?"formAction":e==="innerHtml"?"innerHTML":e==="readonly"?"readOnly":e==="tabindex"?"tabIndex":e}function ju(e,n,t,r,i,o,s,a){if(!a&&Uu(n,e,t,r,i)){Rr(n)&&$C(t,n.index);return}if(n.type&3){let l=Tt(n,t);r=HC(r),i=s!=null?s(i,n.value||"",r):i,o.setProperty(l,r,i)}else n.type&12}function $C(e,n){let t=St(n,e);t[F]&16||(t[F]|=64)}function qC(e,n,t){let r=t.directiveStart,i=t.directiveEnd;Rr(t)&&VC(n,t,e.data[r+t.componentOffset]),e.firstCreatePass||bs(t,n);let o=t.initialInputs;for(let s=r;s=0?r[a]():r[-a].unsubscribe(),s+=2}else{let a=r[t[s+1]];t[s].call(a)}r!==null&&(n[ys]=null);let i=n[ln];if(i!==null){n[ln]=null;for(let s=0;s{Ri(e.lView)},consumerOnSignalRead(){this.lView[it]=this}});function _D(e){let n=e[it]??Object.create(CD);return n.lView=e,n}var CD=Y(w({},fi),{consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:e=>{let n=Fn(e.lView);for(;n&&!Dm(n[$]);)n=Fn(n);n&&fh(n)},consumerOnSignalRead(){this.lView[it]=this}});function Dm(e){return e.type!==2}function Em(e){if(e[_s]===null)return;let n=!0;for(;n;){let t=!1;for(let r of e[_s])r.dirty&&(t=!0,r.zone===null||Zone.current===r.zone?r.run():r.zone.run(()=>r.run()));n=t&&!!(e[F]&8192)}}var DD=100;function wm(e,n=!0,t=0){let i=e[Ht].rendererFactory,o=!1;o||i.begin?.();try{ED(e,t)}catch(s){throw n&&QC(e,s),s}finally{o||i.end?.()}}function ED(e,n){let t=gh();try{np(!0),Pc(e,n);let r=0;for(;Hs(e);){if(r===DD)throw new I(103,!1);r++,Pc(e,1)}}finally{np(t)}}function wD(e,n,t,r){if(Ni(n))return;let i=n[F],o=!1,s=!1;Cu(n);let a=!0,l=null,f=null;o||(Dm(e)?(f=mD(n),l=To(f)):wl()===null?(a=!1,f=_D(n),l=To(f)):n[it]&&(Tl(n[it]),n[it]=null));try{dh(n),d_(e.bindingStartIndex),t!==null&&hm(e,n,t,2,r);let p=(i&3)===3;if(!o)if(p){let v=e.preOrderCheckHooks;v!==null&&as(n,v,null)}else{let v=e.preOrderHooks;v!==null&&ls(n,v,0,null),ec(n,0)}if(s||bD(n),Em(n),bm(n,0),e.contentQueries!==null&&nm(e,n),!o)if(p){let v=e.contentCheckHooks;v!==null&&as(n,v)}else{let v=e.contentHooks;v!==null&&ls(n,v,1),ec(n,1)}SD(e,n);let g=e.components;g!==null&&Sm(n,g,0);let y=e.viewQuery;if(y!==null&&Nc(2,y,r),!o)if(p){let v=e.viewCheckHooks;v!==null&&as(n,v)}else{let v=e.viewHooks;v!==null&&ls(n,v,2),ec(n,2)}if(e.firstUpdatePass===!0&&(e.firstUpdatePass=!1),n[Jl]){for(let v of n[Jl])v();n[Jl]=null}o||(_m(n),n[F]&=-73)}catch(p){throw o||Ri(n),p}finally{f!==null&&(xl(f,l),a&&vD(f)),Du()}}function bm(e,n){for(let t=Zh(e);t!==null;t=Yh(t))for(let r=He;r0&&(e[t-1][ut]=r[ut]);let o=ms(e,He+n);tD(r[$],r);let s=o[$t];s!==null&&s.detachView(o[$]),r[Me]=null,r[ut]=null,r[F]&=-129}return r}function TD(e,n,t,r){let i=He+r,o=t.length;r>0&&(t[i-1][ut]=n),r-1&&(As(n,r),ms(t,r))}this._attachedToViewContainer=!1}zu(this._lView[$],this._lView)}onDestroy(n){ph(this._lView,n)}markForCheck(){Wu(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[F]&=-129}reattach(){vc(this._lView),this._lView[F]|=128}detectChanges(){this._lView[F]|=1024,wm(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new I(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let n=Ds(this._lView),t=this._lView[On];t!==null&&!n&&qu(t,this._lView),vm(this._lView[$],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new I(902,!1);this._appRef=n;let t=Ds(this._lView),r=this._lView[On];r!==null&&!t&&Tm(r,this._lView),vc(this._lView)}};var jn=(()=>{class e{static __NG_ELEMENT_ID__=RD}return e})(),AD=jn,ND=class extends AD{_declarationLView;_declarationTContainer;elementRef;constructor(n,t,r){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,r){let i=mm(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:t,dehydratedView:r});return new xi(i)}};function RD(){return Zu(Te(),Q())}function Zu(e,n){return e.type&4?new ND(n,e,kr(e,n)):null}function Ks(e,n,t,r,i){let o=e.data[n];if(o===null)o=kD(e,n,t,r,i),f_()&&(o.flags|=32);else if(o.type&64){o.type=t,o.value=r,o.attrs=i;let s=l_();o.injectorIndex=s===null?-1:s.injectorIndex}return Un(o,!0),o}function kD(e,n,t,r,i){let o=hh(),s=vu(),a=s?o:o&&o.parent,l=e.data[n]=PD(e,a,t,n,r,i);return OD(e,l,o,s),l}function OD(e,n,t,r){e.firstChild===null&&(e.firstChild=n),t!==null&&(r?t.child==null&&n.parent!==null&&(t.child=n):t.next===null&&(t.next=n,n.prev=t))}function PD(e,n,t,r,i,o){let s=n?n.injectorIndex:-1,a=0;return o_()&&(a|=128),{type:t,index:r,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:i,attrs:o,mergedAttrs:null,localNames:null,initialInputs:null,inputs:null,hostDirectiveInputs:null,outputs:null,hostDirectiveOutputs:null,directiveToIndex:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}var Vk=new RegExp(`^(\\d+)*(${tC}|${eC})*(.*)`);var FD=()=>null;function Fc(e,n){return FD(e,n)}var LD=class{},Am=class{},Lc=class{resolveComponentFactory(n){throw Error(`No component factory found for ${Ue(n)}.`)}},Xs=class{static NULL=new Lc},xr=class{},st=(()=>{class e{destroyNode=null;static __NG_ELEMENT_ID__=()=>VD()}return e})();function VD(){let e=Q(),n=Te(),t=St(n.index,e);return(cn(t)?t:e)[he]}var jD=(()=>{class e{static \u0275prov=b({token:e,providedIn:"root",factory:()=>null})}return e})();var rc={},Vc=class{injector;parentInjector;constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,r){r=Ls(r);let i=this.injector.get(n,rc,r);return i!==rc||t===rc?i:this.parentInjector.get(n,t,r)}};function jc(e,n,t){let r=t?e.styles:null,i=t?e.classes:null,o=0;if(n!==null)for(let s=0;s0&&(t.directiveToIndex=new Map);for(let y=0;y0;){let t=e[--n];if(typeof t=="number"&&t<0)return t}return 0}function YD(e,n,t){if(t){if(n.exportAs)for(let r=0;r{let[t,r,i]=e[n],o={propName:t,templateName:n,isSignal:(r&Ws.SignalBased)!==0};return i&&(o.transform=i),o})}function XD(e){return Object.keys(e).map(n=>({propName:e[n],templateName:n}))}function JD(e,n,t){let r=n instanceof xe?n:n?.injector;return r&&e.getStandaloneInjector!==null&&(r=e.getStandaloneInjector(r)||r),r?new Vc(t,r):t}function eE(e){let n=e.get(xr,null);if(n===null)throw new I(407,!1);let t=e.get(jD,null),r=e.get(Sr,null);return{rendererFactory:n,sanitizer:t,changeDetectionScheduler:r}}function tE(e,n){let t=(e.selectors[0][0]||"div").toLowerCase();return lm(n,t,t==="svg"?Z0:t==="math"?Y0:null)}var Mr=class extends Am{componentDef;ngModule;selector;componentType;ngContentSelectors;isBoundToModule;cachedInputs=null;cachedOutputs=null;get inputs(){return this.cachedInputs??=KD(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=XD(this.componentDef.outputs),this.cachedOutputs}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=MC(n.selectors),this.ngContentSelectors=n.ngContentSelectors??[],this.isBoundToModule=!!t}create(n,t,r,i){ie(22);let o=W(null);try{let s=this.componentDef,a=r?["ng-version","19.2.8"]:TC(this.componentDef.selectors[0]),l=Pu(0,null,null,1,0,null,null,null,null,[a],null),f=JD(s,i||this.ngModule,n),p=eE(f),g=p.rendererFactory.createRenderer(null,s),y=r?jC(g,r,s.encapsulation,f):tE(s,g),v=Fu(null,l,null,512|dm(s),null,null,p,g,f,null,tm(y,f,!0));v[Ze]=y,Cu(v);let E=null;try{let N=km(Ze,l,v,"#host",()=>[this.componentDef],!0,0);y&&(um(g,y,N),Or(y,v)),Zs(l,v,N),Ru(l,N,v),Om(l,N),t!==void 0&&nE(N,this.ngContentSelectors,t),E=St(N.index,v),v[Re]=E[Re],Hu(l,v,null)}catch(N){throw E!==null&&Mc(E),Mc(v),N}finally{ie(23),Du()}return new Bc(this.componentType,v)}finally{W(o)}}},Bc=class extends LD{_rootLView;instance;hostView;changeDetectorRef;componentType;location;previousInputValues=null;_tNode;constructor(n,t){super(),this._rootLView=t,this._tNode=fu(t[$],Ze),this.location=kr(this._tNode,t),this.instance=St(this._tNode.index,t)[Re],this.hostView=this.changeDetectorRef=new xi(t,void 0,!1),this.componentType=n}setInput(n,t){let r=this._tNode;if(this.previousInputValues??=new Map,this.previousInputValues.has(n)&&Object.is(this.previousInputValues.get(n),t))return;let i=this._rootLView,o=Uu(r,i[$],i,n,t);this.previousInputValues.set(n,t);let s=St(r.index,i);Wu(s,1)}get injector(){return new Nn(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(n){this.hostView.onDestroy(n)}};function nE(e,n,t){let r=e.projection=[];for(let i=0;i{class e{static __NG_ELEMENT_ID__=rE}return e})();function rE(){let e=Te();return Fm(e,Q())}var iE=fn,Pm=class extends iE{_lContainer;_hostTNode;_hostLView;constructor(n,t,r){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=r}get element(){return kr(this._hostTNode,this._hostLView)}get injector(){return new Nn(this._hostTNode,this._hostLView)}get parentInjector(){let n=wu(this._hostTNode,this._hostLView);if(xh(n)){let t=ws(n,this._hostLView),r=Es(n),i=t[$].data[r+8];return new Nn(i,t)}else return new Nn(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){let t=Ep(this._lContainer);return t!==null&&t[n]||null}get length(){return this._lContainer.length-He}createEmbeddedView(n,t,r){let i,o;typeof r=="number"?i=r:r!=null&&(i=r.index,o=r.injector);let s=Fc(this._lContainer,n.ssrId),a=n.createEmbeddedViewImpl(t||{},o,s);return this.insertImpl(a,i,kc(this._hostTNode,s)),a}createComponent(n,t,r,i,o){let s=n&&!q0(n),a;if(s)a=t;else{let E=t||{};a=E.index,r=E.injector,i=E.projectableNodes,o=E.environmentInjector||E.ngModuleRef}let l=s?n:new Mr(kn(n)),f=r||this.parentInjector;if(!o&&l.ngModule==null){let N=(s?f:this.parentInjector).get(xe,null);N&&(o=N)}let p=kn(l.componentType??{}),g=Fc(this._lContainer,p?.id??null),y=g?.firstChild??null,v=l.create(f,i,y,o);return this.insertImpl(v.hostView,a,kc(this._hostTNode,g)),v}insert(n,t){return this.insertImpl(n,t,!0)}insertImpl(n,t,r){let i=n._lView;if(X0(i)){let a=this.indexOf(n);if(a!==-1)this.detach(a);else{let l=i[Me],f=new Pm(l,l[dt],l[Me]);f.detach(f.indexOf(n))}}let o=this._adjustIndex(t),s=this._lContainer;return Mm(s,i,o,r),n.attachToViewContainerRef(),Yp(ic(s),o,n),n}move(n,t){return this.insert(n,t)}indexOf(n){let t=Ep(this._lContainer);return t!==null?t.indexOf(n):-1}remove(n){let t=this._adjustIndex(n,-1),r=As(this._lContainer,t);r&&(ms(ic(this._lContainer),t),zu(r[$],r))}detach(n){let t=this._adjustIndex(n,-1),r=As(this._lContainer,t);return r&&ms(ic(this._lContainer),t)!=null?new xi(r):null}_adjustIndex(n,t=0){return n??this.length+t}};function Ep(e){return e[Cs]}function ic(e){return e[Cs]||(e[Cs]=[])}function Fm(e,n){let t,r=n[e.index];return Wt(r)?t=r:(t=xm(r,n,null,e),n[e.index]=t,Lu(n,t)),sE(t,n,e,r),new Pm(t,e,n)}function oE(e,n){let t=e[he],r=t.createComment(""),i=Tt(n,e),o=t.parentNode(i);return Ms(t,o,r,t.nextSibling(i),!1),r}var sE=cE,aE=()=>!1;function lE(e,n,t){return aE(e,n,t)}function cE(e,n,t,r){if(e[Pn])return;let i;t.type&8?i=It(r):i=oE(n,t),e[Pn]=i}var Uc=class e{queryList;matches=null;constructor(n){this.queryList=n}clone(){return new e(this.queryList)}setDirty(){this.queryList.setDirty()}},Hc=class e{queries;constructor(n=[]){this.queries=n}createEmbeddedView(n){let t=n.queries;if(t!==null){let r=n.contentQueries!==null?n.contentQueries[0]:t.length,i=[];for(let o=0;o0)r.push(s[a/2]);else{let f=o[a+1],p=n[-l];for(let g=He;gn.trim())}function yE(e,n,t){e.queries===null&&(e.queries=new qc),e.queries.track(new zc(n,t))}function _E(e,n){let t=e.contentQueries||(e.contentQueries=[]),r=t.length?t[t.length-1]:-1;n!==r&&t.push(e.queries.length-1,n)}function Qu(e,n){return e.queries.getByIndex(n)}function CE(e,n){let t=e[$],r=Qu(t,n);return r.crossesNgTemplate?Gc(t,e,n,[]):Lm(t,e,r,n)}var Tr=class{},Ku=class{};var Wc=class extends Tr{ngModuleType;_parent;_bootstrapComponents=[];_r3Injector;instance;destroyCbs=[];componentFactoryResolver=new Ns(this);constructor(n,t,r,i=!0){super(),this.ngModuleType=n,this._parent=t;let o=Xp(n);this._bootstrapComponents=sm(o.bootstrap),this._r3Injector=Fh(n,t,[{provide:Tr,useValue:this},{provide:Xs,useValue:this.componentFactoryResolver},...r],Ue(n),new Set(["environment"])),i&&this.resolveInjectorInitializers()}resolveInjectorInitializers(){this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(this.ngModuleType)}get injector(){return this._r3Injector}destroy(){let n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}},Zc=class extends Ku{moduleType;constructor(n){super(),this.moduleType=n}create(n){return new Wc(this.moduleType,n,[])}};var Rs=class extends Tr{injector;componentFactoryResolver=new Ns(this);instance=null;constructor(n){super();let t=new bi([...n.providers,{provide:Tr,useValue:this},{provide:Xs,useValue:this.componentFactoryResolver}],n.parent||uu(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}};function Fi(e,n,t=null){return new Rs({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}var DE=(()=>{class e{_injector;cachedInjectors=new Map;constructor(t){this._injector=t}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){let r=Jp(!1,t.type),i=r.length>0?Fi([r],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,i)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(let t of this.cachedInjectors.values())t!==null&&t.destroy()}finally{this.cachedInjectors.clear()}}static \u0275prov=b({token:e,providedIn:"environment",factory:()=>new e(A(xe))})}return e})();function le(e){return Ti(()=>{let n=Vm(e),t=Y(w({},n),{decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===Gh.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:n.standalone?i=>i.get(DE).getOrCreateStandaloneInjector(t):null,getExternalStyles:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Mt.Emulated,styles:e.styles||rt,_:null,schemas:e.schemas||null,tView:null,id:""});n.standalone&&Fr("NgStandalone"),jm(t);let r=e.dependencies;return t.directiveDefs=wp(r,!1),t.pipeDefs=wp(r,!0),t.id=SE(t),t})}function EE(e){return kn(e)||R0(e)}function wE(e){return e!==null}function ze(e){return Ti(()=>({type:e.type,bootstrap:e.bootstrap||rt,declarations:e.declarations||rt,imports:e.imports||rt,exports:e.exports||rt,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function bE(e,n){if(e==null)return Rn;let t={};for(let r in e)if(e.hasOwnProperty(r)){let i=e[r],o,s,a,l;Array.isArray(i)?(a=i[0],o=i[1],s=i[2]??o,l=i[3]||null):(o=i,s=i,a=Ws.None,l=null),t[o]=[r,a,l],n[o]=s}return t}function IE(e){if(e==null)return Rn;let n={};for(let t in e)e.hasOwnProperty(t)&&(n[e[t]]=t);return n}function re(e){return Ti(()=>{let n=Vm(e);return jm(n),n})}function Vm(e){let n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputConfig:e.inputs||Rn,exportAs:e.exportAs||null,standalone:e.standalone??!0,signals:e.signals===!0,selectors:e.selectors||rt,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:bE(e.inputs,n),outputs:IE(e.outputs),debugInfo:null}}function jm(e){e.features?.forEach(n=>n(e))}function wp(e,n){if(!e)return null;let t=n?k0:EE;return()=>(typeof e=="function"?e():e).map(r=>t(r)).filter(wE)}function SE(e){let n=0,t=typeof e.consts=="function"?"":e.consts,r=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,t,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery];for(let o of r.join("|"))n=Math.imul(31,n)+o.charCodeAt(0)<<0;return n+=2147483648,"c"+n}function xE(e){return Object.getPrototypeOf(e.prototype).constructor}function ke(e){let n=xE(e.type),t=!0,r=[e];for(;n;){let i;if(bt(e))i=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new I(903,!1);i=n.\u0275dir}if(i){if(t){r.push(i);let s=e;s.inputs=oc(e.inputs),s.declaredInputs=oc(e.declaredInputs),s.outputs=oc(e.outputs);let a=i.hostBindings;a&&RE(e,a);let l=i.viewQuery,f=i.contentQueries;if(l&&AE(e,l),f&&NE(e,f),ME(e,i),l0(e.outputs,i.outputs),bt(i)&&i.data.animation){let p=e.data;p.animation=(p.animation||[]).concat(i.data.animation)}}let o=i.features;if(o)for(let s=0;s=0;r--){let i=e[r];i.hostVars=n+=i.hostVars,i.hostAttrs=Ir(i.hostAttrs,t=Ir(t,i.hostAttrs))}}function oc(e){return e===Rn?{}:e===rt?[]:e}function AE(e,n){let t=e.viewQuery;t?e.viewQuery=(r,i)=>{n(r,i),t(r,i)}:e.viewQuery=n}function NE(e,n){let t=e.contentQueries;t?e.contentQueries=(r,i,o)=>{n(r,i,o),t(r,i,o)}:e.contentQueries=n}function RE(e,n){let t=e.hostBindings;t?e.hostBindings=(r,i)=>{n(r,i),t(r,i)}:e.hostBindings=n}function Bm(e){return OE(e)?Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e:!1}function kE(e,n){if(Array.isArray(e))for(let t=0;t{class e{log(t){console.log(t)}warn(t){console.warn(t)}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();var Ju=new S(""),Li=new S(""),Js=(()=>{class e{_ngZone;registry;_isZoneStable=!0;_callbacks=[];taskTrackingZone=null;constructor(t,r,i){this._ngZone=t,this.registry=r,ed||(BE(i),i.addToWindow(r)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{ce.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}isStable(){return this._isZoneStable&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;this._callbacks.length!==0;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb()}});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>r.updateCb&&r.updateCb(t)?(clearTimeout(r.timeoutId),!1):!0)}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,r,i){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),t()},r)),this._callbacks.push({doneCb:t,timeoutId:o,updateCb:i})}whenStable(t,r,i){if(i&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,r,i),this._runCallbacksIfReady()}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,r,i){return[]}static \u0275fac=function(r){return new(r||e)(A(ce),A(ea),A(Li))};static \u0275prov=b({token:e,factory:e.\u0275fac})}return e})(),ea=(()=>{class e{_applications=new Map;registerApplication(t,r){this._applications.set(t,r)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,r=!0){return ed?.findTestabilityInTree(this,t,r)??null}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function BE(e){ed=e}var ed,UE=(()=>{class e{static \u0275prov=b({token:e,providedIn:"root",factory:()=>new Yc})}return e})(),Yc=class{queuedEffectCount=0;queues=new Map;schedule(n){this.enqueue(n)}remove(n){let t=n.zone,r=this.queues.get(t);r.has(n)&&(r.delete(n),this.queuedEffectCount--)}enqueue(n){let t=n.zone;this.queues.has(t)||this.queues.set(t,new Set);let r=this.queues.get(t);r.has(n)||(this.queuedEffectCount++,r.add(n))}flush(){for(;this.queuedEffectCount>0;)for(let[n,t]of this.queues)n===null?this.flushQueue(t):n.run(()=>this.flushQueue(t))}flushQueue(n){for(let t of n)n.delete(t),this.queuedEffectCount--,t.run()}};function $n(e){return!!e&&typeof e.then=="function"}function $m(e){return!!e&&typeof e.subscribe=="function"}var qm=new S("");function td(e){return Vs([{provide:qm,multi:!0,useValue:e}])}var zm=(()=>{class e{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((t,r)=>{this.resolve=t,this.reject=r});appInits=C(qm,{optional:!0})??[];injector=C(Ye);constructor(){}runInitializers(){if(this.initialized)return;let t=[];for(let i of this.appInits){let o=qe(this.injector,i);if($n(o))t.push(o);else if($m(o)){let s=new Promise((a,l)=>{o.subscribe({complete:a,error:l})});t.push(s)}}let r=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{r()}).catch(i=>{this.reject(i)}),t.length===0&&r(),this.initialized=!0}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),nd=new S("");function HE(){Nl(()=>{throw new I(600,!1)})}function $E(e){return e.isBoundToModule}var qE=10;var un=(()=>{class e{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=C(H_);afterRenderManager=C(em);zonelessEnabled=C(Vh);rootEffectScheduler=C(UE);dirtyFlags=0;tracingSnapshot=null;externalTestViews=new Set;afterTick=new pe;get allViews(){return[...this.externalTestViews.keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];isStable=C(Yt).hasPendingTasks.pipe(V(t=>!t));constructor(){C(Pr,{optional:!0})}whenStable(){let t;return new Promise(r=>{t=this.isStable.subscribe({next:i=>{i&&r()}})}).finally(()=>{t.unsubscribe()})}_injector=C(xe);_rendererFactory=null;get injector(){return this._injector}bootstrap(t,r){return this.bootstrapImpl(t,r)}bootstrapImpl(t,r,i=Ye.NULL){ie(10);let o=t instanceof Am;if(!this._injector.get(zm).done){let v="";throw new I(405,v)}let a;o?a=t:a=this._injector.get(Xs).resolveComponentFactory(t),this.componentTypes.push(a.componentType);let l=$E(a)?void 0:this._injector.get(Tr),f=r||a.selector,p=a.create(i,[],f,l),g=p.location.nativeElement,y=p.injector.get(Ju,null);return y?.registerApplication(g),p.onDestroy(()=>{this.detachView(p.hostView),us(this.components,p),y?.unregisterApplication(g)}),this._loadComponent(p),ie(11,p),p}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){ie(12),this.tracingSnapshot!==null?this.tracingSnapshot.run(Au.CHANGE_DETECTION,this.tickImpl):this.tickImpl()}tickImpl=()=>{if(this._runningTick)throw new I(101,!1);let t=W(null);try{this._runningTick=!0,this.synchronize()}catch(r){this.internalErrorHandler(r)}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,W(t),this.afterTick.next(),ie(13)}};synchronize(){this._rendererFactory===null&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(xr,null,{optional:!0}));let t=0;for(;this.dirtyFlags!==0&&t++Hs(t))){this.dirtyFlags|=2;return}else this.dirtyFlags&=-8}attachView(t){let r=t;this._views.push(r),r.attachToAppRef(this)}detachView(t){let r=t;us(this._views,r),r.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(nd,[]).forEach(i=>i(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>us(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new I(406,!1);let t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function us(e,n){let t=e.indexOf(n);t>-1&&e.splice(t,1)}function zE(e,n,t,r){if(!t&&!Hs(e))return;wm(e,n,t&&!r?0:1)}function Ke(e,n,t,r){let i=Q(),o=ki();if(zt(i,o,n)){let s=Ee(),a=$s();WC(a,i,e,n,t,r)}return Ke}function Gm(e,n,t,r){return zt(e,ki(),t)?n+_r(t)+r:ot}function GE(e,n,t,r,i,o){let s=u_(),a=Um(e,s,t,i);return vh(2),a?n+_r(t)+r+_r(i)+o:ot}function os(e,n){return e<<17|n<<2}function Bn(e){return e>>17&32767}function WE(e){return(e&2)==2}function ZE(e,n){return e&131071|n<<17}function Qc(e){return e|2}function Ar(e){return(e&131068)>>2}function sc(e,n){return e&-131069|n<<2}function YE(e){return(e&1)===1}function Kc(e){return e|1}function QE(e,n,t,r,i,o){let s=o?n.classBindings:n.styleBindings,a=Bn(s),l=Ar(s);e[r]=t;let f=!1,p;if(Array.isArray(t)){let g=t;p=g[1],(p===null||Ai(g,p)>0)&&(f=!0)}else p=t;if(i)if(l!==0){let y=Bn(e[a+1]);e[r+1]=os(y,a),y!==0&&(e[y+1]=sc(e[y+1],r)),e[a+1]=ZE(e[a+1],r)}else e[r+1]=os(a,0),a!==0&&(e[a+1]=sc(e[a+1],r)),a=r;else e[r+1]=os(l,0),a===0?a=r:e[l+1]=sc(e[l+1],r),l=r;f&&(e[r+1]=Qc(e[r+1])),bp(e,p,r,!0),bp(e,p,r,!1),KE(n,p,e,r,o),s=os(a,l),o?n.classBindings=s:n.styleBindings=s}function KE(e,n,t,r,i){let o=i?e.residualClasses:e.residualStyles;o!=null&&typeof n=="string"&&Ai(o,n)>=0&&(t[r+1]=Kc(t[r+1]))}function bp(e,n,t,r){let i=e[t+1],o=n===null,s=r?Bn(i):Ar(i),a=!1;for(;s!==0&&(a===!1||o);){let l=e[s],f=e[s+1];XE(l,n)&&(a=!0,e[s+1]=r?Kc(f):Qc(f)),s=r?Bn(f):Ar(f)}a&&(e[t+1]=r?Qc(i):Kc(i))}function XE(e,n){return e===null||n==null||(Array.isArray(e)?e[1]:e)===n?!0:Array.isArray(e)&&typeof n=="string"?Ai(e,n)>=0:!1}function _(e,n,t){let r=Q(),i=ki();if(zt(r,i,n)){let o=Ee(),s=$s();ju(o,s,r,e,n,r[he],t,!1)}return _}function Ip(e,n,t,r,i){Uu(n,e,t,i?"class":"style",r)}function ta(e,n){return JE(e,n,null,!0),ta}function JE(e,n,t,r){let i=Q(),o=Ee(),s=vh(2);if(o.firstUpdatePass&&tw(o,e,s,r),n!==ot&&zt(i,s,n)){let a=o.data[Hn()];sw(o,a,i,i[he],e,i[s+1]=aw(n,t),r,s)}}function ew(e,n){return n>=e.expandoStartIndex}function tw(e,n,t,r){let i=e.data;if(i[t+1]===null){let o=i[Hn()],s=ew(e,t);lw(o,r)&&n===null&&!s&&(n=!1),n=nw(i,o,n,r),QE(i,o,n,t,s,r)}}function nw(e,n,t,r){let i=m_(e),o=r?n.residualClasses:n.residualStyles;if(i===null)(r?n.classBindings:n.styleBindings)===0&&(t=ac(null,e,n,t,r),t=Mi(t,n.attrs,r),o=null);else{let s=n.directiveStylingLast;if(s===-1||e[s]!==i)if(t=ac(i,e,n,t,r),o===null){let l=rw(e,n,r);l!==void 0&&Array.isArray(l)&&(l=ac(null,e,n,l[1],r),l=Mi(l,n.attrs,r),iw(e,n,r,l))}else o=ow(e,n,r)}return o!==void 0&&(r?n.residualClasses=o:n.residualStyles=o),t}function rw(e,n,t){let r=t?n.classBindings:n.styleBindings;if(Ar(r)!==0)return e[Bn(r)]}function iw(e,n,t,r){let i=t?n.classBindings:n.styleBindings;e[Bn(i)]=r}function ow(e,n,t){let r,i=n.directiveEnd;for(let o=1+n.directiveStylingLast;o0;){let l=e[i],f=Array.isArray(l),p=f?l[1]:l,g=p===null,y=t[i+1];y===ot&&(y=g?rt:void 0);let v=g?Kl(y,r):p===r?y:void 0;if(f&&!ks(v)&&(v=Kl(l,r)),ks(v)&&(a=v,s))return a;let E=e[i+1];i=s?Bn(E):Ar(E)}if(n!==null){let l=o?n.residualClasses:n.residualStyles;l!=null&&(a=Kl(l,r))}return a}function ks(e){return e!==void 0}function aw(e,n){return e==null||e===""||(typeof n=="string"?e=e+n:typeof e=="object"&&(e=Ue(Gs(e)))),e}function lw(e,n){return(e.flags&(n?8:16))!==0}function pt(e,n){Fr("NgControlFlow");let t=Q(),r=ki(),i=t[r]!==ot?t[r]:-1,o=i!==-1?xp(t,Ze+i):void 0,s=0;if(zt(t,r,e)){let a=W(null);try{if(o!==void 0&&MD(o,s),e!==-1){let l=Ze+e,f=xp(t,l),p=cw(t[$],l),g=Fc(f,p.tView.ssrId),y=mm(t,p,n,{dehydratedView:g});Mm(f,y,s,kc(p,g))}}finally{W(a)}}else if(o!==void 0){let a=xD(o,s);a!==void 0&&(a[Re]=n)}}function xp(e,n){return e[n]}function cw(e,n){return fu(e,n)}function u(e,n,t,r){let i=Q(),o=Ee(),s=Ze+e,a=i[he],l=o.firstCreatePass?km(s,o,i,n,Bu,gu(),t,r):o.data[s],f=uw(o,i,l,a,n,e);i[s]=f;let p=Us(l);return Un(l,!0),um(a,f,l),!gm(l)&&qs()&&Ys(o,i,f,l),(n_()===0||p)&&Or(f,i),r_(),p&&(Zs(o,i,l),Ru(o,l,i)),r!==null&&Vu(i,l),u}function d(){let e=Te();vu()?mh():(e=e.parent,Un(e,!1));let n=e;s_(n)&&a_(),i_();let t=Ee();return t.firstCreatePass&&Om(t,n),n.classesWithoutHost!=null&&D_(n)&&Ip(t,n,Q(),n.classesWithoutHost,!0),n.stylesWithoutHost!=null&&E_(n)&&Ip(t,n,Q(),n.stylesWithoutHost,!1),d}function h(e,n,t,r){return u(e,n,t,r),d(),h}var uw=(e,n,t,r,i,o)=>(zs(!0),lm(r,i,y_()));function dw(e,n,t,r,i){let o=n.consts,s=br(o,r),a=Ks(n,e,8,"ng-container",s);s!==null&&jc(a,s,!0);let l=br(o,i);return gu()&&Yu(n,t,a,l,Bu),a.mergedAttrs=Ir(a.mergedAttrs,a.attrs),n.queries!==null&&n.queries.elementStart(n,a),a}function Oe(e,n,t){let r=Q(),i=Ee(),o=e+Ze,s=i.firstCreatePass?dw(o,i,r,n,t):i.data[o];Un(s,!0);let a=fw(i,r,s,e);return r[o]=a,qs()&&Ys(i,r,a,s),Or(a,r),Us(s)&&(Zs(i,r,s),Ru(i,s,r)),t!=null&&Vu(r,s),Oe}function Pe(){let e=Te(),n=Ee();return vu()?mh():(e=e.parent,Un(e,!1)),n.firstCreatePass&&(Eu(n,e),du(e)&&n.queries.elementEnd(e)),Pe}var fw=(e,n,t,r)=>(zs(!0),RC(n[he],""));function te(){return Q()}var Os="en-US";var pw=Os;function hw(e){typeof e=="string"&&(pw=e.toLowerCase().replace(/_/g,"-"))}function Mp(e,n,t){return function r(i){if(i===Function)return t;let o=Rr(e)?St(e.index,n):n;Wu(o,5);let s=n[Re],a=Tp(n,s,t,i),l=r.__ngNextListenerFn__;for(;l;)a=Tp(n,s,l,i)&&a,l=l.__ngNextListenerFn__;return a}}function Tp(e,n,t,r){let i=W(null);try{return ie(6,n,t),t(r)!==!1}catch(o){return mw(e,o),!1}finally{ie(7,n,t),W(i)}}function mw(e,n){let t=e[Er],r=t?t.get(xt,null):null;r&&r.handleError(n)}function Ap(e,n,t,r,i,o){let s=n[t],a=n[$],f=a.data[t].outputs[r],p=s[f],g=a.firstCreatePass?mu(a):null,y=hu(n),v=p.subscribe(o),E=y.length;y.push(o,v),g&&g.push(i,e.index,E,-(E+1))}var gw=(e,n,t)=>{};function R(e,n,t,r){let i=Q(),o=Ee(),s=Te();return Wm(o,i,i[he],s,e,n,r),R}function vw(e,n,t,r){let i=e.cleanup;if(i!=null)for(let o=0;ol?a[l]:null}typeof s=="string"&&(o+=2)}return null}function Wm(e,n,t,r,i,o,s){let a=Us(r),f=e.firstCreatePass?mu(e):null,p=hu(n),g=!0;if(r.type&3||s){let y=Tt(r,n),v=s?s(y):y,E=p.length,N=s?ee=>s(It(ee[r.index])):r.index,P=null;if(!s&&a&&(P=vw(e,n,i,r.index)),P!==null){let ee=P.__ngLastListenerFn__||P;ee.__ngNextListenerFn__=o,P.__ngLastListenerFn__=o,g=!1}else{o=Mp(r,n,o),gw(v,i,o);let ee=t.listen(v,i,o);p.push(o,ee),f&&f.push(i,N,E,E+1)}}else o=Mp(r,n,o);if(g){let y=r.outputs?.[i],v=r.hostDirectiveOutputs?.[i];if(v&&v.length)for(let E=0;E(zs(!0),AC(n[he],r));function de(e){return Fe("",e,""),de}function Fe(e,n,t){let r=Q(),i=Gm(r,e,n,t);return i!==ot&&Km(r,Hn(),i),Fe}function Vi(e,n,t,r,i){let o=Q(),s=GE(o,e,n,t,r,i);return s!==ot&&Km(o,Hn(),s),Vi}function Km(e,n,t){let r=uh(n,e);NC(e[he],r,t)}function U(e,n,t){qh(n)&&(n=n());let r=Q(),i=ki();if(zt(r,i,n)){let o=Ee(),s=$s();ju(o,s,r,e,n,r[he],t,!1)}return U}function z(e,n){let t=qh(e);return t&&e.set(n),t}function H(e,n){let t=Q(),r=Ee(),i=Te();return Wm(r,t,t[he],i,e,n),H}function _w(e,n,t){let r=Ee();if(r.firstCreatePass){let i=bt(e);Xc(t,r.data,r.blueprint,i,!0),Xc(n,r.data,r.blueprint,i,!1)}}function Xc(e,n,t,r,i){if(e=Ne(e),Array.isArray(e))for(let o=0;o>20;if(Dr(e)||!e.multi){let v=new Vn(f,i,T),E=cc(l,n,i?p:p+y,g);E===-1?(Dc(bs(a,s),o,l),lc(o,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,i&&(a.providerIndexes+=1048576),t.push(v),s.push(v)):(t[E]=v,s[E]=v)}else{let v=cc(l,n,p+y,g),E=cc(l,n,p,p+y),N=v>=0&&t[v],P=E>=0&&t[E];if(i&&!P||!i&&!N){Dc(bs(a,s),o,l);let ee=Ew(i?Dw:Cw,t.length,i,r,f);!i&&P&&(t[E].providerFactory=ee),lc(o,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,i&&(a.providerIndexes+=1048576),t.push(ee),s.push(ee)}else{let ee=Xm(t[i?E:v],f,!i&&r);lc(o,e,v>-1?v:E,ee)}!i&&r&&P&&t[E].componentProviders++}}}function lc(e,n,t,r){let i=Dr(n),o=L0(n);if(i||o){let l=(o?Ne(n.useClass):n).prototype.ngOnDestroy;if(l){let f=e.destroyHooks||(e.destroyHooks=[]);if(!i&&n.multi){let p=f.indexOf(t);p===-1?f.push(t,[r,l]):f[p+1].push(r,l)}else f.push(t,l)}}}function Xm(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function cc(e,n,t,r){for(let i=t;i{t.providersResolver=(r,i)=>_w(r,i?i(e):e,n)}}function j(e,n,t){let r=yu()+e,i=Q();return i[r]===ot?Xu(i,r,t?n.call(t):n()):PE(i,r)}function qn(e,n,t,r){return ww(Q(),yu(),e,n,t,r)}function Jm(e,n,t,r,i){return bw(Q(),yu(),e,n,t,r,i)}function eg(e,n){let t=e[n];return t===ot?void 0:t}function ww(e,n,t,r,i,o){let s=n+t;return zt(e,s,i)?Xu(e,s+1,o?r.call(o,i):r(i)):eg(e,s+1)}function bw(e,n,t,r,i,o,s){let a=n+t;return Um(e,a,i,o)?Xu(e,a+2,s?r.call(s,i,o):r(i,o)):eg(e,a+2)}var eu=class{ngModuleFactory;componentFactories;constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}},tg=(()=>{class e{compileModuleSync(t){return new Zc(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){let r=this.compileModuleSync(t),i=Xp(t),o=sm(i.declarations).reduce((s,a)=>{let l=kn(a);return l&&s.push(new Mr(l)),s},[]);return new eu(r,o)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var Iw=(()=>{class e{zone=C(ce);changeDetectionScheduler=C(Sr);applicationRef=C(un);_onMicrotaskEmptySubscription;initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Sw({ngZoneFactory:e,ignoreChangesOutsideZone:n,scheduleInRootZone:t}){return e??=()=>new ce(Y(w({},xw()),{scheduleInRootZone:t})),[{provide:ce,useFactory:e},{provide:wi,multi:!0,useFactory:()=>{let r=C(Iw,{optional:!0});return()=>r.initialize()}},{provide:wi,multi:!0,useFactory:()=>{let r=C(Mw);return()=>{r.initialize()}}},n===!0?{provide:jh,useValue:!0}:[],{provide:Bh,useValue:t??Lh}]}function xw(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}var Mw=(()=>{class e{subscription=new me;initialized=!1;zone=C(ce);pendingTasks=C(Yt);initialize(){if(this.initialized)return;this.initialized=!0;let t=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(t=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{ce.assertNotInAngularZone(),queueMicrotask(()=>{t!==null&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(t),t=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{ce.assertInAngularZone(),t??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var Tw=(()=>{class e{appRef=C(un);taskService=C(Yt);ngZone=C(ce);zonelessEnabled=C(Vh);tracing=C(Pr,{optional:!0});disableScheduling=C(jh,{optional:!0})??!1;zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new me;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(Ss):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(C(Bh,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()})),this.disableScheduling||=!this.zonelessEnabled&&(this.ngZone instanceof Sc||!this.zoneIsDefined)}notify(t){if(!this.zonelessEnabled&&t===5)return;let r=!1;switch(t){case 0:{this.appRef.dirtyFlags|=2;break}case 3:case 2:case 4:case 5:case 1:{this.appRef.dirtyFlags|=4;break}case 6:{this.appRef.dirtyFlags|=2,r=!0;break}case 12:{this.appRef.dirtyFlags|=16,r=!0;break}case 13:{this.appRef.dirtyFlags|=2,r=!0;break}case 11:{r=!0;break}case 9:case 8:case 7:case 10:default:this.appRef.dirtyFlags|=8}if(this.appRef.tracingSnapshot=this.tracing?.snapshot(this.appRef.tracingSnapshot)??null,!this.shouldScheduleTick(r))return;let i=this.useMicrotaskScheduler?cp:Uh;this.pendingRenderTaskId=this.taskService.add(),this.scheduleInRootZone?this.cancelScheduledCallback=Zone.root.run(()=>i(()=>this.tick())):this.cancelScheduledCallback=this.ngZone.runOutsideAngular(()=>i(()=>this.tick()))}shouldScheduleTick(t){return!(this.disableScheduling&&!t||this.appRef.destroyed||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(Ss+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;if(this.appRef.dirtyFlags===0){this.cleanup();return}!this.zonelessEnabled&&this.appRef.dirtyFlags&7&&(this.appRef.dirtyFlags|=1);let t=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(r){throw this.taskService.remove(t),r}finally{this.cleanup()}this.useMicrotaskScheduler=!0,cp(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(t)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let t=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(t)}}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Aw(){return typeof $localize<"u"&&$localize.locale||Os}var rd=new S("",{providedIn:"root",factory:()=>C(rd,G.Optional|G.SkipSelf)||Aw()});var tu=new S(""),Nw=new S("");function _i(e){return!e.moduleRef}function Rw(e){let n=_i(e)?e.r3Injector:e.moduleRef.injector,t=n.get(ce);return t.run(()=>{_i(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();let r=n.get(xt,null),i;if(t.runOutsideAngular(()=>{i=t.onError.subscribe({next:o=>{r.handleError(o)}})}),_i(e)){let o=()=>n.destroy(),s=e.platformInjector.get(tu);s.add(o),n.onDestroy(()=>{i.unsubscribe(),s.delete(o)})}else{let o=()=>e.moduleRef.destroy(),s=e.platformInjector.get(tu);s.add(o),e.moduleRef.onDestroy(()=>{us(e.allPlatformModules,e.moduleRef),i.unsubscribe(),s.delete(o)})}return Ow(r,t,()=>{let o=n.get(zm);return o.runInitializers(),o.donePromise.then(()=>{let s=n.get(rd,Os);if(hw(s||Os),!n.get(Nw,!0))return _i(e)?n.get(un):(e.allPlatformModules.push(e.moduleRef),e.moduleRef);if(_i(e)){let l=n.get(un);return e.rootComponent!==void 0&&l.bootstrap(e.rootComponent),l}else return kw(e.moduleRef,e.allPlatformModules),e.moduleRef})})})}function kw(e,n){let t=e.injector.get(un);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(r=>t.bootstrap(r));else if(e.instance.ngDoBootstrap)e.instance.ngDoBootstrap(t);else throw new I(-403,!1);n.push(e)}function Ow(e,n,t){try{let r=t();return $n(r)?r.catch(i=>{throw n.runOutsideAngular(()=>e.handleError(i)),i}):r}catch(r){throw n.runOutsideAngular(()=>e.handleError(r)),r}}var ds=null;function Pw(e=[],n){return Ye.create({name:n,providers:[{provide:js,useValue:"platform"},{provide:tu,useValue:new Set([()=>ds=null])},...e]})}function Fw(e=[]){if(ds)return ds;let n=Pw(e);return ds=n,HE(),Lw(n),n}function Lw(e){let n=e.get(Mu,null);qe(e,()=>{n?.forEach(t=>t())})}var pn=(()=>{class e{static __NG_ELEMENT_ID__=Vw}return e})();function Vw(e){return jw(Te(),Q(),(e&16)===16)}function jw(e,n,t){if(Rr(e)&&!t){let r=St(e.index,n);return new xi(r,r)}else if(e.type&175){let r=n[wt];return new xi(r,n)}return null}var nu=class{constructor(){}supports(n){return Bm(n)}create(n){return new ru(n)}},Bw=(e,n)=>n,ru=class{length=0;collection;_linkedRecords=null;_unlinkedRecords=null;_previousItHead=null;_itHead=null;_itTail=null;_additionsHead=null;_additionsTail=null;_movesHead=null;_movesTail=null;_removalsHead=null;_removalsTail=null;_identityChangesHead=null;_identityChangesTail=null;_trackByFn;constructor(n){this._trackByFn=n||Bw}forEachItem(n){let t;for(t=this._itHead;t!==null;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,r=this._removalsHead,i=0,o=null;for(;t||r;){let s=!r||t&&t.currentIndex{s=this._trackByFn(i,a),t===null||!Object.is(t.trackById,s)?(t=this._mismatch(t,a,s,i),r=!0):(r&&(t=this._verifyReinsertion(t,a,s,i)),Object.is(t.item,a)||this._addIdentityChange(t,a)),t=t._next,i++}),this.length=i;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return this._additionsHead!==null||this._movesHead!==null||this._removalsHead!==null||this._identityChangesHead!==null}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;n!==null;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;n!==null;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;n!==null;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,r,i){let o;return n===null?o=this._itTail:(o=n._prev,this._remove(n)),n=this._unlinkedRecords===null?null:this._unlinkedRecords.get(r,null),n!==null?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,o,i)):(n=this._linkedRecords===null?null:this._linkedRecords.get(r,i),n!==null?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,o,i)):n=this._addAfter(new iu(t,r),o,i)),n}_verifyReinsertion(n,t,r,i){let o=this._unlinkedRecords===null?null:this._unlinkedRecords.get(r,null);return o!==null?n=this._reinsertAfter(o,n._prev,i):n.currentIndex!=i&&(n.currentIndex=i,this._addToMoves(n,i)),n}_truncate(n){for(;n!==null;){let t=n._next;this._addToRemovals(this._unlink(n)),n=t}this._unlinkedRecords!==null&&this._unlinkedRecords.clear(),this._additionsTail!==null&&(this._additionsTail._nextAdded=null),this._movesTail!==null&&(this._movesTail._nextMoved=null),this._itTail!==null&&(this._itTail._next=null),this._removalsTail!==null&&(this._removalsTail._nextRemoved=null),this._identityChangesTail!==null&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,r){this._unlinkedRecords!==null&&this._unlinkedRecords.remove(n);let i=n._prevRemoved,o=n._nextRemoved;return i===null?this._removalsHead=o:i._nextRemoved=o,o===null?this._removalsTail=i:o._prevRemoved=i,this._insertAfter(n,t,r),this._addToMoves(n,r),n}_moveAfter(n,t,r){return this._unlink(n),this._insertAfter(n,t,r),this._addToMoves(n,r),n}_addAfter(n,t,r){return this._insertAfter(n,t,r),this._additionsTail===null?this._additionsTail=this._additionsHead=n:this._additionsTail=this._additionsTail._nextAdded=n,n}_insertAfter(n,t,r){let i=t===null?this._itHead:t._next;return n._next=i,n._prev=t,i===null?this._itTail=n:i._prev=n,t===null?this._itHead=n:t._next=n,this._linkedRecords===null&&(this._linkedRecords=new Ps),this._linkedRecords.put(n),n.currentIndex=r,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){this._linkedRecords!==null&&this._linkedRecords.remove(n);let t=n._prev,r=n._next;return t===null?this._itHead=r:t._next=r,r===null?this._itTail=t:r._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail===null?this._movesTail=this._movesHead=n:this._movesTail=this._movesTail._nextMoved=n),n}_addToRemovals(n){return this._unlinkedRecords===null&&(this._unlinkedRecords=new Ps),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,this._removalsTail===null?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail===null?this._identityChangesTail=this._identityChangesHead=n:this._identityChangesTail=this._identityChangesTail._nextIdentityChange=n,n}},iu=class{item;trackById;currentIndex=null;previousIndex=null;_nextPrevious=null;_prev=null;_next=null;_prevDup=null;_nextDup=null;_prevRemoved=null;_nextRemoved=null;_nextAdded=null;_nextMoved=null;_nextIdentityChange=null;constructor(n,t){this.item=n,this.trackById=t}},ou=class{_head=null;_tail=null;add(n){this._head===null?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let r;for(r=this._head;r!==null;r=r._nextDup)if((t===null||t<=r.currentIndex)&&Object.is(r.trackById,n))return r;return null}remove(n){let t=n._prevDup,r=n._nextDup;return t===null?this._head=r:t._nextDup=r,r===null?this._tail=t:r._prevDup=t,this._head===null}},Ps=class{map=new Map;put(n){let t=n.trackById,r=this.map.get(t);r||(r=new ou,this.map.set(t,r)),r.add(n)}get(n,t){let r=n,i=this.map.get(r);return i?i.get(n,t):null}remove(n){let t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return this.map.size===0}clear(){this.map.clear()}};function Np(e,n,t){let r=e.previousIndex;if(r===null)return r;let i=0;return t&&r{class e{factories;static \u0275prov=b({token:e,providedIn:"root",factory:Rp});constructor(t){this.factories=t}static create(t,r){if(r!=null){let i=r.factories.slice();t=t.concat(i)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||Rp()),deps:[[e,new S0,new I0]]}}find(t){let r=this.factories.find(i=>i.supports(t));if(r!=null)return r;throw new I(901,!1)}}return e})();var ng=(()=>{class e{constructor(t){}static \u0275fac=function(r){return new(r||e)(A(un))};static \u0275mod=ze({type:e});static \u0275inj=$e({})}return e})();function rg(e){ie(8);try{let{rootComponent:n,appProviders:t,platformProviders:r}=e,i=Fw(r),o=[Sw({}),{provide:Sr,useExisting:Tw},...t||[]],s=new Rs({providers:o,parent:i,debugName:"",runEnvironmentInitializers:!1});return Rw({r3Injector:s.injector,platformInjector:i,rootComponent:n})}catch(n){return Promise.reject(n)}finally{ie(9)}}function Qt(e){return typeof e=="boolean"?e:e!=null&&e!=="false"}function Kt(e){return Ol(e)}function ji(e,n){return Al(e,n?.equal)}var kp=class{[tt];constructor(n){this[tt]=n}destroy(){this[tt].destroy()}};function ig(e){let n=kn(e);if(!n)return null;let t=new Mr(n);return{get selector(){return t.selector},get type(){return t.componentType},get inputs(){return t.inputs},get outputs(){return t.outputs},get ngContentSelectors(){return t.ngContentSelectors},get isStandalone(){return n.standalone},get isSignal(){return n.signals}}}var J={production:!0,apiBaseUrl:"https://www.palmmedia.de/api/",loginUrl:"https://github.com/login/oauth/authorize",clientId:"ecab9484932b59a12fd4",redirectUri:"/pro",scope:null,paddleEnvironment:null,paddleVendorId:144162,paddleIndividualLicense:762579,paddleTeamLicense:762580,paddleEnterpriseLicense:762581,paddleIndividualLifetimeLicense:833943,paddleTeamLifetimeLicense:833944,paddleEnterpriseLifetimeLicense:833945};var fe=new S("");var ag=null;function Xe(){return ag}function od(e){ag??=e}var Bi=class{},Ui=(()=>{class e{historyGo(t){throw new Error("")}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:()=>C(lg),providedIn:"platform"})}return e})(),sd=new S(""),lg=(()=>{class e extends Ui{_location;_history;_doc=C(fe);constructor(){super(),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Xe().getBaseHref(this._doc)}onPopState(t){let r=Xe().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",t,!1),()=>r.removeEventListener("popstate",t)}onHashChange(t){let r=Xe().getGlobalEventTarget(this._doc,"window");return r.addEventListener("hashchange",t,!1),()=>r.removeEventListener("hashchange",t)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(t){this._location.pathname=t}pushState(t,r,i){this._history.pushState(t,r,i)}replaceState(t,r,i){this._history.replaceState(t,r,i)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:()=>new e,providedIn:"platform"})}return e})();function na(e,n){return e?n?e.endsWith("/")?n.startsWith("/")?e+n.slice(1):e+n:n.startsWith("/")?e+n:`${e}/${n}`:e:n}function og(e){let n=e.search(/#|\?|$/);return e[n-1]==="/"?e.slice(0,n-1)+e.slice(n):e}function mt(e){return e&&e[0]!=="?"?`?${e}`:e}var gt=(()=>{class e{historyGo(t){throw new Error("")}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:()=>C(ia),providedIn:"root"})}return e})(),ra=new S(""),ia=(()=>{class e extends gt{_platformLocation;_baseHref;_removeListenerFns=[];constructor(t,r){super(),this._platformLocation=t,this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??C(fe).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return na(this._baseHref,t)}path(t=!1){let r=this._platformLocation.pathname+mt(this._platformLocation.search),i=this._platformLocation.hash;return i&&t?`${r}${i}`:r}pushState(t,r,i,o){let s=this.prepareExternalUrl(i+mt(o));this._platformLocation.pushState(t,r,s)}replaceState(t,r,i,o){let s=this.prepareExternalUrl(i+mt(o));this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static \u0275fac=function(r){return new(r||e)(A(Ui),A(ra,8))};static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),hn=(()=>{class e{_subject=new pe;_basePath;_locationStrategy;_urlChangeListeners=[];_urlChangeSubscription=null;constructor(t){this._locationStrategy=t;let r=this._locationStrategy.getBaseHref();this._basePath=$w(og(sg(r))),this._locationStrategy.onPopState(i=>{this._subject.next({url:this.path(!0),pop:!0,state:i.state,type:i.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,r=""){return this.path()==this.normalize(t+mt(r))}normalize(t){return e.stripTrailingSlash(Hw(this._basePath,sg(t)))}prepareExternalUrl(t){return t&&t[0]!=="/"&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,r="",i=null){this._locationStrategy.pushState(i,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+mt(r)),i)}replaceState(t,r="",i=null){this._locationStrategy.replaceState(i,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+mt(r)),i)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription??=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)}),()=>{let r=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(r,1),this._urlChangeListeners.length===0&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",r){this._urlChangeListeners.forEach(i=>i(t,r))}subscribe(t,r,i){return this._subject.subscribe({next:t,error:r??void 0,complete:i??void 0})}static normalizeQueryParams=mt;static joinWithSlash=na;static stripTrailingSlash=og;static \u0275fac=function(r){return new(r||e)(A(gt))};static \u0275prov=b({token:e,factory:()=>Uw(),providedIn:"root"})}return e})();function Uw(){return new hn(A(gt))}function Hw(e,n){if(!e||!n.startsWith(e))return n;let t=n.substring(e.length);return t===""||["/",";","?","#"].includes(t[0])?t:n}function sg(e){return e.replace(/\/index.html$/,"")}function $w(e){if(new RegExp("^(https?:)?//").test(e)){let[,t]=e.split(/\/\/[^\/]+/);return t}return e}var ld=(()=>{class e extends gt{_platformLocation;_baseHref="";_removeListenerFns=[];constructor(t,r){super(),this._platformLocation=t,r!=null&&(this._baseHref=r)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let r=this._platformLocation.hash??"#";return r.length>0?r.substring(1):r}prepareExternalUrl(t){let r=na(this._baseHref,t);return r.length>0?"#"+r:r}pushState(t,r,i,o){let s=this.prepareExternalUrl(i+mt(o))||this._platformLocation.pathname;this._platformLocation.pushState(t,r,s)}replaceState(t,r,i,o){let s=this.prepareExternalUrl(i+mt(o))||this._platformLocation.pathname;this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static \u0275fac=function(r){return new(r||e)(A(Ui),A(ra,8))};static \u0275prov=b({token:e,factory:e.\u0275fac})}return e})();var ad=/\s+/,cg=[],zn=(()=>{class e{_ngEl;_renderer;initialClasses=cg;rawClass;stateMap=new Map;constructor(t,r){this._ngEl=t,this._renderer=r}set klass(t){this.initialClasses=t!=null?t.trim().split(ad):cg}set ngClass(t){this.rawClass=typeof t=="string"?t.trim().split(ad):t}ngDoCheck(){for(let r of this.initialClasses)this._updateState(r,!0);let t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(let r of t)this._updateState(r,!0);else if(t!=null)for(let r of Object.keys(t))this._updateState(r,!!t[r]);this._applyStateDiff()}_updateState(t,r){let i=this.stateMap.get(t);i!==void 0?(i.enabled!==r&&(i.changed=!0,i.enabled=r),i.touched=!0):this.stateMap.set(t,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(let t of this.stateMap){let r=t[0],i=t[1];i.changed?(this._toggleClass(r,i.enabled),i.changed=!1):i.touched||(i.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),i.touched=!1}}_toggleClass(t,r){t=t.trim(),t.length>0&&t.split(ad).forEach(i=>{r?this._renderer.addClass(this._ngEl.nativeElement,i):this._renderer.removeClass(this._ngEl.nativeElement,i)})}static \u0275fac=function(r){return new(r||e)(T(we),T(st))};static \u0275dir=re({type:e,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"}})}return e})();var oa=class{$implicit;ngForOf;index;count;constructor(n,t,r,i){this.$implicit=n,this.ngForOf=t,this.index=r,this.count=i}get first(){return this.index===0}get last(){return this.index===this.count-1}get even(){return this.index%2===0}get odd(){return!this.even}},jr=(()=>{class e{_viewContainer;_template;_differs;set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}_ngForOf=null;_ngForOfDirty=!0;_differ=null;_trackByFn;constructor(t,r,i){this._viewContainer=t,this._template=r,this._differs=i}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;let t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){let t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){let r=this._viewContainer;t.forEachOperation((i,o,s)=>{if(i.previousIndex==null)r.createEmbeddedView(this._template,new oa(i.item,this._ngForOf,-1,-1),s===null?void 0:s);else if(s==null)r.remove(o===null?void 0:o);else if(o!==null){let a=r.get(o);r.move(a,s),ug(a,i)}});for(let i=0,o=r.length;i{let o=r.get(i.currentIndex);ug(o,i)})}static ngTemplateContextGuard(t,r){return!0}static \u0275fac=function(r){return new(r||e)(T(fn),T(jn),T(id))};static \u0275dir=re({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}})}return e})();function ug(e,n){e.context.$implicit=n.item}var Gn=(()=>{class e{_viewContainer;_context=new sa;_thenTemplateRef=null;_elseTemplateRef=null;_thenViewRef=null;_elseViewRef=null;constructor(t,r){this._viewContainer=t,this._thenTemplateRef=r}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){dg(t,!1),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){dg(t,!1),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngIfUseIfTypeGuard;static ngTemplateGuard_ngIf;static ngTemplateContextGuard(t,r){return!0}static \u0275fac=function(r){return new(r||e)(T(fn),T(jn))};static \u0275dir=re({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}})}return e})(),sa=class{$implicit=null;ngIf=null};function dg(e,n){if(e&&!e.createEmbeddedView)throw new I(2020,!1)}var cd=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=ze({type:e});static \u0275inj=$e({})}return e})();function Hi(e,n){n=encodeURIComponent(n);for(let t of e.split(";")){let r=t.indexOf("="),[i,o]=r==-1?[t,""]:[t.slice(0,r),t.slice(r+1)];if(i.trim()===n)return decodeURIComponent(o)}return null}var ud="browser",fg="server";function aa(e){return e===fg}var Wn=class{};var pg=(()=>{class e{static \u0275prov=b({token:e,providedIn:"root",factory:()=>new dd(C(fe),window)})}return e})(),dd=class{document;window;offset=()=>[0,0];constructor(n,t){this.document=n,this.window=t}setOffset(n){Array.isArray(n)?this.offset=()=>n:this.offset=n}getScrollPosition(){return[this.window.scrollX,this.window.scrollY]}scrollToPosition(n){this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){let t=zw(this.document,n);t&&(this.scrollToElement(t),t.focus())}setHistoryScrollRestoration(n){this.window.history.scrollRestoration=n}scrollToElement(n){let t=n.getBoundingClientRect(),r=t.left+this.window.pageXOffset,i=t.top+this.window.pageYOffset,o=this.offset();this.window.scrollTo(r-o[0],i-o[1])}};function zw(e,n){let t=e.getElementById(n)||e.getElementsByName(n)[0];if(t)return t;if(typeof e.createTreeWalker=="function"&&e.body&&typeof e.body.attachShadow=="function"){let r=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT),i=r.currentNode;for(;i;){let o=i.shadowRoot;if(o){let s=o.getElementById(n)||o.querySelector(`[name="${n}"]`);if(s)return s}i=r.nextNode()}}return null}var ua=new S(""),md=(()=>{class e{_zone;_plugins;_eventNameToPlugin=new Map;constructor(t,r){this._zone=r,t.forEach(i=>{i.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,r,i,o){return this._findPluginFor(r).addEventListener(t,r,i,o)}getZone(){return this._zone}_findPluginFor(t){let r=this._eventNameToPlugin.get(t);if(r)return r;if(r=this._plugins.find(o=>o.supports(t)),!r)throw new I(5101,!1);return this._eventNameToPlugin.set(t,r),r}static \u0275fac=function(r){return new(r||e)(A(ua),A(ce))};static \u0275prov=b({token:e,factory:e.\u0275fac})}return e})(),$i=class{_doc;constructor(n){this._doc=n}manager},la="ng-app-id";function hg(e){for(let n of e)n.remove()}function mg(e,n){let t=n.createElement("style");return t.textContent=e,t}function Ww(e,n,t,r){let i=e.head?.querySelectorAll(`style[${la}="${n}"],link[${la}="${n}"]`);if(i)for(let o of i)o.removeAttribute(la),o instanceof HTMLLinkElement?r.set(o.href.slice(o.href.lastIndexOf("/")+1),{usage:0,elements:[o]}):o.textContent&&t.set(o.textContent,{usage:0,elements:[o]})}function pd(e,n){let t=n.createElement("link");return t.setAttribute("rel","stylesheet"),t.setAttribute("href",e),t}var gd=(()=>{class e{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;isServer;constructor(t,r,i,o={}){this.doc=t,this.appId=r,this.nonce=i,this.isServer=aa(o),Ww(t,r,this.inline,this.external),this.hosts.add(t.head)}addStyles(t,r){for(let i of t)this.addUsage(i,this.inline,mg);r?.forEach(i=>this.addUsage(i,this.external,pd))}removeStyles(t,r){for(let i of t)this.removeUsage(i,this.inline);r?.forEach(i=>this.removeUsage(i,this.external))}addUsage(t,r,i){let o=r.get(t);o?o.usage++:r.set(t,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,i(t,this.doc)))})}removeUsage(t,r){let i=r.get(t);i&&(i.usage--,i.usage<=0&&(hg(i.elements),r.delete(t)))}ngOnDestroy(){for(let[,{elements:t}]of[...this.inline,...this.external])hg(t);this.hosts.clear()}addHost(t){this.hosts.add(t);for(let[r,{elements:i}]of this.inline)i.push(this.addElement(t,mg(r,this.doc)));for(let[r,{elements:i}]of this.external)i.push(this.addElement(t,pd(r,this.doc)))}removeHost(t){this.hosts.delete(t)}addElement(t,r){return this.nonce&&r.setAttribute("nonce",this.nonce),this.isServer&&r.setAttribute(la,this.appId),t.appendChild(r)}static \u0275fac=function(r){return new(r||e)(A(fe),A(xu),A(Tu,8),A(dn))};static \u0275prov=b({token:e,factory:e.\u0275fac})}return e})(),fd={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},vd=/%COMP%/g;var vg="%COMP%",Zw=`_nghost-${vg}`,Yw=`_ngcontent-${vg}`,Qw=!0,Kw=new S("",{providedIn:"root",factory:()=>Qw});function Xw(e){return Yw.replace(vd,e)}function Jw(e){return Zw.replace(vd,e)}function yg(e,n){return n.map(t=>t.replace(vd,e))}var yd=(()=>{class e{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;platformId;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;platformIsServer;constructor(t,r,i,o,s,a,l,f=null,p=null){this.eventManager=t,this.sharedStylesHost=r,this.appId=i,this.removeStylesOnCompDestroy=o,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=f,this.tracingService=p,this.platformIsServer=aa(a),this.defaultRenderer=new qi(t,s,l,this.platformIsServer,this.tracingService)}createRenderer(t,r){if(!t||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===Mt.ShadowDom&&(r=Y(w({},r),{encapsulation:Mt.Emulated}));let i=this.getOrCreateRenderer(t,r);return i instanceof ca?i.applyToHost(t):i instanceof zi&&i.applyStyles(),i}getOrCreateRenderer(t,r){let i=this.rendererByCompId,o=i.get(r.id);if(!o){let s=this.doc,a=this.ngZone,l=this.eventManager,f=this.sharedStylesHost,p=this.removeStylesOnCompDestroy,g=this.platformIsServer,y=this.tracingService;switch(r.encapsulation){case Mt.Emulated:o=new ca(l,f,r,this.appId,p,s,a,g,y);break;case Mt.ShadowDom:return new hd(l,f,t,r,s,a,this.nonce,g,y);default:o=new zi(l,f,r,p,s,a,g,y);break}i.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(t){this.rendererByCompId.delete(t)}static \u0275fac=function(r){return new(r||e)(A(md),A(gd),A(xu),A(Kw),A(fe),A(dn),A(ce),A(Tu),A(Pr,8))};static \u0275prov=b({token:e,factory:e.\u0275fac})}return e})(),qi=class{eventManager;doc;ngZone;platformIsServer;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(n,t,r,i,o){this.eventManager=n,this.doc=t,this.ngZone=r,this.platformIsServer=i,this.tracingService=o}destroy(){}destroyNode=null;createElement(n,t){return t?this.doc.createElementNS(fd[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(gg(n)?n.content:n).appendChild(t)}insertBefore(n,t,r){n&&(gg(n)?n.content:n).insertBefore(t,r)}removeChild(n,t){t.remove()}selectRootElement(n,t){let r=typeof n=="string"?this.doc.querySelector(n):n;if(!r)throw new I(-5104,!1);return t||(r.textContent=""),r}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,r,i){if(i){t=i+":"+t;let o=fd[i];o?n.setAttributeNS(o,t,r):n.setAttribute(t,r)}else n.setAttribute(t,r)}removeAttribute(n,t,r){if(r){let i=fd[r];i?n.removeAttributeNS(i,t):n.removeAttribute(`${r}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,r,i){i&(qt.DashCase|qt.Important)?n.style.setProperty(t,r,i&qt.Important?"important":""):n.style[t]=r}removeStyle(n,t,r){r&qt.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,r){n!=null&&(n[t]=r)}setValue(n,t){n.nodeValue=t}listen(n,t,r,i){if(typeof n=="string"&&(n=Xe().getGlobalEventTarget(this.doc,n),!n))throw new I(5102,!1);let o=this.decoratePreventDefault(r);return this.tracingService?.wrapEventListener&&(o=this.tracingService.wrapEventListener(n,t,o)),this.eventManager.addEventListener(n,t,o,i)}decoratePreventDefault(n){return t=>{if(t==="__ngUnwrap__")return n;(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))===!1&&t.preventDefault()}}};function gg(e){return e.tagName==="TEMPLATE"&&e.content!==void 0}var hd=class extends qi{sharedStylesHost;hostEl;shadowRoot;constructor(n,t,r,i,o,s,a,l,f){super(n,o,s,l,f),this.sharedStylesHost=t,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let p=i.styles;p=yg(i.id,p);for(let y of p){let v=document.createElement("style");a&&v.setAttribute("nonce",a),v.textContent=y,this.shadowRoot.appendChild(v)}let g=i.getExternalStyles?.();if(g)for(let y of g){let v=pd(y,o);a&&v.setAttribute("nonce",a),this.shadowRoot.appendChild(v)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,r){return super.insertBefore(this.nodeOrShadowRoot(n),t,r)}removeChild(n,t){return super.removeChild(null,t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}},zi=class extends qi{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(n,t,r,i,o,s,a,l,f){super(n,o,s,a,l),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=i;let p=r.styles;this.styles=f?yg(f,p):p,this.styleUrls=r.getExternalStyles?.(f)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},ca=class extends zi{contentAttr;hostAttr;constructor(n,t,r,i,o,s,a,l,f){let p=i+"-"+r.id;super(n,t,r,o,s,a,l,f,p),this.contentAttr=Xw(p),this.hostAttr=Jw(p)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){let r=super.createElement(n,t);return super.setAttribute(r,this.contentAttr,""),r}};var da=class e extends Bi{supportsDOMEvents=!0;static makeCurrent(){od(new e)}onAndCancel(n,t,r,i){return n.addEventListener(t,r,i),()=>{n.removeEventListener(t,r,i)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.remove()}createElement(n,t){return t=t||this.getDefaultDocument(),t.createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return t==="window"?window:t==="document"?n:t==="body"?n.body:null}getBaseHref(n){let t=eb();return t==null?null:tb(t)}resetBaseElement(){Gi=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return Hi(document.cookie,n)}},Gi=null;function eb(){return Gi=Gi||document.querySelector("base"),Gi?Gi.getAttribute("href"):null}function tb(e){return new URL(e,document.baseURI).pathname}var fa=class{addToWindow(n){Et.getAngularTestability=(r,i=!0)=>{let o=n.findTestabilityInTree(r,i);if(o==null)throw new I(5103,!1);return o},Et.getAllAngularTestabilities=()=>n.getAllTestabilities(),Et.getAllAngularRootElements=()=>n.getAllRootElements();let t=r=>{let i=Et.getAllAngularTestabilities(),o=i.length,s=function(){o--,o==0&&r()};i.forEach(a=>{a.whenStable(s)})};Et.frameworkStabilizers||(Et.frameworkStabilizers=[]),Et.frameworkStabilizers.push(t)}findTestabilityInTree(n,t,r){if(t==null)return null;let i=n.getTestability(t);return i??(r?Xe().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},nb=(()=>{class e{build(){return new XMLHttpRequest}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:e.\u0275fac})}return e})(),Cg=(()=>{class e extends $i{constructor(t){super(t)}supports(t){return!0}addEventListener(t,r,i,o){return t.addEventListener(r,i,o),()=>this.removeEventListener(t,r,i,o)}removeEventListener(t,r,i,o){return t.removeEventListener(r,i,o)}static \u0275fac=function(r){return new(r||e)(A(fe))};static \u0275prov=b({token:e,factory:e.\u0275fac})}return e})(),_g=["alt","control","meta","shift"],rb={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},ib={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey},Dg=(()=>{class e extends $i{constructor(t){super(t)}supports(t){return e.parseEventName(t)!=null}addEventListener(t,r,i,o){let s=e.parseEventName(r),a=e.eventCallback(s.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Xe().onAndCancel(t,s.domEventName,a,o))}static parseEventName(t){let r=t.toLowerCase().split("."),i=r.shift();if(r.length===0||!(i==="keydown"||i==="keyup"))return null;let o=e._normalizeKey(r.pop()),s="",a=r.indexOf("code");if(a>-1&&(r.splice(a,1),s="code."),_g.forEach(f=>{let p=r.indexOf(f);p>-1&&(r.splice(p,1),s+=f+".")}),s+=o,r.length!=0||o.length===0)return null;let l={};return l.domEventName=i,l.fullKey=s,l}static matchEventFullKeyCode(t,r){let i=rb[t.key]||t.key,o="";return r.indexOf("code.")>-1&&(i=t.code,o="code."),i==null||!i?!1:(i=i.toLowerCase(),i===" "?i="space":i==="."&&(i="dot"),_g.forEach(s=>{if(s!==i){let a=ib[s];a(t)&&(o+=s+".")}}),o+=i,o===r)}static eventCallback(t,r,i){return o=>{e.matchEventFullKeyCode(o,t)&&i.runGuarded(()=>r(o))}}static _normalizeKey(t){return t==="esc"?"escape":t}static \u0275fac=function(r){return new(r||e)(A(fe))};static \u0275prov=b({token:e,factory:e.\u0275fac})}return e})();function _d(e,n){return rg(w({rootComponent:e},ob(n)))}function ob(e){return{appProviders:[...Eg,...e?.providers??[]],platformProviders:cb}}function sb(){da.makeCurrent()}function ab(){return new xt}function lb(){return Kh(document),document}var cb=[{provide:dn,useValue:ud},{provide:Mu,useValue:sb,multi:!0},{provide:fe,useFactory:lb}];var ub=[{provide:Li,useClass:fa},{provide:Ju,useClass:Js,deps:[ce,ea,Li]},{provide:Js,useClass:Js,deps:[ce,ea,Li]}],Eg=[{provide:js,useValue:"root"},{provide:xt,useFactory:ab},{provide:ua,useClass:Cg,multi:!0,deps:[fe]},{provide:ua,useClass:Dg,multi:!0,deps:[fe]},yd,gd,md,{provide:xr,useExisting:yd},{provide:Wn,useClass:nb},[]],Cd=(()=>{class e{constructor(){}static \u0275fac=function(r){return new(r||e)};static \u0275mod=ze({type:e});static \u0275inj=$e({providers:[...Eg,...ub],imports:[cd,ng]})}return e})();var Ur=class{},Wi=class{},mn=class e{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(n){n?typeof n=="string"?this.lazyInit=()=>{this.headers=new Map,n.split(` -`).forEach(t=>{let r=t.indexOf(":");if(r>0){let i=t.slice(0,r),o=t.slice(r+1).trim();this.addHeaderEntry(i,o)}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((t,r)=>{this.addHeaderEntry(r,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([t,r])=>{this.setHeaderEntries(t,r)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();let t=this.headers.get(n.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,t){return this.clone({name:n,value:t,op:"a"})}set(n,t){return this.clone({name:n,value:t,op:"s"})}delete(n,t){return this.clone({name:n,value:t,op:"d"})}maybeSetNormalizedName(n,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,n)}init(){this.lazyInit&&(this.lazyInit instanceof e?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(t=>{this.headers.set(t,n.headers.get(t)),this.normalizedNames.set(t,n.normalizedNames.get(t))})}clone(n){let t=new e;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof e?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){let t=n.name.toLowerCase();switch(n.op){case"a":case"s":let r=n.value;if(typeof r=="string"&&(r=[r]),r.length===0)return;this.maybeSetNormalizedName(n.name,t);let i=(n.op==="a"?this.headers.get(t):void 0)||[];i.push(...r),this.headers.set(t,i);break;case"d":let o=n.value;if(!o)this.headers.delete(t),this.normalizedNames.delete(t);else{let s=this.headers.get(t);if(!s)return;s=s.filter(a=>o.indexOf(a)===-1),s.length===0?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}break}}addHeaderEntry(n,t){let r=n.toLowerCase();this.maybeSetNormalizedName(n,r),this.headers.has(r)?this.headers.get(r).push(t):this.headers.set(r,[t])}setHeaderEntries(n,t){let r=(Array.isArray(t)?t:[t]).map(o=>o.toString()),i=n.toLowerCase();this.headers.set(i,r),this.maybeSetNormalizedName(n,i)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}};var ha=class{encodeKey(n){return wg(n)}encodeValue(n){return wg(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}};function db(e,n){let t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(i=>{let o=i.indexOf("="),[s,a]=o==-1?[n.decodeKey(i),""]:[n.decodeKey(i.slice(0,o)),n.decodeValue(i.slice(o+1))],l=t.get(s)||[];l.push(a),t.set(s,l)}),t}var fb=/%(\d[a-f0-9])/gi,pb={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function wg(e){return encodeURIComponent(e).replace(fb,(n,t)=>pb[t]??n)}function pa(e){return`${e}`}var Xt=class e{map;encoder;updates=null;cloneFrom=null;constructor(n={}){if(this.encoder=n.encoder||new ha,n.fromString){if(n.fromObject)throw new I(2805,!1);this.map=db(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{let r=n.fromObject[t],i=Array.isArray(r)?r.map(pa):[pa(r)];this.map.set(t,i)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();let t=this.map.get(n);return t?t[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,t){return this.clone({param:n,value:t,op:"a"})}appendAll(n){let t=[];return Object.keys(n).forEach(r=>{let i=n[r];Array.isArray(i)?i.forEach(o=>{t.push({param:r,value:o,op:"a"})}):t.push({param:r,value:i,op:"a"})}),this.clone(t)}set(n,t){return this.clone({param:n,value:t,op:"s"})}delete(n,t){return this.clone({param:n,value:t,op:"d"})}toString(){return this.init(),this.keys().map(n=>{let t=this.encoder.encodeKey(n);return this.map.get(n).map(r=>t+"="+this.encoder.encodeValue(r)).join("&")}).filter(n=>n!=="").join("&")}clone(n){let t=new e({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":let t=(n.op==="a"?this.map.get(n.param):void 0)||[];t.push(pa(n.value)),this.map.set(n.param,t);break;case"d":if(n.value!==void 0){let r=this.map.get(n.param)||[],i=r.indexOf(pa(n.value));i!==-1&&r.splice(i,1),r.length>0?this.map.set(n.param,r):this.map.delete(n.param)}else{this.map.delete(n.param);break}}}),this.cloneFrom=this.updates=null)}};var ma=class{map=new Map;set(n,t){return this.map.set(n,t),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}};function hb(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function bg(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function Ig(e){return typeof Blob<"u"&&e instanceof Blob}function Sg(e){return typeof FormData<"u"&&e instanceof FormData}function mb(e){return typeof URLSearchParams<"u"&&e instanceof URLSearchParams}var xg="Content-Type",Mg="Accept",Ag="X-Request-URL",Ng="text/plain",Rg="application/json",gb=`${Rg}, ${Ng}, */*`,Br=class e{url;body=null;headers;context;reportProgress=!1;withCredentials=!1;responseType="json";method;params;urlWithParams;transferCache;constructor(n,t,r,i){this.url=t,this.method=n.toUpperCase();let o;if(hb(this.method)||i?(this.body=r!==void 0?r:null,o=i):o=r,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params),this.transferCache=o.transferCache),this.headers??=new mn,this.context??=new ma,!this.params)this.params=new Xt,this.urlWithParams=t;else{let s=this.params.toString();if(s.length===0)this.urlWithParams=t;else{let a=t.indexOf("?"),l=a===-1?"?":ay.set(v,n.setHeaders[v]),f)),n.setParams&&(p=Object.keys(n.setParams).reduce((y,v)=>y.set(v,n.setParams[v]),p)),new e(t,r,s,{params:p,headers:f,context:g,reportProgress:l,responseType:i,withCredentials:a,transferCache:o})}},Zn=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(Zn||{}),Hr=class{headers;status;statusText;url;ok;type;constructor(n,t=200,r="OK"){this.headers=n.headers||new mn,this.status=n.status!==void 0?n.status:t,this.statusText=n.statusText||r,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}},ga=class e extends Hr{constructor(n={}){super(n)}type=Zn.ResponseHeader;clone(n={}){return new e({headers:n.headers||this.headers,status:n.status!==void 0?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}},Zi=class e extends Hr{body;constructor(n={}){super(n),this.body=n.body!==void 0?n.body:null}type=Zn.Response;clone(n={}){return new e({body:n.body!==void 0?n.body:this.body,headers:n.headers||this.headers,status:n.status!==void 0?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}},Yi=class extends Hr{name="HttpErrorResponse";message;error;ok=!1;constructor(n){super(n,0,"Unknown Error"),this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${n.url||"(unknown url)"}`:this.message=`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}},vb=200,yb=204;function Dd(e,n){return{body:n,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials,transferCache:e.transferCache}}var $r=(()=>{class e{handler;constructor(t){this.handler=t}request(t,r,i={}){let o;if(t instanceof Br)o=t;else{let l;i.headers instanceof mn?l=i.headers:l=new mn(i.headers);let f;i.params&&(i.params instanceof Xt?f=i.params:f=new Xt({fromObject:i.params})),o=new Br(t,r,i.body!==void 0?i.body:null,{headers:l,context:i.context,params:f,reportProgress:i.reportProgress,responseType:i.responseType||"json",withCredentials:i.withCredentials,transferCache:i.transferCache})}let s=k(o).pipe(Ct(l=>this.handler.handle(l)));if(t instanceof Br||i.observe==="events")return s;let a=s.pipe(De(l=>l instanceof Zi));switch(i.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(V(l=>{if(l.body!==null&&!(l.body instanceof ArrayBuffer))throw new I(2806,!1);return l.body}));case"blob":return a.pipe(V(l=>{if(l.body!==null&&!(l.body instanceof Blob))throw new I(2807,!1);return l.body}));case"text":return a.pipe(V(l=>{if(l.body!==null&&typeof l.body!="string")throw new I(2808,!1);return l.body}));case"json":default:return a.pipe(V(l=>l.body))}case"response":return a;default:throw new I(2809,!1)}}delete(t,r={}){return this.request("DELETE",t,r)}get(t,r={}){return this.request("GET",t,r)}head(t,r={}){return this.request("HEAD",t,r)}jsonp(t,r){return this.request("JSONP",t,{params:new Xt().append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,r={}){return this.request("OPTIONS",t,r)}patch(t,r,i={}){return this.request("PATCH",t,Dd(i,r))}post(t,r,i={}){return this.request("POST",t,Dd(i,r))}put(t,r,i={}){return this.request("PUT",t,Dd(i,r))}static \u0275fac=function(r){return new(r||e)(A(Ur))};static \u0275prov=b({token:e,factory:e.\u0275fac})}return e})();var _b=new S("");function kg(e,n){return n(e)}function Cb(e,n){return(t,r)=>n.intercept(t,{handle:i=>e(i,r)})}function Db(e,n,t){return(r,i)=>qe(t,()=>n(r,o=>e(o,i)))}var Og=new S(""),wd=new S(""),Pg=new S(""),bd=new S("",{providedIn:"root",factory:()=>!0});function Eb(){let e=null;return(n,t)=>{e===null&&(e=(C(Og,{optional:!0})??[]).reduceRight(Cb,kg));let r=C(Yt);if(C(bd)){let o=r.add();return e(n,t).pipe(an(()=>r.remove(o)))}else return e(n,t)}}var va=(()=>{class e extends Ur{backend;injector;chain=null;pendingTasks=C(Yt);contributeToStability=C(bd);constructor(t,r){super(),this.backend=t,this.injector=r}handle(t){if(this.chain===null){let r=Array.from(new Set([...this.injector.get(wd),...this.injector.get(Pg,[])]));this.chain=r.reduceRight((i,o)=>Db(i,o,this.injector),kg)}if(this.contributeToStability){let r=this.pendingTasks.add();return this.chain(t,i=>this.backend.handle(i)).pipe(an(()=>this.pendingTasks.remove(r)))}else return this.chain(t,r=>this.backend.handle(r))}static \u0275fac=function(r){return new(r||e)(A(Wi),A(xe))};static \u0275prov=b({token:e,factory:e.\u0275fac})}return e})();var wb=/^\)\]\}',?\n/,bb=RegExp(`^${Ag}:`,"m");function Ib(e){return"responseURL"in e&&e.responseURL?e.responseURL:bb.test(e.getAllResponseHeaders())?e.getResponseHeader(Ag):null}var Ed=(()=>{class e{xhrFactory;constructor(t){this.xhrFactory=t}handle(t){if(t.method==="JSONP")throw new I(-2800,!1);let r=this.xhrFactory;return(r.\u0275loadImpl?oe(r.\u0275loadImpl()):k(null)).pipe(Be(()=>new X(o=>{let s=r.build();if(s.open(t.method,t.urlWithParams),t.withCredentials&&(s.withCredentials=!0),t.headers.forEach((N,P)=>s.setRequestHeader(N,P.join(","))),t.headers.has(Mg)||s.setRequestHeader(Mg,gb),!t.headers.has(xg)){let N=t.detectContentTypeHeader();N!==null&&s.setRequestHeader(xg,N)}if(t.responseType){let N=t.responseType.toLowerCase();s.responseType=N!=="json"?N:"text"}let a=t.serializeBody(),l=null,f=()=>{if(l!==null)return l;let N=s.statusText||"OK",P=new mn(s.getAllResponseHeaders()),ee=Ib(s)||t.url;return l=new ga({headers:P,status:s.status,statusText:N,url:ee}),l},p=()=>{let{headers:N,status:P,statusText:ee,url:So}=f(),ye=null;P!==yb&&(ye=typeof s.response>"u"?s.responseText:s.response),P===0&&(P=ye?vb:0);let vl=P>=200&&P<300;if(t.responseType==="json"&&typeof ye=="string"){let wy=ye;ye=ye.replace(wb,"");try{ye=ye!==""?JSON.parse(ye):null}catch(by){ye=wy,vl&&(vl=!1,ye={error:by,text:ye})}}vl?(o.next(new Zi({body:ye,headers:N,status:P,statusText:ee,url:So||void 0})),o.complete()):o.error(new Yi({error:ye,headers:N,status:P,statusText:ee,url:So||void 0}))},g=N=>{let{url:P}=f(),ee=new Yi({error:N,status:s.status||0,statusText:s.statusText||"Unknown Error",url:P||void 0});o.error(ee)},y=!1,v=N=>{y||(o.next(f()),y=!0);let P={type:Zn.DownloadProgress,loaded:N.loaded};N.lengthComputable&&(P.total=N.total),t.responseType==="text"&&s.responseText&&(P.partialText=s.responseText),o.next(P)},E=N=>{let P={type:Zn.UploadProgress,loaded:N.loaded};N.lengthComputable&&(P.total=N.total),o.next(P)};return s.addEventListener("load",p),s.addEventListener("error",g),s.addEventListener("timeout",g),s.addEventListener("abort",g),t.reportProgress&&(s.addEventListener("progress",v),a!==null&&s.upload&&s.upload.addEventListener("progress",E)),s.send(a),o.next({type:Zn.Sent}),()=>{s.removeEventListener("error",g),s.removeEventListener("abort",g),s.removeEventListener("load",p),s.removeEventListener("timeout",g),t.reportProgress&&(s.removeEventListener("progress",v),a!==null&&s.upload&&s.upload.removeEventListener("progress",E)),s.readyState!==s.DONE&&s.abort()}})))}static \u0275fac=function(r){return new(r||e)(A(Wn))};static \u0275prov=b({token:e,factory:e.\u0275fac})}return e})(),Fg=new S(""),Sb="XSRF-TOKEN",xb=new S("",{providedIn:"root",factory:()=>Sb}),Mb="X-XSRF-TOKEN",Tb=new S("",{providedIn:"root",factory:()=>Mb}),Qi=class{},Ab=(()=>{class e{doc;platform;cookieName;lastCookieString="";lastToken=null;parseCount=0;constructor(t,r,i){this.doc=t,this.platform=r,this.cookieName=i}getToken(){if(this.platform==="server")return null;let t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Hi(t,this.cookieName),this.lastCookieString=t),this.lastToken}static \u0275fac=function(r){return new(r||e)(A(fe),A(dn),A(xb))};static \u0275prov=b({token:e,factory:e.\u0275fac})}return e})();function Nb(e,n){let t=e.url.toLowerCase();if(!C(Fg)||e.method==="GET"||e.method==="HEAD"||t.startsWith("http://")||t.startsWith("https://"))return n(e);let r=C(Qi).getToken(),i=C(Tb);return r!=null&&!e.headers.has(i)&&(e=e.clone({headers:e.headers.set(i,r)})),n(e)}var Id=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(Id||{});function Rb(e,n){return{\u0275kind:e,\u0275providers:n}}function Sd(...e){let n=[$r,Ed,va,{provide:Ur,useExisting:va},{provide:Wi,useFactory:()=>C(_b,{optional:!0})??C(Ed)},{provide:wd,useValue:Nb,multi:!0},{provide:Fg,useValue:!0},{provide:Qi,useClass:Ab}];for(let t of e)n.push(...t.\u0275providers);return Vs(n)}var Tg=new S("");function xd(){return Rb(Id.LegacyInterceptors,[{provide:Tg,useFactory:Eb},{provide:wd,useExisting:Tg,multi:!0}])}var Vg=(()=>{class e{_doc;constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}static \u0275fac=function(r){return new(r||e)(A(fe))};static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var B="primary",co=Symbol("RouteTitle"),Rd=class{params;constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){let t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){let t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}};function Kn(e){return new Rd(e)}function Gg(e,n,t){let r=t.path.split("/");if(r.length>e.length||t.pathMatch==="full"&&(n.hasChildren()||r.lengthr[o]===i)}else return e===n}function Zg(e){return e.length>0?e[e.length-1]:null}function Cn(e){return zl(e)?e:$n(e)?oe(Promise.resolve(e)):k(e)}var Pb={exact:Qg,subset:Kg},Yg={exact:Fb,subset:Lb,ignored:()=>!0};function jg(e,n,t){return Pb[t.paths](e.root,n.root,t.matrixParams)&&Yg[t.queryParams](e.queryParams,n.queryParams)&&!(t.fragment==="exact"&&e.fragment!==n.fragment)}function Fb(e,n){return Nt(e,n)}function Qg(e,n,t){if(!Yn(e.segments,n.segments)||!Ca(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(let r in n.children)if(!e.children[r]||!Qg(e.children[r],n.children[r],t))return!1;return!0}function Lb(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>Wg(e[t],n[t]))}function Kg(e,n,t){return Xg(e,n,n.segments,t)}function Xg(e,n,t,r){if(e.segments.length>t.length){let i=e.segments.slice(0,t.length);return!(!Yn(i,t)||n.hasChildren()||!Ca(i,t,r))}else if(e.segments.length===t.length){if(!Yn(e.segments,t)||!Ca(e.segments,t,r))return!1;for(let i in n.children)if(!e.children[i]||!Kg(e.children[i],n.children[i],r))return!1;return!0}else{let i=t.slice(0,e.segments.length),o=t.slice(e.segments.length);return!Yn(e.segments,i)||!Ca(e.segments,i,r)||!e.children[B]?!1:Xg(e.children[B],n,o,r)}}function Ca(e,n,t){return n.every((r,i)=>Yg[t](e[i].parameters,r.parameters))}var kt=class{root;queryParams;fragment;_queryParamMap;constructor(n=new ne([],{}),t={},r=null){this.root=n,this.queryParams=t,this.fragment=r}get queryParamMap(){return this._queryParamMap??=Kn(this.queryParams),this._queryParamMap}toString(){return Bb.serialize(this)}},ne=class{segments;children;parent=null;constructor(n,t){this.segments=n,this.children=t,Object.values(t).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Da(this)}},gn=class{path;parameters;_parameterMap;constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap??=Kn(this.parameters),this._parameterMap}toString(){return ev(this)}};function Vb(e,n){return Yn(e,n)&&e.every((t,r)=>Nt(t.parameters,n[r].parameters))}function Yn(e,n){return e.length!==n.length?!1:e.every((t,r)=>t.path===n[r].path)}function jb(e,n){let t=[];return Object.entries(e.children).forEach(([r,i])=>{r===B&&(t=t.concat(n(i,r)))}),Object.entries(e.children).forEach(([r,i])=>{r!==B&&(t=t.concat(n(i,r)))}),t}var Xn=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:()=>new vn,providedIn:"root"})}return e})(),vn=class{parse(n){let t=new Pd(n);return new kt(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){let t=`/${Ki(n.root,!0)}`,r=$b(n.queryParams),i=typeof n.fragment=="string"?`#${Ub(n.fragment)}`:"";return`${t}${r}${i}`}},Bb=new vn;function Da(e){return e.segments.map(n=>ev(n)).join("/")}function Ki(e,n){if(!e.hasChildren())return Da(e);if(n){let t=e.children[B]?Ki(e.children[B],!1):"",r=[];return Object.entries(e.children).forEach(([i,o])=>{i!==B&&r.push(`${i}:${Ki(o,!1)}`)}),r.length>0?`${t}(${r.join("//")})`:t}else{let t=jb(e,(r,i)=>i===B?[Ki(e.children[B],!1)]:[`${i}:${Ki(r,!1)}`]);return Object.keys(e.children).length===1&&e.children[B]!=null?`${Da(e)}/${t[0]}`:`${Da(e)}/(${t.join("//")})`}}function Jg(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function ya(e){return Jg(e).replace(/%3B/gi,";")}function Ub(e){return encodeURI(e)}function Od(e){return Jg(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Ea(e){return decodeURIComponent(e)}function Bg(e){return Ea(e.replace(/\+/g,"%20"))}function ev(e){return`${Od(e.path)}${Hb(e.parameters)}`}function Hb(e){return Object.entries(e).map(([n,t])=>`;${Od(n)}=${Od(t)}`).join("")}function $b(e){let n=Object.entries(e).map(([t,r])=>Array.isArray(r)?r.map(i=>`${ya(t)}=${ya(i)}`).join("&"):`${ya(t)}=${ya(r)}`).filter(t=>t);return n.length?`?${n.join("&")}`:""}var qb=/^[^\/()?;#]+/;function Md(e){let n=e.match(qb);return n?n[0]:""}var zb=/^[^\/()?;=#]+/;function Gb(e){let n=e.match(zb);return n?n[0]:""}var Wb=/^[^=?&#]+/;function Zb(e){let n=e.match(Wb);return n?n[0]:""}var Yb=/^[^&#]+/;function Qb(e){let n=e.match(Yb);return n?n[0]:""}var Pd=class{url;remaining;constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new ne([],{}):new ne([],this.parseChildren())}parseQueryParams(){let n={};if(this.consumeOptional("?"))do this.parseQueryParam(n);while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let r={};return this.peekStartsWith("(")&&(r=this.parseParens(!1)),(n.length>0||Object.keys(t).length>0)&&(r[B]=new ne(n,t)),r}parseSegment(){let n=Md(this.remaining);if(n===""&&this.peekStartsWith(";"))throw new I(4009,!1);return this.capture(n),new gn(Ea(n),this.parseMatrixParams())}parseMatrixParams(){let n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){let t=Gb(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){let i=Md(this.remaining);i&&(r=i,this.capture(r))}n[Ea(t)]=Ea(r)}parseQueryParam(n){let t=Zb(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){let s=Qb(this.remaining);s&&(r=s,this.capture(r))}let i=Bg(t),o=Bg(r);if(n.hasOwnProperty(i)){let s=n[i];Array.isArray(s)||(s=[s],n[i]=s),s.push(o)}else n[i]=o}parseParens(n){let t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let r=Md(this.remaining),i=this.remaining[r.length];if(i!=="/"&&i!==")"&&i!==";")throw new I(4010,!1);let o;r.indexOf(":")>-1?(o=r.slice(0,r.indexOf(":")),this.capture(o),this.capture(":")):n&&(o=B);let s=this.parseChildren();t[o]=Object.keys(s).length===1?s[B]:new ne([],s),this.consumeOptional("//")}return t}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return this.peekStartsWith(n)?(this.remaining=this.remaining.substring(n.length),!0):!1}capture(n){if(!this.consumeOptional(n))throw new I(4011,!1)}};function tv(e){return e.segments.length>0?new ne([],{[B]:e}):e}function nv(e){let n={};for(let[r,i]of Object.entries(e.children)){let o=nv(i);if(r===B&&o.segments.length===0&&o.hasChildren())for(let[s,a]of Object.entries(o.children))n[s]=a;else(o.segments.length>0||o.hasChildren())&&(n[r]=o)}let t=new ne(e.segments,n);return Kb(t)}function Kb(e){if(e.numberOfChildren===1&&e.children[B]){let n=e.children[B];return new ne(e.segments.concat(n.segments),n.children)}return e}function yn(e){return e instanceof kt}function rv(e,n,t=null,r=null){let i=iv(e);return ov(i,n,t,r)}function iv(e){let n;function t(o){let s={};for(let l of o.children){let f=t(l);s[l.outlet]=f}let a=new ne(o.url,s);return o===e&&(n=a),a}let r=t(e.root),i=tv(r);return n??i}function ov(e,n,t,r){let i=e;for(;i.parent;)i=i.parent;if(n.length===0)return Td(i,i,i,t,r);let o=Xb(n);if(o.toRoot())return Td(i,i,new ne([],{}),t,r);let s=Jb(o,i,e),a=s.processChildren?Ji(s.segmentGroup,s.index,o.commands):av(s.segmentGroup,s.index,o.commands);return Td(i,s.segmentGroup,a,t,r)}function ba(e){return typeof e=="object"&&e!=null&&!e.outlets&&!e.segmentPath}function to(e){return typeof e=="object"&&e!=null&&e.outlets}function Td(e,n,t,r,i){let o={};r&&Object.entries(r).forEach(([l,f])=>{o[l]=Array.isArray(f)?f.map(p=>`${p}`):`${f}`});let s;e===n?s=t:s=sv(e,n,t);let a=tv(nv(s));return new kt(a,o,i)}function sv(e,n,t){let r={};return Object.entries(e.children).forEach(([i,o])=>{o===n?r[i]=t:r[i]=sv(o,n,t)}),new ne(e.segments,r)}var Ia=class{isAbsolute;numberOfDoubleDots;commands;constructor(n,t,r){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=r,n&&r.length>0&&ba(r[0]))throw new I(4003,!1);let i=r.find(to);if(i&&i!==Zg(r))throw new I(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function Xb(e){if(typeof e[0]=="string"&&e.length===1&&e[0]==="/")return new Ia(!0,0,e);let n=0,t=!1,r=e.reduce((i,o,s)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let a={};return Object.entries(o.outlets).forEach(([l,f])=>{a[l]=typeof f=="string"?f.split("/"):f}),[...i,{outlets:a}]}if(o.segmentPath)return[...i,o.segmentPath]}return typeof o!="string"?[...i,o]:s===0?(o.split("/").forEach((a,l)=>{l==0&&a==="."||(l==0&&a===""?t=!0:a===".."?n++:a!=""&&i.push(a))}),i):[...i,o]},[]);return new Ia(t,n,r)}var Gr=class{segmentGroup;processChildren;index;constructor(n,t,r){this.segmentGroup=n,this.processChildren=t,this.index=r}};function Jb(e,n,t){if(e.isAbsolute)return new Gr(n,!0,0);if(!t)return new Gr(n,!1,NaN);if(t.parent===null)return new Gr(t,!0,0);let r=ba(e.commands[0])?0:1,i=t.segments.length-1+r;return eI(t,i,e.numberOfDoubleDots)}function eI(e,n,t){let r=e,i=n,o=t;for(;o>i;){if(o-=i,r=r.parent,!r)throw new I(4005,!1);i=r.segments.length}return new Gr(r,!1,i-o)}function tI(e){return to(e[0])?e[0].outlets:{[B]:e}}function av(e,n,t){if(e??=new ne([],{}),e.segments.length===0&&e.hasChildren())return Ji(e,n,t);let r=nI(e,n,t),i=t.slice(r.commandIndex);if(r.match&&r.pathIndexo!==B)&&e.children[B]&&e.numberOfChildren===1&&e.children[B].segments.length===0){let o=Ji(e.children[B],n,t);return new ne(e.segments,o.children)}return Object.entries(r).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(i[o]=av(e.children[o],n,s))}),Object.entries(e.children).forEach(([o,s])=>{r[o]===void 0&&(i[o]=s)}),new ne(e.segments,i)}}function nI(e,n,t){let r=0,i=n,o={match:!1,pathIndex:0,commandIndex:0};for(;i=t.length)return o;let s=e.segments[i],a=t[r];if(to(a))break;let l=`${a}`,f=r0&&l===void 0)break;if(l&&f&&typeof f=="object"&&f.outlets===void 0){if(!Hg(l,f,s))return o;r+=2}else{if(!Hg(l,{},s))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}function Fd(e,n,t){let r=e.segments.slice(0,n),i=0;for(;i{typeof r=="string"&&(r=[r]),r!==null&&(n[t]=Fd(new ne([],{}),0,r))}),n}function Ug(e){let n={};return Object.entries(e).forEach(([t,r])=>n[t]=`${r}`),n}function Hg(e,n,t){return e==t.path&&Nt(n,t.parameters)}var wa="imperative",Ce=function(e){return e[e.NavigationStart=0]="NavigationStart",e[e.NavigationEnd=1]="NavigationEnd",e[e.NavigationCancel=2]="NavigationCancel",e[e.NavigationError=3]="NavigationError",e[e.RoutesRecognized=4]="RoutesRecognized",e[e.ResolveStart=5]="ResolveStart",e[e.ResolveEnd=6]="ResolveEnd",e[e.GuardsCheckStart=7]="GuardsCheckStart",e[e.GuardsCheckEnd=8]="GuardsCheckEnd",e[e.RouteConfigLoadStart=9]="RouteConfigLoadStart",e[e.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",e[e.ChildActivationStart=11]="ChildActivationStart",e[e.ChildActivationEnd=12]="ChildActivationEnd",e[e.ActivationStart=13]="ActivationStart",e[e.ActivationEnd=14]="ActivationEnd",e[e.Scroll=15]="Scroll",e[e.NavigationSkipped=16]="NavigationSkipped",e}(Ce||{}),et=class{id;url;constructor(n,t){this.id=n,this.url=t}},_n=class extends et{type=Ce.NavigationStart;navigationTrigger;restoredState;constructor(n,t,r="imperative",i=null){super(n,t),this.navigationTrigger=r,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},Le=class extends et{urlAfterRedirects;type=Ce.NavigationEnd;constructor(n,t,r){super(n,t),this.urlAfterRedirects=r}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},Ge=function(e){return e[e.Redirect=0]="Redirect",e[e.SupersededByNewNavigation=1]="SupersededByNewNavigation",e[e.NoDataFromResolver=2]="NoDataFromResolver",e[e.GuardRejected=3]="GuardRejected",e}(Ge||{}),Zr=function(e){return e[e.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",e[e.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",e}(Zr||{}),Rt=class extends et{reason;code;type=Ce.NavigationCancel;constructor(n,t,r,i){super(n,t),this.reason=r,this.code=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},Ot=class extends et{reason;code;type=Ce.NavigationSkipped;constructor(n,t,r,i){super(n,t),this.reason=r,this.code=i}},Yr=class extends et{error;target;type=Ce.NavigationError;constructor(n,t,r,i){super(n,t),this.error=r,this.target=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},no=class extends et{urlAfterRedirects;state;type=Ce.RoutesRecognized;constructor(n,t,r,i){super(n,t),this.urlAfterRedirects=r,this.state=i}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Sa=class extends et{urlAfterRedirects;state;type=Ce.GuardsCheckStart;constructor(n,t,r,i){super(n,t),this.urlAfterRedirects=r,this.state=i}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},xa=class extends et{urlAfterRedirects;state;shouldActivate;type=Ce.GuardsCheckEnd;constructor(n,t,r,i,o){super(n,t),this.urlAfterRedirects=r,this.state=i,this.shouldActivate=o}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},Ma=class extends et{urlAfterRedirects;state;type=Ce.ResolveStart;constructor(n,t,r,i){super(n,t),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Ta=class extends et{urlAfterRedirects;state;type=Ce.ResolveEnd;constructor(n,t,r,i){super(n,t),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Aa=class{route;type=Ce.RouteConfigLoadStart;constructor(n){this.route=n}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},Na=class{route;type=Ce.RouteConfigLoadEnd;constructor(n){this.route=n}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},Ra=class{snapshot;type=Ce.ChildActivationStart;constructor(n){this.snapshot=n}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},ka=class{snapshot;type=Ce.ChildActivationEnd;constructor(n){this.snapshot=n}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Oa=class{snapshot;type=Ce.ActivationStart;constructor(n){this.snapshot=n}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Pa=class{snapshot;type=Ce.ActivationEnd;constructor(n){this.snapshot=n}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Qr=class{routerEvent;position;anchor;type=Ce.Scroll;constructor(n,t,r){this.routerEvent=n,this.position=t,this.anchor=r}toString(){let n=this.position?`${this.position[0]}, ${this.position[1]}`:null;return`Scroll(anchor: '${this.anchor}', position: '${n}')`}},ro=class{},Kr=class{url;navigationBehaviorOptions;constructor(n,t){this.url=n,this.navigationBehaviorOptions=t}};function iI(e,n){return e.providers&&!e._injector&&(e._injector=Fi(e.providers,n,`Route: ${e.path}`)),e._injector??n}function vt(e){return e.outlet||B}function oI(e,n){let t=e.filter(r=>vt(r)===n);return t.push(...e.filter(r=>vt(r)!==n)),t}function uo(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){let t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}var Fa=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){return uo(this.route?.snapshot)??this.rootInjector}constructor(n){this.rootInjector=n,this.children=new Jn(this.rootInjector)}},Jn=(()=>{class e{rootInjector;contexts=new Map;constructor(t){this.rootInjector=t}onChildOutletCreated(t,r){let i=this.getOrCreateContext(t);i.outlet=r,this.contexts.set(t,i)}onChildOutletDestroyed(t){let r=this.getContext(t);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){let t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let r=this.getContext(t);return r||(r=new Fa(this.rootInjector),this.contexts.set(t,r)),r}getContext(t){return this.contexts.get(t)||null}static \u0275fac=function(r){return new(r||e)(A(xe))};static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),La=class{_root;constructor(n){this._root=n}get root(){return this._root.value}parent(n){let t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){let t=Ld(n,this._root);return t?t.children.map(r=>r.value):[]}firstChild(n){let t=Ld(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){let t=Vd(n,this._root);return t.length<2?[]:t[t.length-2].children.map(i=>i.value).filter(i=>i!==n)}pathFromRoot(n){return Vd(n,this._root).map(t=>t.value)}};function Ld(e,n){if(e===n.value)return n;for(let t of n.children){let r=Ld(e,t);if(r)return r}return null}function Vd(e,n){if(e===n.value)return[n];for(let t of n.children){let r=Vd(e,t);if(r.length)return r.unshift(n),r}return[]}var Je=class{value;children;constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}};function zr(e){let n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}var io=class extends La{snapshot;constructor(n,t){super(n),this.snapshot=t,Gd(this,n)}toString(){return this.snapshot.toString()}};function lv(e){let n=sI(e),t=new Ie([new gn("",{})]),r=new Ie({}),i=new Ie({}),o=new Ie({}),s=new Ie(""),a=new yt(t,r,o,s,i,B,e,n.root);return a.snapshot=n.root,new io(new Je(a,[]),n)}function sI(e){let n={},t={},r={},i="",o=new Qn([],n,r,i,t,B,e,null,{});return new oo("",new Je(o,[]))}var yt=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(n,t,r,i,o,s,a,l){this.urlSubject=n,this.paramsSubject=t,this.queryParamsSubject=r,this.fragmentSubject=i,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(V(f=>f[co]))??k(void 0),this.url=n,this.params=t,this.queryParams=r,this.fragment=i,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(V(n=>Kn(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(V(n=>Kn(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function Va(e,n,t="emptyOnly"){let r,{routeConfig:i}=e;return n!==null&&(t==="always"||i?.path===""||!n.component&&!n.routeConfig?.loadComponent)?r={params:w(w({},n.params),e.params),data:w(w({},n.data),e.data),resolve:w(w(w(w({},e.data),n.data),i?.data),e._resolvedData)}:r={params:w({},e.params),data:w({},e.data),resolve:w(w({},e.data),e._resolvedData??{})},i&&uv(i)&&(r.resolve[co]=i.title),r}var Qn=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;get title(){return this.data?.[co]}constructor(n,t,r,i,o,s,a,l,f){this.url=n,this.params=t,this.queryParams=r,this.fragment=i,this.data=o,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=f}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=Kn(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=Kn(this.queryParams),this._queryParamMap}toString(){let n=this.url.map(r=>r.toString()).join("/"),t=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${n}', path:'${t}')`}},oo=class extends La{url;constructor(n,t){super(t),this.url=n,Gd(this,t)}toString(){return cv(this._root)}};function Gd(e,n){n.value._routerState=e,n.children.forEach(t=>Gd(e,t))}function cv(e){let n=e.children.length>0?` { ${e.children.map(cv).join(", ")} } `:"";return`${e.value}${n}`}function Ad(e){if(e.snapshot){let n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,Nt(n.queryParams,t.queryParams)||e.queryParamsSubject.next(t.queryParams),n.fragment!==t.fragment&&e.fragmentSubject.next(t.fragment),Nt(n.params,t.params)||e.paramsSubject.next(t.params),Ob(n.url,t.url)||e.urlSubject.next(t.url),Nt(n.data,t.data)||e.dataSubject.next(t.data)}else e.snapshot=e._futureSnapshot,e.dataSubject.next(e._futureSnapshot.data)}function jd(e,n){let t=Nt(e.params,n.params)&&Vb(e.url,n.url),r=!e.parent!=!n.parent;return t&&!r&&(!e.parent||jd(e.parent,n.parent))}function uv(e){return typeof e.title=="string"||e.title===null}var dv=new S(""),fo=(()=>{class e{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=B;activateEvents=new ve;deactivateEvents=new ve;attachEvents=new ve;detachEvents=new ve;routerOutletData=$h(void 0);parentContexts=C(Jn);location=C(fn);changeDetector=C(pn);inputBinder=C(po,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(t){if(t.name){let{firstChange:r,previousValue:i}=t.name;if(r)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new I(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new I(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new I(4012,!1);this.location.detach();let t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,r){this.activated=t,this._activatedRoute=r,this.location.insert(t.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){let t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,r){if(this.isActivated)throw new I(4013,!1);this._activatedRoute=t;let i=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new Bd(t,a,i.injector,this.routerOutletData);this.activated=i.createComponent(s,{index:i.length,injector:l,environmentInjector:r}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(r){return new(r||e)};static \u0275dir=re({type:e,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[Zt]})}return e})(),Bd=class{route;childContexts;parent;outletData;constructor(n,t,r,i){this.route=n,this.childContexts=t,this.parent=r,this.outletData=i}get(n,t){return n===yt?this.route:n===Jn?this.childContexts:n===dv?this.outletData:this.parent.get(n,t)}},po=new S(""),Wd=(()=>{class e{outletDataSubscriptions=new Map;bindActivatedRouteToOutletComponent(t){this.unsubscribeFromRouteData(t),this.subscribeToRouteData(t)}unsubscribeFromRouteData(t){this.outletDataSubscriptions.get(t)?.unsubscribe(),this.outletDataSubscriptions.delete(t)}subscribeToRouteData(t){let{activatedRoute:r}=t,i=yi([r.queryParams,r.params,r.data]).pipe(Be(([o,s,a],l)=>(a=w(w(w({},o),s),a),l===0?k(a):Promise.resolve(a)))).subscribe(o=>{if(!t.isActivated||!t.activatedComponentRef||t.activatedRoute!==r||r.component===null){this.unsubscribeFromRouteData(t);return}let s=ig(r.component);if(!s){this.unsubscribeFromRouteData(t);return}for(let{templateName:a}of s.inputs)t.activatedComponentRef.setInput(a,o[a])});this.outletDataSubscriptions.set(t,i)}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:e.\u0275fac})}return e})();function aI(e,n,t){let r=so(e,n._root,t?t._root:void 0);return new io(r,n)}function so(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){let r=t.value;r._futureSnapshot=n.value;let i=lI(e,n,t);return new Je(r,i)}else{if(e.shouldAttach(n.value)){let o=e.retrieve(n.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>so(e,a)),s}}let r=cI(n.value),i=n.children.map(o=>so(e,o));return new Je(r,i)}}function lI(e,n,t){return n.children.map(r=>{for(let i of t.children)if(e.shouldReuseRoute(r.value,i.value.snapshot))return so(e,r,i);return so(e,r)})}function cI(e){return new yt(new Ie(e.url),new Ie(e.params),new Ie(e.queryParams),new Ie(e.fragment),new Ie(e.data),e.outlet,e.component,e)}var Xr=class{redirectTo;navigationBehaviorOptions;constructor(n,t){this.redirectTo=n,this.navigationBehaviorOptions=t}},fv="ngNavigationCancelingError";function ja(e,n){let{redirectTo:t,navigationBehaviorOptions:r}=yn(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,i=pv(!1,Ge.Redirect);return i.url=t,i.navigationBehaviorOptions=r,i}function pv(e,n){let t=new Error(`NavigationCancelingError: ${e||""}`);return t[fv]=!0,t.cancellationCode=n,t}function uI(e){return hv(e)&&yn(e.url)}function hv(e){return!!e&&e[fv]}var dI=(e,n,t,r)=>V(i=>(new Ud(n,i.targetRouterState,i.currentRouterState,t,r).activate(e),i)),Ud=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(n,t,r,i,o){this.routeReuseStrategy=n,this.futureState=t,this.currState=r,this.forwardEvent=i,this.inputBindingEnabled=o}activate(n){let t=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,r,n),Ad(this.futureState.root),this.activateChildRoutes(t,r,n)}deactivateChildRoutes(n,t,r){let i=zr(t);n.children.forEach(o=>{let s=o.value.outlet;this.deactivateRoutes(o,i[s],r),delete i[s]}),Object.values(i).forEach(o=>{this.deactivateRouteAndItsChildren(o,r)})}deactivateRoutes(n,t,r){let i=n.value,o=t?t.value:null;if(i===o)if(i.component){let s=r.getContext(i.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,r);else o&&this.deactivateRouteAndItsChildren(t,r)}deactivateRouteAndItsChildren(n,t){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,t):this.deactivateRouteAndOutlet(n,t)}detachAndStoreRouteSubtree(n,t){let r=t.getContext(n.value.outlet),i=r&&n.value.component?r.children:t,o=zr(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);if(r&&r.outlet){let s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){let r=t.getContext(n.value.outlet),i=r&&n.value.component?r.children:t,o=zr(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.route=null)}activateChildRoutes(n,t,r){let i=zr(t);n.children.forEach(o=>{this.activateRoutes(o,i[o.value.outlet],r),this.forwardEvent(new Pa(o.value.snapshot))}),n.children.length&&this.forwardEvent(new ka(n.value.snapshot))}activateRoutes(n,t,r){let i=n.value,o=t?t.value:null;if(Ad(i),i===o)if(i.component){let s=r.getOrCreateContext(i.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,r);else if(i.component){let s=r.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let a=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),Ad(a.route.value),this.activateChildRoutes(n,null,s.children)}else s.attachRef=null,s.route=i,s.outlet&&s.outlet.activateWith(i,s.injector),this.activateChildRoutes(n,null,s.children)}else this.activateChildRoutes(n,null,r)}},Ba=class{path;route;constructor(n){this.path=n,this.route=this.path[this.path.length-1]}},Wr=class{component;route;constructor(n,t){this.component=n,this.route=t}};function fI(e,n,t){let r=e._root,i=n?n._root:null;return Xi(r,i,t,[r.value])}function pI(e){let n=e.routeConfig?e.routeConfig.canActivateChild:null;return!n||n.length===0?null:{node:e,guards:n}}function ei(e,n){let t=Symbol(),r=n.get(e,t);return r===t?typeof e=="function"&&!Up(e)?e:n.get(e):r}function Xi(e,n,t,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=zr(n);return e.children.forEach(s=>{hI(s,o[s.value.outlet],t,r.concat([s.value]),i),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>eo(a,t.getContext(s),i)),i}function hI(e,n,t,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let l=mI(s,o,o.routeConfig.runGuardsAndResolvers);l?i.canActivateChecks.push(new Ba(r)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?Xi(e,n,a?a.children:null,r,i):Xi(e,n,t,r,i),l&&a&&a.outlet&&a.outlet.isActivated&&i.canDeactivateChecks.push(new Wr(a.outlet.component,s))}else s&&eo(n,a,i),i.canActivateChecks.push(new Ba(r)),o.component?Xi(e,null,a?a.children:null,r,i):Xi(e,null,t,r,i);return i}function mI(e,n,t){if(typeof t=="function")return t(e,n);switch(t){case"pathParamsChange":return!Yn(e.url,n.url);case"pathParamsOrQueryParamsChange":return!Yn(e.url,n.url)||!Nt(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!jd(e,n)||!Nt(e.queryParams,n.queryParams);case"paramsChange":default:return!jd(e,n)}}function eo(e,n,t){let r=zr(e),i=e.value;Object.entries(r).forEach(([o,s])=>{i.component?n?eo(s,n.children.getContext(o),t):eo(s,null,t):eo(s,n,t)}),i.component?n&&n.outlet&&n.outlet.isActivated?t.canDeactivateChecks.push(new Wr(n.outlet.component,i)):t.canDeactivateChecks.push(new Wr(null,i)):t.canDeactivateChecks.push(new Wr(null,i))}function ho(e){return typeof e=="function"}function gI(e){return typeof e=="boolean"}function vI(e){return e&&ho(e.canLoad)}function yI(e){return e&&ho(e.canActivate)}function _I(e){return e&&ho(e.canActivateChild)}function CI(e){return e&&ho(e.canDeactivate)}function DI(e){return e&&ho(e.canMatch)}function mv(e){return e instanceof Vt||e?.name==="EmptyError"}var _a=Symbol("INITIAL_VALUE");function Jr(){return Be(e=>yi(e.map(n=>n.pipe(Bt(1),Yl(_a)))).pipe(V(n=>{for(let t of n)if(t!==!0){if(t===_a)return _a;if(t===!1||EI(t))return t}return!0}),De(n=>n!==_a),Bt(1)))}function EI(e){return yn(e)||e instanceof Xr}function wI(e,n){return ue(t=>{let{targetSnapshot:r,currentSnapshot:i,guards:{canActivateChecks:o,canDeactivateChecks:s}}=t;return s.length===0&&o.length===0?k(Y(w({},t),{guardsResult:!0})):bI(s,r,i,e).pipe(ue(a=>a&&gI(a)?II(r,o,e,n):k(a)),V(a=>Y(w({},t),{guardsResult:a})))})}function bI(e,n,t,r){return oe(e).pipe(ue(i=>AI(i.component,i.route,t,n,r)),Ut(i=>i!==!0,!0))}function II(e,n,t,r){return oe(n).pipe(Ct(i=>dr(xI(i.route.parent,r),SI(i.route,r),TI(e,i.path,t),MI(e,i.route,t))),Ut(i=>i!==!0,!0))}function SI(e,n){return e!==null&&n&&n(new Oa(e)),k(!0)}function xI(e,n){return e!==null&&n&&n(new Ra(e)),k(!0)}function MI(e,n,t){let r=n.routeConfig?n.routeConfig.canActivate:null;if(!r||r.length===0)return k(!0);let i=r.map(o=>ts(()=>{let s=uo(n)??t,a=ei(o,s),l=yI(a)?a.canActivate(n,e):qe(s,()=>a(n,e));return Cn(l).pipe(Ut())}));return k(i).pipe(Jr())}function TI(e,n,t){let r=n[n.length-1],o=n.slice(0,n.length-1).reverse().map(s=>pI(s)).filter(s=>s!==null).map(s=>ts(()=>{let a=s.guards.map(l=>{let f=uo(s.node)??t,p=ei(l,f),g=_I(p)?p.canActivateChild(r,e):qe(f,()=>p(r,e));return Cn(g).pipe(Ut())});return k(a).pipe(Jr())}));return k(o).pipe(Jr())}function AI(e,n,t,r,i){let o=n&&n.routeConfig?n.routeConfig.canDeactivate:null;if(!o||o.length===0)return k(!0);let s=o.map(a=>{let l=uo(n)??i,f=ei(a,l),p=CI(f)?f.canDeactivate(e,n,t,r):qe(l,()=>f(e,n,t,r));return Cn(p).pipe(Ut())});return k(s).pipe(Jr())}function NI(e,n,t,r){let i=n.canLoad;if(i===void 0||i.length===0)return k(!0);let o=i.map(s=>{let a=ei(s,e),l=vI(a)?a.canLoad(n,t):qe(e,()=>a(n,t));return Cn(l)});return k(o).pipe(Jr(),gv(r))}function gv(e){return Ul(Se(n=>{if(typeof n!="boolean")throw ja(e,n)}),V(n=>n===!0))}function RI(e,n,t,r){let i=n.canMatch;if(!i||i.length===0)return k(!0);let o=i.map(s=>{let a=ei(s,e),l=DI(a)?a.canMatch(n,t):qe(e,()=>a(n,t));return Cn(l)});return k(o).pipe(Jr(),gv(r))}var ao=class{segmentGroup;constructor(n){this.segmentGroup=n||null}},lo=class extends Error{urlTree;constructor(n){super(),this.urlTree=n}};function qr(e){return ur(new ao(e))}function kI(e){return ur(new I(4e3,!1))}function OI(e){return ur(pv(!1,Ge.GuardRejected))}var Hd=class{urlSerializer;urlTree;constructor(n,t){this.urlSerializer=n,this.urlTree=t}lineralizeSegments(n,t){let r=[],i=t.root;for(;;){if(r=r.concat(i.segments),i.numberOfChildren===0)return k(r);if(i.numberOfChildren>1||!i.children[B])return kI(`${n.redirectTo}`);i=i.children[B]}}applyRedirectCommands(n,t,r,i,o){if(typeof t!="string"){let a=t,{queryParams:l,fragment:f,routeConfig:p,url:g,outlet:y,params:v,data:E,title:N}=i,P=qe(o,()=>a({params:v,data:E,queryParams:l,fragment:f,routeConfig:p,url:g,outlet:y,title:N}));if(P instanceof kt)throw new lo(P);t=P}let s=this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),n,r);if(t[0]==="/")throw new lo(s);return s}applyRedirectCreateUrlTree(n,t,r,i){let o=this.createSegmentGroup(n,t.root,r,i);return new kt(o,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){let r={};return Object.entries(n).forEach(([i,o])=>{if(typeof o=="string"&&o[0]===":"){let a=o.substring(1);r[i]=t[a]}else r[i]=o}),r}createSegmentGroup(n,t,r,i){let o=this.createSegments(n,t.segments,r,i),s={};return Object.entries(t.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(n,l,r,i)}),new ne(o,s)}createSegments(n,t,r,i){return t.map(o=>o.path[0]===":"?this.findPosParam(n,o,i):this.findOrReturn(o,r))}findPosParam(n,t,r){let i=r[t.path.substring(1)];if(!i)throw new I(4001,!1);return i}findOrReturn(n,t){let r=0;for(let i of t){if(i.path===n.path)return t.splice(r),i;r++}return n}},$d={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function PI(e,n,t,r,i){let o=vv(e,n,t);return o.matched?(r=iI(n,r),RI(r,n,t,i).pipe(V(s=>s===!0?o:w({},$d)))):k(o)}function vv(e,n,t){if(n.path==="**")return FI(t);if(n.path==="")return n.pathMatch==="full"&&(e.hasChildren()||t.length>0)?w({},$d):{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};let i=(n.matcher||Gg)(t,e,n);if(!i)return w({},$d);let o={};Object.entries(i.posParams??{}).forEach(([a,l])=>{o[a]=l.path});let s=i.consumed.length>0?w(w({},o),i.consumed[i.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:i.consumed,remainingSegments:t.slice(i.consumed.length),parameters:s,positionalParamSegments:i.posParams??{}}}function FI(e){return{matched:!0,parameters:e.length>0?Zg(e).parameters:{},consumedSegments:e,remainingSegments:[],positionalParamSegments:{}}}function $g(e,n,t,r){return t.length>0&&jI(e,t,r)?{segmentGroup:new ne(n,VI(r,new ne(t,e.children))),slicedSegments:[]}:t.length===0&&BI(e,t,r)?{segmentGroup:new ne(e.segments,LI(e,t,r,e.children)),slicedSegments:t}:{segmentGroup:new ne(e.segments,e.children),slicedSegments:t}}function LI(e,n,t,r){let i={};for(let o of t)if(Ha(e,n,o)&&!r[vt(o)]){let s=new ne([],{});i[vt(o)]=s}return w(w({},r),i)}function VI(e,n){let t={};t[B]=n;for(let r of e)if(r.path===""&&vt(r)!==B){let i=new ne([],{});t[vt(r)]=i}return t}function jI(e,n,t){return t.some(r=>Ha(e,n,r)&&vt(r)!==B)}function BI(e,n,t){return t.some(r=>Ha(e,n,r))}function Ha(e,n,t){return(e.hasChildren()||n.length>0)&&t.pathMatch==="full"?!1:t.path===""}function UI(e,n,t){return n.length===0&&!e.children[t]}var qd=class{};function HI(e,n,t,r,i,o,s="emptyOnly"){return new zd(e,n,t,r,i,s,o).recognize()}var $I=31,zd=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(n,t,r,i,o,s,a){this.injector=n,this.configLoader=t,this.rootComponentType=r,this.config=i,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.applyRedirects=new Hd(this.urlSerializer,this.urlTree)}noMatchError(n){return new I(4002,`'${n.segmentGroup}'`)}recognize(){let n=$g(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(n).pipe(V(({children:t,rootSnapshot:r})=>{let i=new Je(r,t),o=new oo("",i),s=rv(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}}))}match(n){let t=new Qn([],Object.freeze({}),Object.freeze(w({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),B,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,n,B,t).pipe(V(r=>({children:r,rootSnapshot:t})),jt(r=>{if(r instanceof lo)return this.urlTree=r.urlTree,this.match(r.urlTree.root);throw r instanceof ao?this.noMatchError(r):r}))}processSegmentGroup(n,t,r,i,o){return r.segments.length===0&&r.hasChildren()?this.processChildren(n,t,r,o):this.processSegment(n,t,r,r.segments,i,!0,o).pipe(V(s=>s instanceof Je?[s]:[]))}processChildren(n,t,r,i){let o=[];for(let s of Object.keys(r.children))s==="primary"?o.unshift(s):o.push(s);return oe(o).pipe(Ct(s=>{let a=r.children[s],l=oI(t,s);return this.processSegmentGroup(n,l,a,s,i)}),Zl((s,a)=>(s.push(...a),s)),sn(null),Wl(),ue(s=>{if(s===null)return qr(r);let a=yv(s);return qI(a),k(a)}))}processSegment(n,t,r,i,o,s,a){return oe(t).pipe(Ct(l=>this.processSegmentAgainstRoute(l._injector??n,t,l,r,i,o,s,a).pipe(jt(f=>{if(f instanceof ao)return k(null);throw f}))),Ut(l=>!!l),jt(l=>{if(mv(l))return UI(r,i,o)?k(new qd):qr(r);throw l}))}processSegmentAgainstRoute(n,t,r,i,o,s,a,l){return vt(r)!==s&&(s===B||!Ha(i,o,r))?qr(i):r.redirectTo===void 0?this.matchSegmentAgainstRoute(n,i,r,o,s,l):this.allowRedirects&&a?this.expandSegmentAgainstRouteUsingRedirect(n,i,t,r,o,s,l):qr(i)}expandSegmentAgainstRouteUsingRedirect(n,t,r,i,o,s,a){let{matched:l,parameters:f,consumedSegments:p,positionalParamSegments:g,remainingSegments:y}=vv(t,i,o);if(!l)return qr(t);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>$I&&(this.allowRedirects=!1));let v=new Qn(o,f,Object.freeze(w({},this.urlTree.queryParams)),this.urlTree.fragment,qg(i),vt(i),i.component??i._loadedComponent??null,i,zg(i)),E=Va(v,a,this.paramsInheritanceStrategy);v.params=Object.freeze(E.params),v.data=Object.freeze(E.data);let N=this.applyRedirects.applyRedirectCommands(p,i.redirectTo,g,v,n);return this.applyRedirects.lineralizeSegments(i,N).pipe(ue(P=>this.processSegment(n,r,t,P.concat(y),s,!1,a)))}matchSegmentAgainstRoute(n,t,r,i,o,s){let a=PI(t,r,i,n,this.urlSerializer);return r.path==="**"&&(t.children={}),a.pipe(Be(l=>l.matched?(n=r._injector??n,this.getChildConfig(n,r,i).pipe(Be(({routes:f})=>{let p=r._loadedInjector??n,{parameters:g,consumedSegments:y,remainingSegments:v}=l,E=new Qn(y,g,Object.freeze(w({},this.urlTree.queryParams)),this.urlTree.fragment,qg(r),vt(r),r.component??r._loadedComponent??null,r,zg(r)),N=Va(E,s,this.paramsInheritanceStrategy);E.params=Object.freeze(N.params),E.data=Object.freeze(N.data);let{segmentGroup:P,slicedSegments:ee}=$g(t,y,v,f);if(ee.length===0&&P.hasChildren())return this.processChildren(p,f,P,E).pipe(V(ye=>new Je(E,ye)));if(f.length===0&&ee.length===0)return k(new Je(E,[]));let So=vt(r)===o;return this.processSegment(p,f,P,ee,So?B:o,!0,E).pipe(V(ye=>new Je(E,ye instanceof Je?[ye]:[])))}))):qr(t)))}getChildConfig(n,t,r){return t.children?k({routes:t.children,injector:n}):t.loadChildren?t._loadedRoutes!==void 0?k({routes:t._loadedRoutes,injector:t._loadedInjector}):NI(n,t,r,this.urlSerializer).pipe(ue(i=>i?this.configLoader.loadChildren(n,t).pipe(Se(o=>{t._loadedRoutes=o.routes,t._loadedInjector=o.injector})):OI(t))):k({routes:[],injector:n})}};function qI(e){e.sort((n,t)=>n.value.outlet===B?-1:t.value.outlet===B?1:n.value.outlet.localeCompare(t.value.outlet))}function zI(e){let n=e.value.routeConfig;return n&&n.path===""}function yv(e){let n=[],t=new Set;for(let r of e){if(!zI(r)){n.push(r);continue}let i=n.find(o=>r.value.routeConfig===o.value.routeConfig);i!==void 0?(i.children.push(...r.children),t.add(i)):n.push(r)}for(let r of t){let i=yv(r.children);n.push(new Je(r.value,i))}return n.filter(r=>!t.has(r))}function qg(e){return e.data||{}}function zg(e){return e.resolve||{}}function GI(e,n,t,r,i,o){return ue(s=>HI(e,n,t,r,s.extractedUrl,i,o).pipe(V(({state:a,tree:l})=>Y(w({},s),{targetSnapshot:a,urlAfterRedirects:l}))))}function WI(e,n){return ue(t=>{let{targetSnapshot:r,guards:{canActivateChecks:i}}=t;if(!i.length)return k(t);let o=new Set(i.map(l=>l.route)),s=new Set;for(let l of o)if(!s.has(l))for(let f of _v(l))s.add(f);let a=0;return oe(s).pipe(Ct(l=>o.has(l)?ZI(l,r,e,n):(l.data=Va(l,l.parent,e).resolve,k(void 0))),Se(()=>a++),fr(1),ue(l=>a===s.size?k(t):Ve))})}function _v(e){let n=e.children.map(t=>_v(t)).flat();return[e,...n]}function ZI(e,n,t,r){let i=e.routeConfig,o=e._resolve;return i?.title!==void 0&&!uv(i)&&(o[co]=i.title),YI(o,e,n,r).pipe(V(s=>(e._resolvedData=s,e.data=Va(e,e.parent,t).resolve,null)))}function YI(e,n,t,r){let i=kd(e);if(i.length===0)return k({});let o={};return oe(i).pipe(ue(s=>QI(e[s],n,t,r).pipe(Ut(),Se(a=>{if(a instanceof Xr)throw ja(new vn,a);o[s]=a}))),fr(1),V(()=>o),jt(s=>mv(s)?Ve:ur(s)))}function QI(e,n,t,r){let i=uo(n)??r,o=ei(e,i),s=o.resolve?o.resolve(n,t):qe(i,()=>o(n,t));return Cn(s)}function Nd(e){return Be(n=>{let t=e(n);return t?oe(t).pipe(V(()=>n)):k(n)})}var Zd=(()=>{class e{buildTitle(t){let r,i=t.root;for(;i!==void 0;)r=this.getResolvedTitleForRoute(i)??r,i=i.children.find(o=>o.outlet===B);return r}getResolvedTitleForRoute(t){return t.data[co]}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:()=>C(Cv),providedIn:"root"})}return e})(),Cv=(()=>{class e extends Zd{title;constructor(t){super(),this.title=t}updateTitle(t){let r=this.buildTitle(t);r!==void 0&&this.title.setTitle(r)}static \u0275fac=function(r){return new(r||e)(A(Vg))};static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),er=new S("",{providedIn:"root",factory:()=>({})}),Yd=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275cmp=le({type:e,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(r,i){r&1&&h(0,"router-outlet")},dependencies:[fo],encapsulation:2})}return e})();function Qd(e){let n=e.children&&e.children.map(Qd),t=n?Y(w({},e),{children:n}):w({},e);return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==B&&(t.component=Yd),t}var ti=new S(""),$a=(()=>{class e{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=C(tg);loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return k(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);let r=Cn(t.loadComponent()).pipe(V(Ev),Se(o=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=o}),an(()=>{this.componentLoaders.delete(t)})),i=new cr(r,()=>new pe).pipe(lr());return this.componentLoaders.set(t,i),i}loadChildren(t,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return k({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);let o=Dv(r,this.compiler,t,this.onLoadEndListener).pipe(an(()=>{this.childrenLoaders.delete(r)})),s=new cr(o,()=>new pe).pipe(lr());return this.childrenLoaders.set(r,s),s}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Dv(e,n,t,r){return Cn(e.loadChildren()).pipe(V(Ev),ue(i=>i instanceof Ku||Array.isArray(i)?k(i):oe(n.compileModuleAsync(i))),V(i=>{r&&r(e);let o,s,a=!1;return Array.isArray(i)?(s=i,a=!0):(o=i.create(t).injector,s=o.get(ti,[],{optional:!0,self:!0}).flat()),{routes:s.map(Qd),injector:o}}))}function KI(e){return e&&typeof e=="object"&&"default"in e}function Ev(e){return KI(e)?e.default:e}var qa=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:()=>C(XI),providedIn:"root"})}return e})(),XI=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,r){return t}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Kd=new S(""),Xd=new S("");function wv(e,n,t){let r=e.get(Xd),i=e.get(fe);return e.get(ce).runOutsideAngular(()=>{if(!i.startViewTransition||r.skipNextTransition)return r.skipNextTransition=!1,new Promise(f=>setTimeout(f));let o,s=new Promise(f=>{o=f}),a=i.startViewTransition(()=>(o(),JI(e))),{onViewTransitionCreated:l}=r;return l&&qe(e,()=>l({transition:a,from:n,to:t})),s})}function JI(e){return new Promise(n=>{Nu({read:()=>setTimeout(n)},{injector:e})})}var Jd=new S(""),za=(()=>{class e{currentNavigation=null;currentTransition=null;lastSuccessfulNavigation=null;events=new pe;transitionAbortSubject=new pe;configLoader=C($a);environmentInjector=C(xe);destroyRef=C(Oi);urlSerializer=C(Xn);rootContexts=C(Jn);location=C(hn);inputBindingEnabled=C(po,{optional:!0})!==null;titleStrategy=C(Zd);options=C(er,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=C(qa);createViewTransition=C(Kd,{optional:!0});navigationErrorHandler=C(Jd,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>k(void 0);rootComponentType=null;destroyed=!1;constructor(){let t=i=>this.events.next(new Aa(i)),r=i=>this.events.next(new Na(i));this.configLoader.onLoadEndListener=r,this.configLoader.onLoadStartListener=t,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(t){let r=++this.navigationId;this.transitions?.next(Y(w({},t),{extractedUrl:this.urlHandlingStrategy.extract(t.rawUrl),targetSnapshot:null,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null,id:r}))}setupNavigations(t){return this.transitions=new Ie(null),this.transitions.pipe(De(r=>r!==null),Be(r=>{let i=!1,o=!1;return k(r).pipe(Be(s=>{if(this.navigationId>r.id)return this.cancelNavigationTransition(r,"",Ge.SupersededByNewNavigation),Ve;this.currentTransition=r,this.currentNavigation={id:s.id,initialUrl:s.rawUrl,extractedUrl:s.extractedUrl,targetBrowserUrl:typeof s.extras.browserUrl=="string"?this.urlSerializer.parse(s.extras.browserUrl):s.extras.browserUrl,trigger:s.source,extras:s.extras,previousNavigation:this.lastSuccessfulNavigation?Y(w({},this.lastSuccessfulNavigation),{previousNavigation:null}):null};let a=!t.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),l=s.extras.onSameUrlNavigation??t.onSameUrlNavigation;if(!a&&l!=="reload"){let f="";return this.events.next(new Ot(s.id,this.urlSerializer.serialize(s.rawUrl),f,Zr.IgnoredSameUrlNavigation)),s.resolve(!1),Ve}if(this.urlHandlingStrategy.shouldProcessUrl(s.rawUrl))return k(s).pipe(Be(f=>(this.events.next(new _n(f.id,this.urlSerializer.serialize(f.extractedUrl),f.source,f.restoredState)),f.id!==this.navigationId?Ve:Promise.resolve(f))),GI(this.environmentInjector,this.configLoader,this.rootComponentType,t.config,this.urlSerializer,this.paramsInheritanceStrategy),Se(f=>{r.targetSnapshot=f.targetSnapshot,r.urlAfterRedirects=f.urlAfterRedirects,this.currentNavigation=Y(w({},this.currentNavigation),{finalUrl:f.urlAfterRedirects});let p=new no(f.id,this.urlSerializer.serialize(f.extractedUrl),this.urlSerializer.serialize(f.urlAfterRedirects),f.targetSnapshot);this.events.next(p)}));if(a&&this.urlHandlingStrategy.shouldProcessUrl(s.currentRawUrl)){let{id:f,extractedUrl:p,source:g,restoredState:y,extras:v}=s,E=new _n(f,this.urlSerializer.serialize(p),g,y);this.events.next(E);let N=lv(this.rootComponentType).snapshot;return this.currentTransition=r=Y(w({},s),{targetSnapshot:N,urlAfterRedirects:p,extras:Y(w({},v),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.finalUrl=p,k(r)}else{let f="";return this.events.next(new Ot(s.id,this.urlSerializer.serialize(s.extractedUrl),f,Zr.IgnoredByUrlHandlingStrategy)),s.resolve(!1),Ve}}),Se(s=>{let a=new Sa(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(a)}),V(s=>(this.currentTransition=r=Y(w({},s),{guards:fI(s.targetSnapshot,s.currentSnapshot,this.rootContexts)}),r)),wI(this.environmentInjector,s=>this.events.next(s)),Se(s=>{if(r.guardsResult=s.guardsResult,s.guardsResult&&typeof s.guardsResult!="boolean")throw ja(this.urlSerializer,s.guardsResult);let a=new xa(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot,!!s.guardsResult);this.events.next(a)}),De(s=>s.guardsResult?!0:(this.cancelNavigationTransition(s,"",Ge.GuardRejected),!1)),Nd(s=>{if(s.guards.canActivateChecks.length!==0)return k(s).pipe(Se(a=>{let l=new Ma(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(l)}),Be(a=>{let l=!1;return k(a).pipe(WI(this.paramsInheritanceStrategy,this.environmentInjector),Se({next:()=>l=!0,complete:()=>{l||this.cancelNavigationTransition(a,"",Ge.NoDataFromResolver)}}))}),Se(a=>{let l=new Ta(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(l)}))}),Nd(s=>{let a=l=>{let f=[];l.routeConfig?.loadComponent&&!l.routeConfig._loadedComponent&&f.push(this.configLoader.loadComponent(l.routeConfig).pipe(Se(p=>{l.component=p}),V(()=>{})));for(let p of l.children)f.push(...a(p));return f};return yi(a(s.targetSnapshot.root)).pipe(sn(null),Bt(1))}),Nd(()=>this.afterPreactivation()),Be(()=>{let{currentSnapshot:s,targetSnapshot:a}=r,l=this.createViewTransition?.(this.environmentInjector,s.root,a.root);return l?oe(l).pipe(V(()=>r)):k(r)}),V(s=>{let a=aI(t.routeReuseStrategy,s.targetSnapshot,s.currentRouterState);return this.currentTransition=r=Y(w({},s),{targetRouterState:a}),this.currentNavigation.targetRouterState=a,r}),Se(()=>{this.events.next(new ro)}),dI(this.rootContexts,t.routeReuseStrategy,s=>this.events.next(s),this.inputBindingEnabled),Bt(1),Se({next:s=>{i=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new Le(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects))),this.titleStrategy?.updateTitle(s.targetRouterState.snapshot),s.resolve(!0)},complete:()=>{i=!0}}),Ql(this.transitionAbortSubject.pipe(Se(s=>{throw s}))),an(()=>{!i&&!o&&this.cancelNavigationTransition(r,"",Ge.SupersededByNewNavigation),this.currentTransition?.id===r.id&&(this.currentNavigation=null,this.currentTransition=null)}),jt(s=>{if(this.destroyed)return r.resolve(!1),Ve;if(o=!0,hv(s))this.events.next(new Rt(r.id,this.urlSerializer.serialize(r.extractedUrl),s.message,s.cancellationCode)),uI(s)?this.events.next(new Kr(s.url,s.navigationBehaviorOptions)):r.resolve(!1);else{let a=new Yr(r.id,this.urlSerializer.serialize(r.extractedUrl),s,r.targetSnapshot??void 0);try{let l=qe(this.environmentInjector,()=>this.navigationErrorHandler?.(a));if(l instanceof Xr){let{message:f,cancellationCode:p}=ja(this.urlSerializer,l);this.events.next(new Rt(r.id,this.urlSerializer.serialize(r.extractedUrl),f,p)),this.events.next(new Kr(l.redirectTo,l.navigationBehaviorOptions))}else throw this.events.next(a),s}catch(l){this.options.resolveNavigationPromiseOnError?r.resolve(!1):r.reject(l)}}return Ve}))}))}cancelNavigationTransition(t,r,i){let o=new Rt(t.id,this.urlSerializer.serialize(t.extractedUrl),r,i);this.events.next(o),t.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let t=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),r=this.currentNavigation?.targetBrowserUrl??this.currentNavigation?.extractedUrl;return t.toString()!==r?.toString()&&!this.currentNavigation?.extras.skipLocationChange}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function eS(e){return e!==wa}var bv=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:()=>C(tS),providedIn:"root"})}return e})(),Ua=class{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}},tS=(()=>{class e extends Ua{static \u0275fac=(()=>{let t;return function(i){return(t||(t=ft(e)))(i||e)}})();static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Iv=(()=>{class e{urlSerializer=C(Xn);options=C(er,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=C(hn);urlHandlingStrategy=C(qa);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new kt;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}createBrowserPath({finalUrl:t,initialUrl:r,targetBrowserUrl:i}){let o=t!==void 0?this.urlHandlingStrategy.merge(t,r):r,s=i??o;return s instanceof kt?this.urlSerializer.serialize(s):s}commitTransition({targetRouterState:t,finalUrl:r,initialUrl:i}){r&&t?(this.currentUrlTree=r,this.rawUrlTree=this.urlHandlingStrategy.merge(r,i),this.routerState=t):this.rawUrlTree=i}routerState=lv(null);getRouterState(){return this.routerState}stateMemento=this.createStateMemento();updateStateMemento(){this.stateMemento=this.createStateMemento()}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}resetInternalState({finalUrl:t}){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t??this.rawUrlTree)}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:()=>C(nS),providedIn:"root"})}return e})(),nS=(()=>{class e extends Iv{currentPageId=0;lastSuccessfulId=-1;restoredState(){return this.location.getState()}get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}registerNonRouterCurrentEntryChangeListener(t){return this.location.subscribe(r=>{r.type==="popstate"&&setTimeout(()=>{t(r.url,r.state,"popstate")})})}handleRouterEvent(t,r){t instanceof _n?this.updateStateMemento():t instanceof Ot?this.commitTransition(r):t instanceof no?this.urlUpdateStrategy==="eager"&&(r.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(r),r)):t instanceof ro?(this.commitTransition(r),this.urlUpdateStrategy==="deferred"&&!r.extras.skipLocationChange&&this.setBrowserUrl(this.createBrowserPath(r),r)):t instanceof Rt&&(t.code===Ge.GuardRejected||t.code===Ge.NoDataFromResolver)?this.restoreHistory(r):t instanceof Yr?this.restoreHistory(r,!0):t instanceof Le&&(this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId)}setBrowserUrl(t,{extras:r,id:i}){let{replaceUrl:o,state:s}=r;if(this.location.isCurrentPathEqualTo(t)||o){let a=this.browserPageId,l=w(w({},s),this.generateNgRouterState(i,a));this.location.replaceState(t,"",l)}else{let a=w(w({},s),this.generateNgRouterState(i,this.browserPageId+1));this.location.go(t,"",a)}}restoreHistory(t,r=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,o=this.currentPageId-i;o!==0?this.location.historyGo(o):this.getCurrentUrlTree()===t.finalUrl&&o===0&&(this.resetInternalState(t),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(r&&this.resetInternalState(t),this.resetUrlToCurrentUrlTree())}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,r){return this.canceledNavigationResolution==="computed"?{navigationId:t,\u0275routerPageId:r}:{navigationId:t}}static \u0275fac=(()=>{let t;return function(i){return(t||(t=ft(e)))(i||e)}})();static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Ga(e,n){e.events.pipe(De(t=>t instanceof Le||t instanceof Rt||t instanceof Yr||t instanceof Ot),V(t=>t instanceof Le||t instanceof Ot?0:(t instanceof Rt?t.code===Ge.Redirect||t.code===Ge.SupersededByNewNavigation:!1)?2:1),De(t=>t!==2),Bt(1)).subscribe(()=>{n()})}var rS={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},iS={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},at=(()=>{class e{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=C(Hm);stateManager=C(Iv);options=C(er,{optional:!0})||{};pendingTasks=C(Yt);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=C(za);urlSerializer=C(Xn);location=C(hn);urlHandlingStrategy=C(qa);_events=new pe;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=C(bv);onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=C(ti,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!C(po,{optional:!0});constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:t=>{this.console.warn(t)}}),this.subscribeToNavigationEvents()}eventsSubscription=new me;subscribeToNavigationEvents(){let t=this.navigationTransitions.events.subscribe(r=>{try{let i=this.navigationTransitions.currentTransition,o=this.navigationTransitions.currentNavigation;if(i!==null&&o!==null){if(this.stateManager.handleRouterEvent(r,o),r instanceof Rt&&r.code!==Ge.Redirect&&r.code!==Ge.SupersededByNewNavigation)this.navigated=!0;else if(r instanceof Le)this.navigated=!0;else if(r instanceof Kr){let s=r.navigationBehaviorOptions,a=this.urlHandlingStrategy.merge(r.url,i.currentRawUrl),l=w({browserUrl:i.extras.browserUrl,info:i.extras.info,skipLocationChange:i.extras.skipLocationChange,replaceUrl:i.extras.replaceUrl||this.urlUpdateStrategy==="eager"||eS(i.source)},s);this.scheduleNavigation(a,wa,null,l,{resolve:i.resolve,reject:i.reject,promise:i.promise})}}sS(r)&&this._events.next(r)}catch(i){this.navigationTransitions.transitionAbortSubject.next(i)}});this.eventsSubscription.add(t)}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),wa,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((t,r,i)=>{this.navigateToSyncWithBrowser(t,i,r)})}navigateToSyncWithBrowser(t,r,i){let o={replaceUrl:!0},s=i?.navigationId?i:null;if(i){let l=w({},i);delete l.navigationId,delete l.\u0275routerPageId,Object.keys(l).length!==0&&(o.state=l)}let a=this.parseUrl(t);this.scheduleNavigation(a,r,s,o)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(t){this.config=t.map(Qd),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this._events.unsubscribe(),this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(t,r={}){let{relativeTo:i,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:l}=r,f=l?this.currentUrlTree.fragment:s,p=null;switch(a??this.options.defaultQueryParamsHandling){case"merge":p=w(w({},this.currentUrlTree.queryParams),o);break;case"preserve":p=this.currentUrlTree.queryParams;break;default:p=o||null}p!==null&&(p=this.removeEmptyProps(p));let g;try{let y=i?i.snapshot:this.routerState.snapshot.root;g=iv(y)}catch{(typeof t[0]!="string"||t[0][0]!=="/")&&(t=[]),g=this.currentUrlTree.root}return ov(g,t,p,f??null)}navigateByUrl(t,r={skipLocationChange:!1}){let i=yn(t)?t:this.parseUrl(t),o=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(o,wa,null,r)}navigate(t,r={skipLocationChange:!1}){return oS(t),this.navigateByUrl(this.createUrlTree(t,r),r)}serializeUrl(t){return this.urlSerializer.serialize(t)}parseUrl(t){try{return this.urlSerializer.parse(t)}catch{return this.urlSerializer.parse("/")}}isActive(t,r){let i;if(r===!0?i=w({},rS):r===!1?i=w({},iS):i=r,yn(t))return jg(this.currentUrlTree,t,i);let o=this.parseUrl(t);return jg(this.currentUrlTree,o,i)}removeEmptyProps(t){return Object.entries(t).reduce((r,[i,o])=>(o!=null&&(r[i]=o),r),{})}scheduleNavigation(t,r,i,o,s){if(this.disposed)return Promise.resolve(!1);let a,l,f;s?(a=s.resolve,l=s.reject,f=s.promise):f=new Promise((g,y)=>{a=g,l=y});let p=this.pendingTasks.add();return Ga(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(p))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:t,extras:o,resolve:a,reject:l,promise:f,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),f.catch(g=>Promise.reject(g))}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function oS(e){for(let n=0;n{class e{router;route;tabIndexAttribute;renderer;el;locationStrategy;href=null;target;queryParams;fragment;queryParamsHandling;state;info;relativeTo;isAnchorElement;subscription;onChanges=new pe;constructor(t,r,i,o,s,a){this.router=t,this.route=r,this.tabIndexAttribute=i,this.renderer=o,this.el=s,this.locationStrategy=a;let l=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement=l==="a"||l==="area",this.isAnchorElement?this.subscription=t.events.subscribe(f=>{f instanceof Le&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}preserveFragment=!1;skipLocationChange=!1;replaceUrl=!1;setTabIndexIfNotOnNativeEl(t){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",t)}ngOnChanges(t){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}routerLinkInput=null;set routerLink(t){t==null?(this.routerLinkInput=null,this.setTabIndexIfNotOnNativeEl(null)):(yn(t)?this.routerLinkInput=t:this.routerLinkInput=Array.isArray(t)?t:[t],this.setTabIndexIfNotOnNativeEl("0"))}onClick(t,r,i,o,s){let a=this.urlTree;if(a===null||this.isAnchorElement&&(t!==0||r||i||o||s||typeof this.target=="string"&&this.target!="_self"))return!0;let l={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(a,l),!this.isAnchorElement}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){let t=this.urlTree;this.href=t!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(t)):null;let r=this.href===null?null:im(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",r)}applyAttributeValue(t,r){let i=this.renderer,o=this.el.nativeElement;r!==null?i.setAttribute(o,t,r):i.removeAttribute(o,t)}get urlTree(){return this.routerLinkInput===null?null:yn(this.routerLinkInput)?this.routerLinkInput:this.router.createUrlTree(this.routerLinkInput,{relativeTo:this.relativeTo!==void 0?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static \u0275fac=function(r){return new(r||e)(T(at),T(yt),bu("tabindex"),T(st),T(we),T(gt))};static \u0275dir=re({type:e,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(r,i){r&1&&R("click",function(s){return i.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),r&2&&Ke("target",i.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",Qt],skipLocationChange:[2,"skipLocationChange","skipLocationChange",Qt],replaceUrl:[2,"replaceUrl","replaceUrl",Qt],routerLink:"routerLink"},features:[Zt]})}return e})(),tf=(()=>{class e{router;element;renderer;cdr;link;links;classes=[];routerEventsSubscription;linkInputChangesSubscription;_isActive=!1;get isActive(){return this._isActive}routerLinkActiveOptions={exact:!1};ariaCurrentWhenActive;isActiveChange=new ve;constructor(t,r,i,o,s){this.router=t,this.element=r,this.renderer=i,this.cdr=o,this.link=s,this.routerEventsSubscription=t.events.subscribe(a=>{a instanceof Le&&this.update()})}ngAfterContentInit(){k(this.links.changes,k(null)).pipe(on()).subscribe(t=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();let t=[...this.links.toArray(),this.link].filter(r=>!!r).map(r=>r.onChanges);this.linkInputChangesSubscription=oe(t).pipe(on()).subscribe(r=>{this._isActive!==this.isLinkActive(this.router)(r)&&this.update()})}set routerLinkActive(t){let r=Array.isArray(t)?t:t.split(" ");this.classes=r.filter(i=>!!i)}ngOnChanges(t){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{let t=this.hasActiveLinks();this.classes.forEach(r=>{t?this.renderer.addClass(this.element.nativeElement,r):this.renderer.removeClass(this.element.nativeElement,r)}),t&&this.ariaCurrentWhenActive!==void 0?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this._isActive!==t&&(this._isActive=t,this.cdr.markForCheck(),this.isActiveChange.emit(t))})}isLinkActive(t){let r=aS(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return i=>{let o=i.urlTree;return o?t.isActive(o,r):!1}}hasActiveLinks(){let t=this.isLinkActive(this.router);return this.link&&t(this.link)||this.links.some(t)}static \u0275fac=function(r){return new(r||e)(T(at),T(we),T(st),T(pn),T(be,8))};static \u0275dir=re({type:e,selectors:[["","routerLinkActive",""]],contentQueries:function(r,i,o){if(r&1&&Zm(o,be,5),r&2){let s;Ym(s=Qm())&&(i.links=s)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],features:[Zt]})}return e})();function aS(e){return!!e.paths}var mo=class{};var Sv=(()=>{class e{router;injector;preloadingStrategy;loader;subscription;constructor(t,r,i,o){this.router=t,this.injector=r,this.preloadingStrategy=i,this.loader=o}setUpPreloading(){this.subscription=this.router.events.pipe(De(t=>t instanceof Le),Ct(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,r){let i=[];for(let o of r){o.providers&&!o._injector&&(o._injector=Fi(o.providers,t,`Route: ${o.path}`));let s=o._injector??t,a=o._loadedInjector??s;(o.loadChildren&&!o._loadedRoutes&&o.canLoad===void 0||o.loadComponent&&!o._loadedComponent)&&i.push(this.preloadConfig(s,o)),(o.children||o._loadedRoutes)&&i.push(this.processRoutes(a,o.children??o._loadedRoutes))}return oe(i).pipe(on())}preloadConfig(t,r){return this.preloadingStrategy.preload(r,()=>{let i;r.loadChildren&&r.canLoad===void 0?i=this.loader.loadChildren(t,r):i=k(null);let o=i.pipe(ue(s=>s===null?k(void 0):(r._loadedRoutes=s.routes,r._loadedInjector=s.injector,this.processRoutes(s.injector??t,s.routes))));if(r.loadComponent&&!r._loadedComponent){let s=this.loader.loadComponent(r);return oe([o,s]).pipe(on())}else return o})}static \u0275fac=function(r){return new(r||e)(A(at),A(xe),A(mo),A($a))};static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),xv=new S(""),lS=(()=>{class e{urlSerializer;transitions;viewportScroller;zone;options;routerEventsSubscription;scrollEventsSubscription;lastId=0;lastSource="imperative";restoredId=0;store={};constructor(t,r,i,o,s={}){this.urlSerializer=t,this.transitions=r,this.viewportScroller=i,this.zone=o,this.options=s,s.scrollPositionRestoration||="disabled",s.anchorScrolling||="disabled"}init(){this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof _n?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof Le?(this.lastId=t.id,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.urlAfterRedirects).fragment)):t instanceof Ot&&t.code===Zr.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof Qr&&(t.position?this.options.scrollPositionRestoration==="top"?this.viewportScroller.scrollToPosition([0,0]):this.options.scrollPositionRestoration==="enabled"&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&this.options.anchorScrolling==="enabled"?this.viewportScroller.scrollToAnchor(t.anchor):this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,r){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new Qr(t,this.lastSource==="popstate"?this.store[this.restoredId]:null,r))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static \u0275fac=function(r){Nm()};static \u0275prov=b({token:e,factory:e.\u0275fac})}return e})();function cS(e){return e.routerState.root}function go(e,n){return{\u0275kind:e,\u0275providers:n}}function uS(){let e=C(Ye);return n=>{let t=e.get(un);if(n!==t.components[0])return;let r=e.get(at),i=e.get(Mv);e.get(nf)===1&&r.initialNavigation(),e.get(Nv,null,G.Optional)?.setUpPreloading(),e.get(xv,null,G.Optional)?.init(),r.resetRootComponentType(t.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var Mv=new S("",{factory:()=>new pe}),nf=new S("",{providedIn:"root",factory:()=>1});function Tv(){let e=[{provide:nf,useValue:0},td(()=>{let n=C(Ye);return n.get(sd,Promise.resolve()).then(()=>new Promise(r=>{let i=n.get(at),o=n.get(Mv);Ga(i,()=>{r(!0)}),n.get(za).afterPreactivation=()=>(r(!0),o.closed?k(void 0):o),i.initialNavigation()}))})];return go(2,e)}function Av(){let e=[td(()=>{C(at).setUpLocationChangeListener()}),{provide:nf,useValue:2}];return go(3,e)}var Nv=new S("");function Rv(e){return go(0,[{provide:Nv,useExisting:Sv},{provide:mo,useExisting:e}])}function kv(){return go(8,[Wd,{provide:po,useExisting:Wd}])}function Ov(e){Fr("NgRouterViewTransitions");let n=[{provide:Kd,useValue:wv},{provide:Xd,useValue:w({skipNextTransition:!!e?.skipInitialTransition},e)}];return go(9,n)}var Pv=[hn,{provide:Xn,useClass:vn},at,Jn,{provide:yt,useFactory:cS,deps:[at]},$a,[]],Wa=(()=>{class e{constructor(){}static forRoot(t,r){return{ngModule:e,providers:[Pv,[],{provide:ti,multi:!0,useValue:t},[],r?.errorHandler?{provide:Jd,useValue:r.errorHandler}:[],{provide:er,useValue:r||{}},r?.useHash?fS():pS(),dS(),r?.preloadingStrategy?Rv(r.preloadingStrategy).\u0275providers:[],r?.initialNavigation?hS(r):[],r?.bindToComponentInputs?kv().\u0275providers:[],r?.enableViewTransitions?Ov().\u0275providers:[],mS()]}}static forChild(t){return{ngModule:e,providers:[{provide:ti,multi:!0,useValue:t}]}}static \u0275fac=function(r){return new(r||e)};static \u0275mod=ze({type:e});static \u0275inj=$e({})}return e})();function dS(){return{provide:xv,useFactory:()=>{let e=C(pg),n=C(ce),t=C(er),r=C(za),i=C(Xn);return t.scrollOffset&&e.setOffset(t.scrollOffset),new lS(i,r,e,n,t)}}}function fS(){return{provide:gt,useClass:ld}}function pS(){return{provide:gt,useClass:ia}}function hS(e){return[e.initialNavigation==="disabled"?Av().\u0275providers:[],e.initialNavigation==="enabledBlocking"?Tv().\u0275providers:[]]}var ef=new S("");function mS(){return[{provide:ef,useFactory:uS},{provide:nd,multi:!0,useExisting:ef}]}var vS=()=>["/pro"],Fv=(()=>{class e{constructor(){this.years=new Date().getFullYear()-2009}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=le({type:e,selectors:[["app-footer"]],decls:94,vars:3,consts:[[1,"container-fluid","mt-5"],[1,"p-5"],[1,"container"],[1,"row"],[1,"col-xs-12","col-md-4","text-center"],["src","resources/portrait_600.jpg","alt","Portrait",1,"img-fluid","img-thumbnail","mb-5","portrait"],[1,"col-xs-12","col-md-8"],[3,"routerLink"],[1,"fa-solid","fa-heart","githubheart"],["href","https://github.com/sponsors/danielpalme","target","_blank"],[1,"col-md-3","offset-md-2"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank"],["href","https://github.com/danielpalme/ReportGenerator/wiki","target","_blank"],["href","https://github.com/danielpalme/ReportGenerator/wiki/FAQ","target","_blank"],[1,"col-md-4","mt-4","mt-md-0"],["href","https://www.nuget.org/packages/ReportGenerator","target","_blank"],["href","https://www.nuget.org/packages/dotnet-reportgenerator-globaltool","target","_blank"],["href","https://www.nuget.org/packages/ReportGenerator.Core","target","_blank"],["href","https://github.com/marketplace/actions/reportgenerator","target","_blank"],["href","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator","target","_blank"],[1,"col-md-3","mt-4","mt-md-0"],[1,"fa-brands","fa-github"],["href","https://twitter.com/danielpalme","target","_blank"],[1,"fa-brands","fa-twitter"],["href","https://www.palmmedia.de/Privacy","target","_blank"],["href","https://www.palmmedia.de/Imprint","target","_blank"]],template:function(r,i){r&1&&(u(0,"footer",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"div",4),h(5,"img",5),d(),u(6,"div",6)(7,"h2"),c(8,"Who's behind"),d(),u(9,"p"),c(10,"My name is Daniel Palme. I'm a software developer from Germany."),d(),u(11,"p"),c(12," Back in 2009 I wanted to create code coverage reports based on "),u(13,"i"),c(14,"PartCover"),d(),c(15," files."),h(16,"br"),c(17," Since no existing tool was able to merge several coverage files and generate a visual appealing report, I decided to create my own."),h(18,"br"),c(19),u(20,"i"),c(21,"ReportGenerator"),d(),c(22,". "),d(),u(23,"p"),c(24," You can support the ongoing maintenance by buying a "),u(25,"a",7),c(26,"PRO license"),d(),c(27," or by becoming a "),h(28,"i",8),c(29,"\xA0"),u(30,"a",9),c(31,"GitHub sponsor"),d(),c(32,". "),d()()()()(),u(33,"div",2)(34,"div",3),h(35,"hr"),d()(),u(36,"div",1)(37,"div",2)(38,"div",3)(39,"div",10)(40,"p")(41,"b"),c(42,"GitHub"),d()(),u(43,"a",11),c(44,"Source code"),d(),h(45,"br"),u(46,"a",12),c(47,"Wiki"),d(),h(48,"br"),u(49,"a",13),c(50,"FAQ"),d()(),u(51,"div",14)(52,"p")(53,"b"),c(54,"Download"),d()(),u(55,"i"),c(56,"NuGet"),d(),h(57,"br"),u(58,"a",15),c(59,"ReportGenerator"),d(),h(60,"br"),u(61,"a",16),c(62,"dotnet-reportgenerator-globaltool"),d(),h(63,"br"),u(64,"a",17),c(65,"ReportGenerator.Core"),d(),h(66,"br")(67,"br"),u(68,"i"),c(69,"Integration"),d(),h(70,"br"),u(71,"a",18),c(72,"GitHub actions"),d(),h(73,"br"),u(74,"a",19),c(75,"Azure DevOps"),d()(),u(76,"div",20)(77,"p")(78,"b"),c(79,"Community"),d()(),u(80,"a",11),h(81,"i",21),c(82," GitHub"),d(),h(83,"br"),u(84,"a",22),h(85,"i",23),c(86," Twitter"),d(),h(87,"br")(88,"br"),u(89,"a",24),c(90,"Privacy"),d(),h(91,"br"),u(92,"a",25),c(93,"Imprint"),d()()()()()()),r&2&&(m(19),Fe(" Fast forward ",i.years," years, I'm still maintaining "),m(6),_("routerLink",j(2,vS)))},dependencies:[be],styles:["footer[_ngcontent-%COMP%]{background-color:#464646}footer[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{color:#fff}.portrait[_ngcontent-%COMP%]{max-height:300px}"]})}}return e})();var Lv=()=>["/"],yS=e=>({show:e}),ni=()=>["link-active"],Vv=()=>({exact:!0}),_S=()=>["/features"],CS=()=>["/getstarted"],DS=()=>["/usage"],ES=()=>["/contact"],wS=()=>["/pro"],jv=(()=>{class e{constructor(){this.isExpanded=!1}collapse(){this.isExpanded=!1}toggle(){this.isExpanded=!this.isExpanded}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=le({type:e,selectors:[["app-nav-menu"]],decls:42,vars:34,consts:[[1,"mb-5"],[1,"navbar","fixed-top","navbar-expand-sm","navbar-toggleable-sm","navbar-light","bg-white","border-bottom","box-shadow","mb-3"],[1,"container-xxl","flex-wrap","flex-md-nowrap"],[1,"navbar-brand",3,"routerLink"],["src","resources/logo.svg","height","40","alt","Icon",1,"me-2"],[1,"d-sm-none","d-md-none","d-lg-inline","ms-2"],["type","button","data-toggle","collapse","data-target",".navbar-collapse","aria-label","Toggle navigation",1,"navbar-toggler",3,"click"],[1,"navbar-toggler-icon"],[1,"navbar-collapse","collapse","d-sm-inline-flex",3,"ngClass"],[1,"navbar-nav","flex-grow"],[1,"nav-item",3,"routerLinkActive","routerLinkActiveOptions"],[1,"nav-link","text-dark",3,"routerLink"],[1,"nav-item",3,"routerLinkActive"],[1,"nav-link","text-dark","text-nowrap",3,"routerLink"],[1,"pro-button"],[1,"d-md-none","text-secondary"],[1,"navbar-nav","flex-row","flex-wrap","ms-md-auto","d-sm-none","d-md-flex"],[1,"nav-item","col-6","col-md-auto"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank","title","GitHub",1,"nav-link","text-dark"],[1,"fa-brands","fa-github"],[1,"d-inline","d-sm-none","ms-2"],["href","https://twitter.com/danielpalme","target","_blank","title","Twitter",1,"nav-link","text-dark"],[1,"fa-brands","fa-twitter"]],template:function(r,i){r&1&&(u(0,"header",0)(1,"nav",1)(2,"div",2)(3,"a",3),h(4,"img",4),u(5,"span",5),c(6,"ReportGenerator"),d()(),u(7,"button",6),R("click",function(){return i.toggle()}),h(8,"span",7),d(),u(9,"div",8)(10,"ul",9)(11,"li",10)(12,"a",11),c(13,"Home"),d()(),u(14,"li",10)(15,"a",11),c(16,"Features"),d()(),u(17,"li",12)(18,"a",13),c(19,"Get started"),d()(),u(20,"li",12)(21,"a",11),c(22,"Usage"),d()(),u(23,"li",12)(24,"a",11),c(25,"Contact"),d()(),u(26,"li",12)(27,"a",11)(28,"span",14),c(29,"PRO"),d()()()(),h(30,"hr",15),u(31,"ul",16)(32,"li",17)(33,"a",18),h(34,"i",19),u(35,"span",20),c(36,"GitHub"),d()()(),u(37,"li",17)(38,"a",21),h(39,"i",22),u(40,"span",20),c(41,"Twitter"),d()()()()()()()()),r&2&&(m(3),_("routerLink",j(17,Lv)),m(4),Ke("aria-expanded",i.isExpanded),m(2),_("ngClass",qn(18,yS,i.isExpanded)),m(2),_("routerLinkActive",j(20,ni))("routerLinkActiveOptions",j(21,Vv)),m(),_("routerLink",j(22,Lv)),m(2),_("routerLinkActive",j(23,ni))("routerLinkActiveOptions",j(24,Vv)),m(),_("routerLink",j(25,_S)),m(2),_("routerLinkActive",j(26,ni)),m(),_("routerLink",j(27,CS)),m(2),_("routerLinkActive",j(28,ni)),m(),_("routerLink",j(29,DS)),m(2),_("routerLinkActive",j(30,ni)),m(),_("routerLink",j(31,ES)),m(2),_("routerLinkActive",j(32,ni)),m(),_("routerLink",j(33,wS)))},dependencies:[be,zn,tf],styles:[".box-shadow[_ngcontent-%COMP%]{box-shadow:0 .25rem .75rem #0000000d}@keyframes _ngcontent-%COMP%_pro-button-animation{0%{background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}50%{background-color:vvar(--rg-primary-hover-color);background-image:linear-gradient(50deg,var(--rg-gradient-hover-from) 0%,var(--rg-gradient-hover-from) 100%);box-shadow:0 0 6px 1px var(--rg-primary-color)}to{background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}}.pro-button[_ngcontent-%COMP%]{animation-name:_ngcontent-%COMP%_pro-button-animation;animation-duration:2s;animation-iteration-count:2}.pro-button[_ngcontent-%COMP%]:hover, .link-active[_ngcontent-%COMP%] .pro-button[_ngcontent-%COMP%]{background-color:var(--rg-primary-hover-color);background-image:linear-gradient(50deg,var(--rg-gradient-hover-from) 0%,var(--rg-gradient-hover-from) 100%);box-shadow:0 0 6px 1px var(--rg-primary-color)}.nav-link[_ngcontent-%COMP%]{text-transform:uppercase;font-weight:500}.nav-link[_ngcontent-%COMP%]:hover{text-decoration:underline;text-underline-offset:2px}.link-active[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--rg-primary-hover-color)!important;font-weight:400}"]})}}return e})();var Bv=(()=>{class e{constructor(t,r,i){this.dom=t,this.router=r,this.activatedRoute=i}ngOnInit(){this.router.events.pipe(De(t=>t instanceof Le),V(()=>this.activatedRoute),V(t=>{for(;t.firstChild;)t=t.firstChild;return t}),De(t=>t.outlet==="primary"),ue(t=>t.data)).subscribe(t=>{let r=`${window.location.protocol}//${window.location.hostname}`;t.canonical?this.updateCanonicalUrl(r+t.canonical):this.updateCanonicalUrl(r+this.router.url)})}updateCanonicalUrl(t){let r=this.dom.getElementsByTagName("head")[0];var i=this.dom.querySelector("link[rel='canonical']")||null;i==null&&(i=this.dom.createElement("link"),r.appendChild(i)),i.setAttribute("rel","canonical"),i.setAttribute("href",t)}static{this.\u0275fac=function(r){return new(r||e)(T(fe),T(at),T(yt))}}static{this.\u0275cmp=le({type:e,selectors:[["app-root"]],decls:3,vars:0,template:function(r,i){r&1&&h(0,"app-nav-menu")(1,"router-outlet")(2,"app-footer")},dependencies:[jv,fo,Fv],encapsulation:2})}}return e})();var Yv=(()=>{class e{_renderer;_elementRef;onChange=t=>{};onTouched=()=>{};constructor(t,r){this._renderer=t,this._elementRef=r}setProperty(t,r){this._renderer.setProperty(this._elementRef.nativeElement,t,r)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static \u0275fac=function(r){return new(r||e)(T(st),T(we))};static \u0275dir=re({type:e})}return e})(),tl=(()=>{class e extends Yv{static \u0275fac=(()=>{let t;return function(i){return(t||(t=ft(e)))(i||e)}})();static \u0275dir=re({type:e,features:[ke]})}return e})(),Eo=new S("");var bS={provide:Eo,useExisting:Qe(()=>Pt),multi:!0};function IS(){let e=Xe()?Xe().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}var SS=new S(""),Pt=(()=>{class e extends Yv{_compositionMode;_composing=!1;constructor(t,r,i){super(t,r),this._compositionMode=i,this._compositionMode==null&&(this._compositionMode=!IS())}writeValue(t){let r=t??"";this.setProperty("value",r)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static \u0275fac=function(r){return new(r||e)(T(st),T(we),T(SS,8))};static \u0275dir=re({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(r,i){r&1&&R("input",function(s){return i._handleInput(s.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(s){return i._compositionEnd(s.target.value)})},standalone:!1,features:[ht([bS]),ke]})}return e})();function lf(e){return e==null||Qv(e)===0}function Qv(e){return e==null?null:Array.isArray(e)||typeof e=="string"?e.length:e instanceof Set?e.size:null}var ai=new S(""),Kv=new S(""),xS=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;function MS(e){return lf(e.value)?{required:!0}:null}function TS(e){return lf(e.value)||xS.test(e.value)?null:{email:!0}}function AS(e){return n=>{let t=n.value?.length??Qv(n.value);return t!==null&&t>e?{maxlength:{requiredLength:e,actualLength:t}}:null}}function NS(e){if(!e)return rf;let n,t;return typeof e=="string"?(t="",e.charAt(0)!=="^"&&(t+="^"),t+=e,e.charAt(e.length-1)!=="$"&&(t+="$"),n=new RegExp(t)):(t=e.toString(),n=e),r=>{if(lf(r.value))return null;let i=r.value;return n.test(i)?null:{pattern:{requiredPattern:t,actualValue:i}}}}function rf(e){return null}function Xv(e){return e!=null}function Jv(e){return $n(e)?oe(e):e}function ey(e){let n={};return e.forEach(t=>{n=t!=null?w(w({},n),t):n}),Object.keys(n).length===0?null:n}function ty(e,n){return n.map(t=>t(e))}function RS(e){return!e.validate}function ny(e){return e.map(n=>RS(n)?n:t=>n.validate(t))}function kS(e){if(!e)return null;let n=e.filter(Xv);return n.length==0?null:function(t){return ey(ty(t,n))}}function cf(e){return e!=null?kS(ny(e)):null}function OS(e){if(!e)return null;let n=e.filter(Xv);return n.length==0?null:function(t){let r=ty(t,n).map(Jv);return Gl(r).pipe(V(ey))}}function uf(e){return e!=null?OS(ny(e)):null}function Uv(e,n){return e===null?[n]:Array.isArray(e)?[...e,n]:[e,n]}function PS(e){return e._rawValidators}function FS(e){return e._rawAsyncValidators}function of(e){return e?Array.isArray(e)?e:[e]:[]}function Ya(e,n){return Array.isArray(e)?e.includes(n):e===n}function Hv(e,n){let t=of(n);return of(e).forEach(i=>{Ya(t,i)||t.push(i)}),t}function $v(e,n){return of(n).filter(t=>!Ya(e,t))}var Qa=class{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=cf(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=uf(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return this.control?this.control.hasError(n,t):!1}getError(n,t){return this.control?this.control.getError(n,t):null}},oi=class extends Qa{name;get formDirective(){return null}get path(){return null}},si=class extends Qa{_parent=null;name=null;valueAccessor=null},Ka=class{_cd;constructor(n){this._cd=n}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}},LS={"[class.ng-untouched]":"isUntouched","[class.ng-touched]":"isTouched","[class.ng-pristine]":"isPristine","[class.ng-dirty]":"isDirty","[class.ng-valid]":"isValid","[class.ng-invalid]":"isInvalid","[class.ng-pending]":"isPending"},iL=Y(w({},LS),{"[class.ng-submitted]":"isSubmitted"}),En=(()=>{class e extends Ka{constructor(t){super(t)}static \u0275fac=function(r){return new(r||e)(T(si,2))};static \u0275dir=re({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(r,i){r&2&&ta("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},standalone:!1,features:[ke]})}return e})(),wn=(()=>{class e extends Ka{constructor(t){super(t)}static \u0275fac=function(r){return new(r||e)(T(oi,10))};static \u0275dir=re({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(r,i){r&2&&ta("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)("ng-submitted",i.isSubmitted)},standalone:!1,features:[ke]})}return e})();var vo="VALID",Za="INVALID",ri="PENDING",yo="DISABLED",Dn=class{},Xa=class extends Dn{value;source;constructor(n,t){super(),this.value=n,this.source=t}},Co=class extends Dn{pristine;source;constructor(n,t){super(),this.pristine=n,this.source=t}},Do=class extends Dn{touched;source;constructor(n,t){super(),this.touched=n,this.source=t}},ii=class extends Dn{status;source;constructor(n,t){super(),this.status=n,this.source=t}},sf=class extends Dn{source;constructor(n){super(),this.source=n}},af=class extends Dn{source;constructor(n){super(),this.source=n}};function ry(e){return(nl(e)?e.validators:e)||null}function VS(e){return Array.isArray(e)?cf(e):e||null}function iy(e,n){return(nl(n)?n.asyncValidators:e)||null}function jS(e){return Array.isArray(e)?uf(e):e||null}function nl(e){return e!=null&&!Array.isArray(e)&&typeof e=="object"}function BS(e,n,t){let r=e.controls;if(!(n?Object.keys(r):r).length)throw new I(1e3,"");if(!r[t])throw new I(1001,"")}function US(e,n,t){e._forEachChild((r,i)=>{if(t[i]===void 0)throw new I(1002,"")})}var Ja=class{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(n,t){this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get status(){return Kt(this.statusReactive)}set status(n){Kt(()=>this.statusReactive.set(n))}_status=ji(()=>this.statusReactive());statusReactive=Pi(void 0);get valid(){return this.status===vo}get invalid(){return this.status===Za}get pending(){return this.status==ri}get disabled(){return this.status===yo}get enabled(){return this.status!==yo}errors;get pristine(){return Kt(this.pristineReactive)}set pristine(n){Kt(()=>this.pristineReactive.set(n))}_pristine=ji(()=>this.pristineReactive());pristineReactive=Pi(!0);get dirty(){return!this.pristine}get touched(){return Kt(this.touchedReactive)}set touched(n){Kt(()=>this.touchedReactive.set(n))}_touched=ji(()=>this.touchedReactive());touchedReactive=Pi(!1);get untouched(){return!this.touched}_events=new pe;events=this._events.asObservable();valueChanges;statusChanges;get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(Hv(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(Hv(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators($v(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators($v(n,this._rawAsyncValidators))}hasValidator(n){return Ya(this._rawValidators,n)}hasAsyncValidator(n){return Ya(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){let t=this.touched===!1;this.touched=!0;let r=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsTouched(Y(w({},n),{sourceControl:r})),t&&n.emitEvent!==!1&&this._events.next(new Do(!0,r))}markAllAsTouched(n={}){this.markAsTouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:this}),this._forEachChild(t=>t.markAllAsTouched(n))}markAsUntouched(n={}){let t=this.touched===!0;this.touched=!1,this._pendingTouched=!1;let r=n.sourceControl??this;this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:r})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,r),t&&n.emitEvent!==!1&&this._events.next(new Do(!1,r))}markAsDirty(n={}){let t=this.pristine===!0;this.pristine=!1;let r=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsDirty(Y(w({},n),{sourceControl:r})),t&&n.emitEvent!==!1&&this._events.next(new Co(!1,r))}markAsPristine(n={}){let t=this.pristine===!1;this.pristine=!0,this._pendingDirty=!1;let r=n.sourceControl??this;this._forEachChild(i=>{i.markAsPristine({onlySelf:!0,emitEvent:n.emitEvent})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n,r),t&&n.emitEvent!==!1&&this._events.next(new Co(!0,r))}markAsPending(n={}){this.status=ri;let t=n.sourceControl??this;n.emitEvent!==!1&&(this._events.next(new ii(this.status,t)),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.markAsPending(Y(w({},n),{sourceControl:t}))}disable(n={}){let t=this._parentMarkedDirty(n.onlySelf);this.status=yo,this.errors=null,this._forEachChild(i=>{i.disable(Y(w({},n),{onlySelf:!0}))}),this._updateValue();let r=n.sourceControl??this;n.emitEvent!==!1&&(this._events.next(new Xa(this.value,r)),this._events.next(new ii(this.status,r)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Y(w({},n),{skipPristineCheck:t}),this),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){let t=this._parentMarkedDirty(n.onlySelf);this.status=vo,this._forEachChild(r=>{r.enable(Y(w({},n),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors(Y(w({},n),{skipPristineCheck:t}),this),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(n,t){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine({},t),this._parent._updateTouched({},t))}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){let r=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===vo||this.status===ri)&&this._runAsyncValidator(r,n.emitEvent)}let t=n.sourceControl??this;n.emitEvent!==!1&&(this._events.next(new Xa(this.value,t)),this._events.next(new ii(this.status,t)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(Y(w({},n),{sourceControl:t}))}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?yo:vo}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n,t){if(this.asyncValidator){this.status=ri,this._hasOwnPendingAsyncValidator={emitEvent:t!==!1};let r=Jv(this.asyncValidator(this));this._asyncValidationSubscription=r.subscribe(i=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(i,{emitEvent:t,shouldHaveEmitted:n})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();let n=this._hasOwnPendingAsyncValidator?.emitEvent??!1;return this._hasOwnPendingAsyncValidator=null,n}return!1}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(t.emitEvent!==!1,this,t.shouldHaveEmitted)}get(n){let t=n;return t==null||(Array.isArray(t)||(t=t.split(".")),t.length===0)?null:t.reduce((r,i)=>r&&r._find(i),this)}getError(n,t){let r=t?this.get(t):this;return r&&r.errors?r.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n,t,r){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),(n||r)&&this._events.next(new ii(this.status,t)),this._parent&&this._parent._updateControlsErrors(n,t,r)}_initObservables(){this.valueChanges=new ve,this.statusChanges=new ve}_calculateStatus(){return this._allControlsDisabled()?yo:this.errors?Za:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ri)?ri:this._anyControlsHaveStatus(Za)?Za:vo}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n,t){let r=!this._anyControlsDirty(),i=this.pristine!==r;this.pristine=r,this._parent&&!n.onlySelf&&this._parent._updatePristine(n,t),i&&this._events.next(new Co(this.pristine,t))}_updateTouched(n={},t){this.touched=this._anyControlsTouched(),this._events.next(new Do(this.touched,t)),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,t)}_onDisabledChange=[];_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){nl(n)&&n.updateOn!=null&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){let t=this._parent&&this._parent.dirty;return!n&&!!t&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=VS(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=jS(this._rawAsyncValidators)}},el=class extends Ja{constructor(n,t,r){super(ry(t),iy(r,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;registerControl(n,t){return this.controls[n]?this.controls[n]:(this.controls[n]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(n,t,r={}){this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}removeControl(n,t={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(n,t,r={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],t&&this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,t={}){US(this,!0,n),Object.keys(n).forEach(r=>{BS(this,!0,r),this.controls[r].setValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){n!=null&&(Object.keys(n).forEach(r=>{let i=this.controls[r];i&&i.patchValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((r,i)=>{r.reset(n?n[i]:null,{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t,this),this._updateTouched(t,this),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(n,t,r)=>(n[r]=t.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(t,r)=>r._syncPendingControls()?!0:t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{let r=this.controls[t];r&&n(r,t)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(let[t,r]of Object.entries(this.controls))if(this.contains(t)&&n(r))return!0;return!1}_reduceValue(){let n={};return this._reduceChildren(n,(t,r,i)=>((r.enabled||this.disabled)&&(t[i]=r.value),t))}_reduceChildren(n,t){let r=n;return this._forEachChild((i,o)=>{r=t(r,i,o)}),r}_allControlsDisabled(){for(let n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}};var rl=new S("",{providedIn:"root",factory:()=>il}),il="always";function HS(e,n){return[...n.path,e]}function oy(e,n,t=il){sy(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||t==="always")&&n.valueAccessor.setDisabledState?.(e.disabled),qS(e,n),GS(e,n),zS(e,n),$S(e,n)}function qv(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function $S(e,n){if(n.valueAccessor.setDisabledState){let t=r=>{n.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}function sy(e,n){let t=PS(e);n.validator!==null?e.setValidators(Uv(t,n.validator)):typeof t=="function"&&e.setValidators([t]);let r=FS(e);n.asyncValidator!==null?e.setAsyncValidators(Uv(r,n.asyncValidator)):typeof r=="function"&&e.setAsyncValidators([r]);let i=()=>e.updateValueAndValidity();qv(n._rawValidators,i),qv(n._rawAsyncValidators,i)}function qS(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,e.updateOn==="change"&&ay(e,n)})}function zS(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,e.updateOn==="blur"&&e._pendingChange&&ay(e,n),e.updateOn!=="submit"&&e.markAsTouched()})}function ay(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function GS(e,n){let t=(r,i)=>{n.valueAccessor.writeValue(r),i&&n.viewToModelUpdate(r)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}function WS(e,n){e==null,sy(e,n)}function ZS(e,n){if(!e.hasOwnProperty("model"))return!1;let t=e.model;return t.isFirstChange()?!0:!Object.is(n,t.currentValue)}function YS(e){return Object.getPrototypeOf(e.constructor)===tl}function QS(e,n){e._syncPendingControls(),n.forEach(t=>{let r=t.control;r.updateOn==="submit"&&r._pendingChange&&(t.viewToModelUpdate(r._pendingValue),r._pendingChange=!1)})}function KS(e,n){if(!n)return null;Array.isArray(n);let t,r,i;return n.forEach(o=>{o.constructor===Pt?t=o:YS(o)?r=o:i=o}),i||r||t||null}var XS={provide:oi,useExisting:Qe(()=>Jt)},_o=Promise.resolve(),Jt=(()=>{class e extends oi{callSetDisabledState;get submitted(){return Kt(this.submittedReactive)}_submitted=ji(()=>this.submittedReactive());submittedReactive=Pi(!1);_directives=new Set;form;ngSubmit=new ve;options;constructor(t,r,i){super(),this.callSetDisabledState=i,this.form=new el({},cf(t),uf(r))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){_o.then(()=>{let r=this._findContainer(t.path);t.control=r.registerControl(t.name,t.control),oy(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){_o.then(()=>{let r=this._findContainer(t.path);r&&r.removeControl(t.name),this._directives.delete(t)})}addFormGroup(t){_o.then(()=>{let r=this._findContainer(t.path),i=new el({});WS(i,t),r.registerControl(t.name,i),i.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){_o.then(()=>{let r=this._findContainer(t.path);r&&r.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,r){_o.then(()=>{this.form.get(t.path).setValue(r)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submittedReactive.set(!0),QS(this.form,this._directives),this.ngSubmit.emit(t),this.form._events.next(new sf(this.control)),t?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this.submittedReactive.set(!1),this.form._events.next(new af(this.form))}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}static \u0275fac=function(r){return new(r||e)(T(ai,10),T(Kv,10),T(rl,8))};static \u0275dir=re({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(r,i){r&1&&R("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{options:[0,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[ht([XS]),ke]})}return e})();function zv(e,n){let t=e.indexOf(n);t>-1&&e.splice(t,1)}function Gv(e){return typeof e=="object"&&e!==null&&Object.keys(e).length===2&&"value"in e&&"disabled"in e}var JS=class extends Ja{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(n=null,t,r){super(ry(t),iy(r,t)),this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),nl(t)&&(t.nonNullable||t.initialValueIsDefault)&&(Gv(n)?this.defaultValue=n.value:this.defaultValue=n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&t.emitModelToViewChange!==!1&&this._onChange.forEach(r=>r(this.value,t.emitViewToModelChange!==!1)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){zv(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){zv(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return this.updateOn==="submit"&&(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),this._pendingChange)?(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0):!1}_applyFormState(n){Gv(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}};var ex={provide:si,useExisting:Qe(()=>en)},Wv=Promise.resolve(),en=(()=>{class e extends si{_changeDetectorRef;callSetDisabledState;control=new JS;static ngAcceptInputType_isDisabled;_registered=!1;viewModel;name="";isDisabled;model;options;update=new ve;constructor(t,r,i,o,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this._parent=t,this._setValidators(r),this._setAsyncValidators(i),this.valueAccessor=KS(this,o)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){let r=t.name.previousValue;this.formDirective.removeControl({name:r,path:this._getPath(r)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),ZS(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!!(this.options&&this.options.standalone)}_setUpStandalone(){oy(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._checkName()}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&this.name}_updateValue(t){Wv.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){let r=t.isDisabled.currentValue,i=r!==0&&Qt(r);Wv.then(()=>{i&&!this.control.disabled?this.control.disable():!i&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?HS(t,this._parent):[t]}static \u0275fac=function(r){return new(r||e)(T(oi,9),T(ai,10),T(Kv,10),T(Eo,10),T(pn,8),T(rl,8))};static \u0275dir=re({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:!1,features:[ht([ex]),ke,Zt]})}return e})();var bn=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275dir=re({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""],standalone:!1})}return e})();var tx={provide:Eo,useExisting:Qe(()=>df),multi:!0};var nx=(()=>{class e{_accessors=[];add(t,r){this._accessors.push([t,r])}remove(t){for(let r=this._accessors.length-1;r>=0;--r)if(this._accessors[r][1]===t){this._accessors.splice(r,1);return}}select(t){this._accessors.forEach(r=>{this._isSameGroup(r,t)&&r[1]!==t&&r[1].fireUncheck(t.value)})}_isSameGroup(t,r){return t[0].control?t[0]._parent===r._control._parent&&t[1].name===r.name:!1}static \u0275fac=function(r){return new(r||e)};static \u0275prov=b({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),df=(()=>{class e extends tl{_registry;_injector;_state;_control;_fn;setDisabledStateFired=!1;onChange=()=>{};name;formControlName;value;callSetDisabledState=C(rl,{optional:!0})??il;constructor(t,r,i,o){super(t,r),this._registry=i,this._injector=o}ngOnInit(){this._control=this._injector.get(si),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(t){this._state=t===this.value,this.setProperty("checked",this._state)}registerOnChange(t){this._fn=t,this.onChange=()=>{t(this.value),this._registry.select(this)}}setDisabledState(t){(this.setDisabledStateFired||t||this.callSetDisabledState==="whenDisabledForLegacyCode")&&this.setProperty("disabled",t),this.setDisabledStateFired=!0}fireUncheck(t){this.writeValue(t)}_checkName(){this.name&&this.formControlName&&(this.name,this.formControlName),!this.name&&this.formControlName&&(this.name=this.formControlName)}static \u0275fac=function(r){return new(r||e)(T(st),T(we),T(nx),T(Ye))};static \u0275dir=re({type:e,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(r,i){r&1&&R("change",function(){return i.onChange()})("blur",function(){return i.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},standalone:!1,features:[ht([tx]),ke]})}return e})();var rx={provide:Eo,useExisting:Qe(()=>li),multi:!0};function ly(e,n){return e==null?`${n}`:(n&&typeof n=="object"&&(n="Object"),`${e}: ${n}`.slice(0,50))}function ix(e){return e.split(":")[0]}var li=(()=>{class e extends tl{value;_optionMap=new Map;_idCounter=0;set compareWith(t){this._compareWith=t}_compareWith=Object.is;writeValue(t){this.value=t;let r=this._getOptionId(t),i=ly(r,t);this.setProperty("value",i)}registerOnChange(t){this.onChange=r=>{this.value=this._getOptionValue(r),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(let r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),t))return r;return null}_getOptionValue(t){let r=ix(t);return this._optionMap.has(r)?this._optionMap.get(r):t}static \u0275fac=(()=>{let t;return function(i){return(t||(t=ft(e)))(i||e)}})();static \u0275dir=re({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(r,i){r&1&&R("change",function(s){return i.onChange(s.target.value)})("blur",function(){return i.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[ht([rx]),ke]})}return e})(),ol=(()=>{class e{_element;_renderer;_select;id;constructor(t,r,i){this._element=t,this._renderer=r,this._select=i,this._select&&(this.id=this._select._registerOption())}set ngValue(t){this._select!=null&&(this._select._optionMap.set(this.id,t),this._setElementValue(ly(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._setElementValue(t),this._select&&this._select.writeValue(this._select.value)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(r){return new(r||e)(T(we),T(st),T(li,9))};static \u0275dir=re({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return e})(),ox={provide:Eo,useExisting:Qe(()=>cy),multi:!0};function Zv(e,n){return e==null?`${n}`:(typeof n=="string"&&(n=`'${n}'`),n&&typeof n=="object"&&(n="Object"),`${e}: ${n}`.slice(0,50))}function sx(e){return e.split(":")[0]}var cy=(()=>{class e extends tl{value;_optionMap=new Map;_idCounter=0;set compareWith(t){this._compareWith=t}_compareWith=Object.is;writeValue(t){this.value=t;let r;if(Array.isArray(t)){let i=t.map(o=>this._getOptionId(o));r=(o,s)=>{o._setSelected(i.indexOf(s.toString())>-1)}}else r=(i,o)=>{i._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(t){this.onChange=r=>{let i=[],o=r.selectedOptions;if(o!==void 0){let s=o;for(let a=0;a{let t;return function(i){return(t||(t=ft(e)))(i||e)}})();static \u0275dir=re({type:e,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(r,i){r&1&&R("change",function(s){return i.onChange(s.target)})("blur",function(){return i.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[ht([ox]),ke]})}return e})(),sl=(()=>{class e{_element;_renderer;_select;id;_value;constructor(t,r,i){this._element=t,this._renderer=r,this._select=i,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){this._select!=null&&(this._value=t,this._setElementValue(Zv(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(Zv(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}_setSelected(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(r){return new(r||e)(T(we),T(st),T(cy,9))};static \u0275dir=re({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return e})();function ax(e){return typeof e=="number"?e:parseInt(e,10)}var al=(()=>{class e{_validator=rf;_onChange;_enabled;ngOnChanges(t){if(this.inputName in t){let r=this.normalizeInput(t[this.inputName].currentValue);this._enabled=this.enabled(r),this._validator=this._enabled?this.createValidator(r):rf,this._onChange&&this._onChange()}}validate(t){return this._validator(t)}registerOnValidatorChange(t){this._onChange=t}enabled(t){return t!=null}static \u0275fac=function(r){return new(r||e)};static \u0275dir=re({type:e,features:[Zt]})}return e})();var lx={provide:ai,useExisting:Qe(()=>tn),multi:!0};var tn=(()=>{class e extends al{required;inputName="required";normalizeInput=Qt;createValidator=t=>MS;enabled(t){return t}static \u0275fac=(()=>{let t;return function(i){return(t||(t=ft(e)))(i||e)}})();static \u0275dir=re({type:e,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(r,i){r&2&&Ke("required",i._enabled?"":null)},inputs:{required:"required"},standalone:!1,features:[ht([lx]),ke]})}return e})();var cx={provide:ai,useExisting:Qe(()=>wo),multi:!0},wo=(()=>{class e extends al{email;inputName="email";normalizeInput=Qt;createValidator=t=>TS;enabled(t){return t}static \u0275fac=(()=>{let t;return function(i){return(t||(t=ft(e)))(i||e)}})();static \u0275dir=re({type:e,selectors:[["","email","","formControlName",""],["","email","","formControl",""],["","email","","ngModel",""]],inputs:{email:"email"},standalone:!1,features:[ht([cx]),ke]})}return e})();var ux={provide:ai,useExisting:Qe(()=>bo),multi:!0},bo=(()=>{class e extends al{maxlength;inputName="maxlength";normalizeInput=t=>ax(t);createValidator=t=>AS(t);static \u0275fac=(()=>{let t;return function(i){return(t||(t=ft(e)))(i||e)}})();static \u0275dir=re({type:e,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(r,i){r&2&&Ke("maxlength",i._enabled?i.maxlength:null)},inputs:{maxlength:"maxlength"},standalone:!1,features:[ht([ux]),ke]})}return e})(),dx={provide:ai,useExisting:Qe(()=>ff),multi:!0},ff=(()=>{class e extends al{pattern;inputName="pattern";normalizeInput=t=>t;createValidator=t=>NS(t);static \u0275fac=(()=>{let t;return function(i){return(t||(t=ft(e)))(i||e)}})();static \u0275dir=re({type:e,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(r,i){r&2&&Ke("pattern",i._enabled?i.pattern:null)},inputs:{pattern:"pattern"},standalone:!1,features:[ht([dx]),ke]})}return e})();var fx=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=ze({type:e});static \u0275inj=$e({})}return e})();var Ft=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:rl,useValue:t.callSetDisabledState??il}]}}static \u0275fac=function(r){return new(r||e)};static \u0275mod=ze({type:e});static \u0275inj=$e({imports:[fx]})}return e})();var cl=class{constructor(){this.name="",this.email="",this.message=""}};var ul=(()=>{class e{constructor(t){this.httpClient=t}postContactForm(t){return this.httpClient.post(`${J.apiBaseUrl}contact`,t)}static{this.\u0275fac=function(r){return new(r||e)(A($r))}}static{this.\u0275prov=b({token:e,factory:e.\u0275fac})}}return e})();function hx(e,n){if(e&1){let t=te();u(0,"form",5,0),R("ngSubmit",function(){x(t);let i=D();return M(i.submit())}),u(2,"div",6)(3,"label",7),c(4,"Name "),u(5,"span",8),c(6,"*"),d()(),u(7,"input",9),H("ngModelChange",function(i){x(t);let o=D();return z(o.contactViewModel.name,i)||(o.contactViewModel.name=i),M(i)}),d()(),u(8,"div",6)(9,"label",10),c(10,"Email address "),u(11,"span",8),c(12,"*"),d()(),u(13,"input",11),H("ngModelChange",function(i){x(t);let o=D();return z(o.contactViewModel.email,i)||(o.contactViewModel.email=i),M(i)}),d()(),u(14,"div",6)(15,"label",12),c(16,"Message "),u(17,"span",8),c(18,"*"),d()(),u(19,"textarea",13),H("ngModelChange",function(i){x(t);let o=D();return z(o.contactViewModel.message,i)||(o.contactViewModel.message=i),M(i)}),d()(),u(20,"button",14),c(21,"Submit"),d()()}if(e&2){let t=Vr(1),r=D();m(7),U("ngModel",r.contactViewModel.name),m(6),U("ngModel",r.contactViewModel.email),m(6),U("ngModel",r.contactViewModel.message),m(),_("disabled",!t.valid||r.enableFormCountDown>0)}}function mx(e,n){e&1&&(u(0,"p"),c(1,"Thanks for your message."),d())}function gx(e,n){e&1&&(u(0,"p",4),c(1,"Something went wrong. Please try again later."),d())}var uy=(()=>{class e{constructor(t){this.contactService=t,this.contactViewModel=new cl,this.success=!1,this.error=!1,this.enableFormCountDown=100,this.intervalId=null}ngOnInit(){this.intervalId=setInterval(()=>{this.enableFormCountDown-=1,this.enableFormCountDown===0&&clearInterval(this.intervalId)},50)}ngOnDestroy(){this.intervalId&&clearInterval(this.intervalId)}submit(){this.contactService.postContactForm(this.contactViewModel).subscribe({next:t=>{console.log("Submitted form"),this.success=!0},error:t=>{console.error(t),this.error=!0},complete:()=>console.info("complete")})}static{this.\u0275fac=function(r){return new(r||e)(T(ul))}}static{this.\u0275cmp=le({type:e,selectors:[["app-contact-component"]],decls:6,vars:3,consts:[["contactForm","ngForm"],[1,"container"],[1,"mb-4"],["method","post"],[1,"text-danger"],["method","post",3,"ngSubmit"],[1,"mb-3"],["for","Name"],[1,"required"],["type","text","id","Name","name","Name","required","",1,"form-control",3,"ngModelChange","ngModel"],["for","Email"],["type","email","id","Email","name","Email","email","","required","",1,"form-control",3,"ngModelChange","ngModel"],["for","Message"],["rows","7","id","Message","name","Message","required","",1,"form-control",3,"ngModelChange","ngModel"],["type","submit",1,"btn","btn-primary",3,"disabled"]],template:function(r,i){r&1&&(u(0,"div",1)(1,"h1",2),c(2,"Contact"),d(),O(3,hx,22,4,"form",3)(4,mx,2,0,"p")(5,gx,2,0,"p",4),d()),r&2&&(m(3),pt(!i.success&&!i.error?3:-1),m(),pt(i.success?4:-1),m(),pt(i.error?5:-1))},dependencies:[Ft,bn,Pt,En,wn,tn,wo,en,Jt],encapsulation:2})}}return e})();var _t={paddleIndividualLicensePrice:"US$49",paddleTeamLicensePrice:"US$149",paddleEnterpriseLicensePrice:"US$299",paddleIndividualLifetimeLicensePrice:"US$79",paddleTeamLifetimeLicensePrice:"US$249",paddleEnterpriseLifetimeLicensePrice:"US$499",paddleIndividualLifetimeLicensePriceEuro:"\u20AC79",paddleTeamLifetimeLicensePriceEuro:"\u20AC249",paddleEnterpriseLifetimeLicensePriceEuro:"\u20AC499"};var ci=(()=>{class e{constructor(t){this.httpClient=t}getLicense(t){return this.httpClient.get(`${J.apiBaseUrl}reportgenerator/license?code=${encodeURIComponent(t)}`)}getTrialLicense(t){return this.httpClient.post(`${J.apiBaseUrl}reportgenerator/triallicense`,t)}getPaddleLicense(t){return this.httpClient.post(`${J.apiBaseUrl}reportgenerator/paddlelicense`,t)}requestInvoice(t){return this.httpClient.post(`${J.apiBaseUrl}reportgenerator/invoice`,t)}static{this.\u0275fac=function(r){return new(r||e)(A($r))}}static{this.\u0275prov=b({token:e,factory:e.\u0275fac})}}return e})();function vx(e,n){if(e&1){let t=te();u(0,"form",14,0),R("ngSubmit",function(){x(t);let i=D();return M(i.requestInvoice())}),u(2,"div",15)(3,"select",16),H("ngModelChange",function(i){x(t);let o=D();return z(o.requestInvoiceData.currency,i)||(o.requestInvoiceData.currency=i),M(i)}),u(4,"option",17),c(5,"EUR"),d(),u(6,"option",18),c(7,"US$"),d()(),u(8,"label",19),c(9,"Currency"),d()(),u(10,"div",15)(11,"select",20),H("ngModelChange",function(i){x(t);let o=D();return z(o.requestInvoiceData.product,i)||(o.requestInvoiceData.product=i),M(i)}),u(12,"option",21),c(13,"Select product"),d(),u(14,"option",22),c(15),d(),u(16,"option",23),c(17),d(),u(18,"option",24),c(19),d()(),u(20,"label",25),c(21,"Product "),u(22,"span",26),c(23,"*"),d()()(),u(24,"div",15)(25,"select",27),H("ngModelChange",function(i){x(t);let o=D();return z(o.requestInvoiceData.type,i)||(o.requestInvoiceData.type=i),M(i)}),u(26,"option",28),c(27,"Business"),d(),u(28,"option",29),c(29,"Single"),d()(),u(30,"label",30),c(31,"Type"),d()(),u(32,"div",15)(33,"input",31),H("ngModelChange",function(i){x(t);let o=D();return z(o.requestInvoiceData.name,i)||(o.requestInvoiceData.name=i),M(i)}),d(),u(34,"label",32),c(35,"Company name "),u(36,"span",26),c(37,"*"),d()()(),u(38,"div",15)(39,"input",33),H("ngModelChange",function(i){x(t);let o=D();return z(o.requestInvoiceData.country,i)||(o.requestInvoiceData.country=i),M(i)}),d(),u(40,"label",34),c(41,"Country "),u(42,"span",26),c(43,"*"),d()()(),u(44,"div",15)(45,"input",35),H("ngModelChange",function(i){x(t);let o=D();return z(o.requestInvoiceData.address,i)||(o.requestInvoiceData.address=i),M(i)}),d(),u(46,"label",36),c(47,"Address "),u(48,"span",26),c(49,"*"),d()()(),u(50,"div",15)(51,"input",37),H("ngModelChange",function(i){x(t);let o=D();return z(o.requestInvoiceData.city,i)||(o.requestInvoiceData.city=i),M(i)}),d(),u(52,"label",38),c(53,"City/town "),u(54,"span",26),c(55,"*"),d()()(),u(56,"div",15)(57,"input",39),H("ngModelChange",function(i){x(t);let o=D();return z(o.requestInvoiceData.state,i)||(o.requestInvoiceData.state=i),M(i)}),d(),u(58,"label",40),c(59,"State/province "),u(60,"span",26),c(61,"*"),d()()(),u(62,"div",15)(63,"input",41),H("ngModelChange",function(i){x(t);let o=D();return z(o.requestInvoiceData.postcode,i)||(o.requestInvoiceData.postcode=i),M(i)}),d(),u(64,"label",42),c(65,"Postcode "),u(66,"span",26),c(67,"*"),d()()(),u(68,"div",15)(69,"input",43),H("ngModelChange",function(i){x(t);let o=D();return z(o.requestInvoiceData.contactName,i)||(o.requestInvoiceData.contactName=i),M(i)}),d(),u(70,"label",44),c(71,"Contact name "),u(72,"span",26),c(73,"*"),d()()(),u(74,"div",15)(75,"input",45),H("ngModelChange",function(i){x(t);let o=D();return z(o.requestInvoiceData.email,i)||(o.requestInvoiceData.email=i),M(i)}),d(),u(76,"label",46),c(77,"Email "),u(78,"span",26),c(79,"*"),d()()(),u(80,"div",15)(81,"input",47),H("ngModelChange",function(i){x(t);let o=D();return z(o.requestInvoiceData.financeEmail,i)||(o.requestInvoiceData.financeEmail=i),M(i)}),d(),u(82,"label",48),c(83,"POC/finance email"),d()(),u(84,"div",15)(85,"input",49),H("ngModelChange",function(i){x(t);let o=D();return z(o.requestInvoiceData.vatNumber,i)||(o.requestInvoiceData.vatNumber=i),M(i)}),d(),u(86,"label",50),c(87,"Sales tax/VAT number"),d()(),u(88,"div",15)(89,"input",51),H("ngModelChange",function(i){x(t);let o=D();return z(o.requestInvoiceData.companyNumber,i)||(o.requestInvoiceData.companyNumber=i),M(i)}),d(),u(90,"label",52),c(91,"Company number"),d()(),u(92,"div",15)(93,"textarea",53),H("ngModelChange",function(i){x(t);let o=D();return z(o.requestInvoiceData.comment,i)||(o.requestInvoiceData.comment=i),M(i)}),d(),u(94,"label",54),c(95,"Comment"),d()(),u(96,"button",55),c(97,"Request invoice"),d()()}if(e&2){let t=Vr(1),r=D();m(3),U("ngModel",r.requestInvoiceData.currency),m(8),U("ngModel",r.requestInvoiceData.product),m(4),Vi("Individual - Lifetime license - ",r.requestInvoiceData.currency," ",r.paddleIndividualLifetimeLicensePriceEuro,""),m(2),Vi("Team - Lifetime license - ",r.requestInvoiceData.currency," ",r.paddleTeamLifetimeLicensePriceEuro,""),m(2),Vi("Enterprise - Lifetime license - ",r.requestInvoiceData.currency," ",r.paddleEnterpriseLifetimeLicensePriceEuro,""),m(6),U("ngModel",r.requestInvoiceData.type),m(8),U("ngModel",r.requestInvoiceData.name),m(6),U("ngModel",r.requestInvoiceData.country),m(6),U("ngModel",r.requestInvoiceData.address),m(6),U("ngModel",r.requestInvoiceData.city),m(6),U("ngModel",r.requestInvoiceData.state),m(6),U("ngModel",r.requestInvoiceData.postcode),m(6),U("ngModel",r.requestInvoiceData.contactName),m(6),U("ngModel",r.requestInvoiceData.email),m(6),U("ngModel",r.requestInvoiceData.financeEmail),m(4),U("ngModel",r.requestInvoiceData.vatNumber),m(4),U("ngModel",r.requestInvoiceData.companyNumber),m(4),U("ngModel",r.requestInvoiceData.comment),m(3),_("disabled",!t.valid)}}function yx(e,n){e&1&&(Oe(0),u(1,"div",56)(2,"span",57),c(3,"Loading..."),d()(),u(4,"span",58),c(5,"Please wait."),d(),Pe())}function _x(e,n){e&1&&(u(0,"div",59),c(1," Thanks for you request. You will receive an invoice as soon as possible. "),d())}var fy=(()=>{class e{constructor(t){this.licenseService=t,this.paddleIndividualLifetimeLicensePriceEuro=_t.paddleIndividualLifetimeLicensePriceEuro,this.paddleTeamLifetimeLicensePriceEuro=_t.paddleTeamLifetimeLicensePriceEuro,this.paddleEnterpriseLifetimeLicensePriceEuro=_t.paddleEnterpriseLifetimeLicensePriceEuro,this.invoiceRequested=!1,this.invoiceSuccessResponse=!1,this.requestInvoiceData={product:"",currency:"EUR",type:"Business",name:"",country:"",address:"",city:"",state:"",postcode:"",contactName:"",email:"",financeEmail:null,vatNumber:null,companyNumber:null,comment:null}}requestInvoice(){this.licenseService.requestInvoice(this.requestInvoiceData).subscribe({next:t=>{this.invoiceRequested=!0},error:t=>{console.error(t)},complete:()=>{this.invoiceSuccessResponse=!0}})}static{this.\u0275fac=function(r){return new(r||e)(T(ci))}}static{this.\u0275cmp=le({type:e,selectors:[["app-enterprise-component"]],decls:53,vars:3,consts:[["requestInvoiceForm","ngForm"],[1,"container"],[1,"mb-4"],["href","https://www.paddle.com/about/procurement","target","_blank"],[1,"fa-solid","fa-image","text-secondary","me-1"],["href","resources/enterprise/email@2x.webp"],["href","resources/enterprise/confirmation@2x.webp"],["href","resources/enterprise/invoice@2x.webp"],[1,"fa-solid","fa-file-pdf","text-secondary","me-1"],["href","resources/enterprise/invoice.pdf"],[1,"mt-5"],["method","post",3,"ngSubmit",4,"ngIf"],[4,"ngIf"],["class","col-xs-12 col-md-6",4,"ngIf"],["method","post",3,"ngSubmit"],[1,"form-floating","mb-3"],["id","currency","name","currency","placeholder","Currency",1,"form-select",3,"ngModelChange","ngModel"],["value","EUR"],["value","US$"],["for","currency"],["id","product","name","product","placeholder","Product","required","",1,"form-select",3,"ngModelChange","ngModel"],["value",""],["value","Individual"],["value","Team"],["value","Enterprise"],["for","product"],[1,"required"],["id","type","name","type","placeholder","Type",1,"form-select",3,"ngModelChange","ngModel"],["value","Business"],["value","Single"],["for","type"],["type","text","id","name","name","name","required","","maxlength","150","placeholder","Company name",1,"form-control",3,"ngModelChange","ngModel"],["for","name"],["type","text","id","country","name","country","required","","maxlength","150","placeholder","Country",1,"form-control",3,"ngModelChange","ngModel"],["for","country"],["type","text","id","address","name","address","required","","maxlength","150","placeholder","Address",1,"form-control",3,"ngModelChange","ngModel"],["for","address"],["type","text","id","city","name","city","required","","maxlength","150","placeholder","City/town",1,"form-control",3,"ngModelChange","ngModel"],["for","city"],["type","text","id","state","name","state","required","","maxlength","150","placeholder","State/province",1,"form-control",3,"ngModelChange","ngModel"],["for","state"],["type","text","id","postcode","name","postcode","required","","maxlength","150","placeholder","Postcode",1,"form-control",3,"ngModelChange","ngModel"],["for","postcode"],["type","text","id","contactName","name","contactName","required","","maxlength","150","placeholder","Contact name",1,"form-control",3,"ngModelChange","ngModel"],["for","contactName"],["type","email","id","email","name","email","required","","maxlength","150","placeholder","Email",1,"form-control",3,"ngModelChange","ngModel"],["for","email"],["type","email","id","financeEmail","name","financeEmail","maxlength","150","placeholder","POC/finance email",1,"form-control",3,"ngModelChange","ngModel"],["for","financeEmail"],["type","text","id","vatNumber","name","vatNumber","maxlength","150","placeholder","Sales tax/VAT number",1,"form-control",3,"ngModelChange","ngModel"],["for","vatNumber"],["type","text","id","companyNumber","name","companyNumber","maxlength","150","placeholder","Company number",1,"form-control",3,"ngModelChange","ngModel"],["for","companyNumber"],["id","comment","name","comment","placeholder","Comment",1,"form-control",2,"height","100px",3,"ngModelChange","ngModel"],["for","comment"],["type","submit",1,"btn","btn-primary",3,"disabled"],["role","status",1,"spinner-border","text-info"],[1,"visually-hidden"],[1,"position-relative","ms-4"],[1,"col-xs-12","col-md-6"]],template:function(r,i){r&1&&(u(0,"div",1)(1,"h1",2),c(2,"Enterprise"),d(),u(3,"p"),c(4," If you can't pay via credit card, you can also request an invoice which you can pay via bank/wire transfer."),h(5,"br"),d(),u(6,"p"),c(7," All invoices are issued by "),u(8,"i"),c(9,"Paddle.com"),d(),c(10," which acts as the Merchant of Record for all orders."),h(11,"br"),c(12," Here you can find additional "),u(13,"a",3),c(14,"procurement information"),d(),c(15,". "),d(),u(16,"p"),c(17,"The process is as follows:"),d(),u(18,"ol")(19,"li"),c(20,"Request invoice through the form below"),d(),u(21,"li"),c(22,"You will receive an email from "),u(23,"i"),c(24,"Paddle.com"),d(),c(25," ("),h(26,"i",4),u(27,"a",5),c(28,"Sample email"),d(),c(29,")"),d(),u(30,"li"),c(31,"You confirm the invoice ("),h(32,"i",4),u(33,"a",6),c(34,"Confirmation dialog"),d(),c(35,")"),d(),u(36,"li"),c(37,"You pay the invoice ("),h(38,"i",4),u(39,"a",7),c(40,"Sample invoice"),d(),c(41," | "),h(42,"i",8),u(43,"a",9),c(44,"Sample PDF invoice"),d(),c(45,")"),d(),u(46,"li"),c(47,"After your payment is confirmed, you will receive your license key within one business day"),d()(),u(48,"h2",10),c(49,"Request invoice"),d(),O(50,vx,98,22,"form",11)(51,yx,6,0,"ng-container",12)(52,_x,2,0,"div",13),d()),r&2&&(m(50),_("ngIf",!i.invoiceRequested),m(),_("ngIf",i.invoiceRequested&&!i.invoiceSuccessResponse),m(),_("ngIf",i.invoiceSuccessResponse))},dependencies:[Gn,Ft,bn,ol,sl,Pt,li,En,wn,tn,bo,en,Jt],encapsulation:2})}}return e})();var pf=()=>["/pro"],py=(()=>{class e{scrollToAnchor(t){return document.querySelector(t)?.scrollIntoView(!0),!1}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=le({type:e,selectors:[["app-features-component"]],decls:168,vars:6,consts:[[1,"container"],[1,"mb-4"],["id","coveragequota"],[1,"pro-text"],["href","https://en.wikipedia.org/wiki/Code_coverage","target","_blank"],[1,"fa-solid","fa-arrow-up-right-from-square"],[3,"routerLink"],[1,"pro-button","pro-button-tiny"],["loading","lazy","srcset","resources/features/quota@1x.webp 1x, resources/features/quota@2x.webp 2x","src","resources/features/quota1x.webp","alt","Coverage quotas",1,"img-fluid"],["id","coveragehistory",1,"mt-5"],["loading","lazy","srcset","resources/features/history@1x.webp 1x, resources/features/history@2x.webp 2x","src","resources/features/history@1x.webp","alt","Coverage history",1,"img-fluid"],["id","summary",1,"mt-5"],["loading","lazy","srcset","resources/features/summary@1x.webp 1x, resources/features/summary@2x.webp 2x","src","resources/features/summary.webp","alt","Summary table / Overview",1,"img-fluid"],["id","details",1,"mt-5"],["loading","lazy","srcset","resources/features/details@1x.webp 1x, resources/features/details@2x.webp 2x","src","resources/features/details.webp","alt","Details",1,"img-fluid"],["id","metrics",1,"mt-5"],["href","https://github.com/danielpalme/ReportGenerator/wiki/FAQ#which-coverage-tool-supports-which-features-in-the-html-report","target","_blank"],["href","",3,"click"],["loading","lazy","srcset","resources/features/metrics_details@1x.webp 1x, resources/features/metrics_details@2x.webp 2x","src","resources/features/metrics_details.webp","alt","Metrics - Details",1,"img-fluid"],["loading","lazy","srcset","resources/features/metrics_summary@1x.webp 1x, resources/features/metrics_summary@2x.webp 2x","src","resources/features/metrics_summary.webp","alt","Metrics - Summary",1,"img-fluid"],["id","riskhotspots",1,"mt-5"],["href","https://en.wikipedia.org/wiki/Cyclomatic_complexity","target","_blank"],["href","https://modess.io/npath-complexity-cyclomatic-complexity-explained","target","_blank"],["href","https://testing.googleblog.com/2011/02/this-code-is-crap.html","target","_blank"],["loading","lazy","srcset","resources/features/riskhotspots@1x.webp 1x, resources/features/riskhotspots@2x.webp 2x","src","resources/features/riskhotspots.webp","alt","Risk Hotspots",1,"img-fluid"],["id","rawmode",1,"mt-5"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Settings#other-settings","target","_blank"]],template:function(r,i){r&1&&(u(0,"div",0)(1,"h1",1),c(2,"Features"),d(),u(3,"h2",2),c(4,"Coverage quotas"),d(),u(5,"p"),c(6," The overiew cards provide a quick "),u(7,"span",3),c(8,"overview"),d(),c(9," of your coverage quotas."),h(10,"br"),c(11," You can use them to get a glimpse into the different "),u(12,"a",4),c(13,"coverage metrics"),d(),c(14,"\xA0"),u(15,"a",4),h(16,"i",5),d(),c(17,": "),d(),u(18,"ul")(19,"li"),c(20,"Line coverage"),d(),u(21,"li"),c(22,"Branch coverage"),d(),u(23,"li"),c(24,"Method coverage (at least one line covered) "),u(25,"a",6)(26,"span",7),c(27,"PRO"),d()()(),u(28,"li"),c(29,"Full method coverage (all lines covered) "),u(30,"a",6)(31,"span",7),c(32,"PRO"),d()()()(),h(33,"img",8)(34,"br"),u(35,"h2",9),c(36,"Coverage history"),d(),u(37,"p"),c(38," The history chart helps you to understand how your coverage quotas are "),u(39,"span",3),c(40,"evolving over time"),d(),c(41,". "),d(),h(42,"img",10)(43,"br"),u(44,"h2",11),c(45,"Summary table / Overview"),d(),u(46,"p"),c(47," The summary table helps you to identify classes with "),u(48,"span",3),c(49,"low test coverage"),d(),c(50,"."),h(51,"br"),c(52," The table offers various "),u(53,"span",3),c(54,"filter and sorting"),d(),c(55," options for quick navigation. "),d(),h(56,"img",12)(57,"br"),u(58,"h2",13),c(59,"Details page"),d(),u(60,"p"),c(61," The details page visualizes your "),u(62,"span",3),c(63,"line and branch coverage"),d(),c(64,". "),d(),u(65,"ul")(66,"li"),c(67,"Colors indicate the coverage status of each line."),d(),u(68,"li"),c(69,"Branch indicators help you to identity uncovered conditions."),d()(),h(70,"img",14)(71,"br"),u(72,"h2",15),c(73,"Metrics"),d(),u(74,"p"),c(75," Depending on your "),u(76,"a",16),c(77,"coverage tool"),d(),c(78,", metrics are provided to get further insigths in your "),u(79,"span",3),c(80,"code quality"),d(),c(81,". "),d(),u(82,"ul")(83,"li"),c(84,"The "),u(85,"a",17),R("click",function(){return i.scrollToAnchor("#details")}),c(86,"details page"),d(),c(87," contains information about the metrics of all methods of a class."),d(),u(88,"li"),c(89,"The "),u(90,"a",17),R("click",function(){return i.scrollToAnchor("#summary")}),c(91,"summary table"),d(),c(92," shows the lowest metrics of all methods of a class "),u(93,"a",6)(94,"span",7),c(95,"PRO"),d()()()(),u(96,"b"),c(97,"Details page"),d(),h(98,"br")(99,"img",18)(100,"br")(101,"br"),u(102,"b"),c(103,"Summary table"),d(),h(104,"br")(105,"img",19)(106,"br"),u(107,"h2",20),c(108,"Risk Hotspots"),d(),u(109,"p"),c(110," Based on the "),u(111,"a",17),R("click",function(){return i.scrollToAnchor("#metrics")}),c(112,"metrics"),d(),c(113," you get a list of potential risk hotspots."),h(114,"br"),c(115," The following metrics are analyzed if available, the warning thresholds are configurable: "),d(),u(116,"ul")(117,"li")(118,"a",21),c(119,"Cyclomatic complexity"),d(),c(120,"\xA0"),u(121,"a",21),h(122,"i",5),d()(),u(123,"li")(124,"a",22),c(125,"NPath complexity"),d(),c(126,"\xA0"),u(127,"a",22),h(128,"i",5),d()(),u(129,"li")(130,"a",23),c(131,"Crap score"),d(),c(132,"\xA0"),u(133,"a",23),h(134,"i",5),d()()(),h(135,"img",24),u(136,"h2",25),c(137,"Raw mode (for "),u(138,"i"),c(139,"Cobertura"),d(),c(140," and "),u(141,"i"),c(142,"dotCover"),d(),c(143,") "),u(144,"span",7),c(145,"PRO"),d()(),u(146,"p"),c(147,' With "raw mode" (settings:rawMode=true) you can disable that coverage data of nested or compiler generated classes is included in the parent class.'),h(148,"br"),c(149," This is useful to merge several "),u(150,"i"),c(151,"Cobertura"),d(),c(152," files into a single file, since the original class structure remains untouched. "),d(),u(153,"p"),c(154,"See "),u(155,"a",26),c(156,"Settings"),d(),c(157,"\xA0"),u(158,"a",26),h(159,"i",5),d()(),u(160,"p"),c(161,"Limitation: Raw mode is currently only supported for "),u(162,"i"),c(163,"Cobertura"),d(),c(164," and "),u(165,"i"),c(166,"dotCover"),d(),c(167," files."),d()()),r&2&&(m(25),_("routerLink",j(3,pf)),m(5),_("routerLink",j(4,pf)),m(63),_("routerLink",j(5,pf)))},dependencies:[be],encapsulation:2})}}return e})();var Ae={dotnetSDKVersion:"8.x",majorVersion:"5",version:"5.4.7"};var Cx=()=>["/usage"],hy=(()=>{class e{constructor(){this.versions=Ae}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=le({type:e,selectors:[["app-getstarted"]],decls:75,vars:6,consts:[[1,"container"],[1,"mb-4"],[3,"routerLink"],["id","net",1,"mt-5"],["href","https://github.com/microsoft/codecoverage"],["href","https://github.com/coverlet-coverage/coverlet"],["href","https://github.com/SteveGilham/altcover"],[1,"text-dark","bg-light","p-2","border"],["id","java",1,"mt-5"],["href","https://github.com/jacoco/jacoco"],["id","nodejs",1,"mt-5"],["href","https://github.com/istanbuljs/nyc"]],template:function(r,i){r&1&&(u(0,"div",0)(1,"h1",1),c(2,"Get started"),d(),u(3,"h2"),c(4,"General"),d(),u(5,"p"),c(6,"In general you need a tool that instruments your test code and collects coverage information."),h(7,"br"),c(8,"This information is typically stored in a XML file (e.g. in Cobertura format)."),h(9,"br"),u(10,"em"),c(11,"ReportGenerator"),d(),c(12," uses this file and generates a report in HTML format (other formats are available)."),d(),u(13,"p"),c(14,"Use the online "),u(15,"a",2),c(16,"configuration tool"),d(),c(17," to get started quickly."),d(),u(18,"h2",3),c(19,".NET"),d(),u(20,"p"),c(21,"For .NET you can use "),u(22,"a",4),c(23,"Microsoft CodeCoverage"),d(),c(24,", "),u(25,"a",5),c(26,"coverlet"),d(),c(27," or "),u(28,"a",6),c(29,"altcover"),d(),c(30," for instrumenting your test code."),d(),u(31,"p"),c(32,"After adding the dependencies to your project, you can execute your tests and generate the coverage report."),d(),u(33,"p")(34,"strong"),c(35,"Add dependencies to your "),u(36,"code"),c(37,"*.csproj"),d(),c(38," file:"),d()(),u(39,"pre",7),c(40),d(),u(41,"p")(42,"strong"),c(43,"Execute tests and create coverage report"),d()(),u(44,"pre",7),c(45),d(),u(46,"h2",8),c(47,"Java"),d(),u(48,"p"),c(49,"For Java you can use "),u(50,"a",9),c(51,"JaCoCo"),d(),c(52,` for instrumenting your test code. -After adding JaCoCo to your project (here with Maven), you can execute your tests and generate the coverage report.`),d(),u(53,"p")(54,"strong"),c(55,"Add dependencies to your "),u(56,"code"),c(57,"pom.xml"),d(),c(58," file:"),d()(),u(59,"pre",7),c(60,` - - - - org.jacoco - jacoco-maven-plugin - 0.8.12 - - - - prepare-agent - - - - report - prepare-package - - report - - - - - - - - - - org.jacoco - jacoco-maven-plugin - - - - report - - - - - - - -`),d(),u(61,"p")(62,"strong"),c(63,"Execute tests and create coverage report"),d()(),u(64,"pre",7),c(65),d(),u(66,"h2",10),c(67,"NodeJS"),d(),u(68,"p"),c(69,"For NodeJS you can use "),u(70,"a",11),c(71,"Istanbul"),d(),c(72,` for instrumenting your test code. -After installing Istanbul, you can execute your tests and generate the coverage report.`),d(),u(73,"pre",7),c(74),d()()),r&2&&(m(15),_("routerLink",j(5,Cx)),m(25),Fe(` - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - - all - runtime; build; native; contentfiles; analyzers - - -`),m(5),Fe(`dotnet test --collect:"XPlat Code Coverage" -"%UserProfile%\\.nuget\\packages\\reportgenerator\\`,i.versions.version,`\\tools\\net8.0\\ReportGenerator.exe" -reports:*\\TestResults\\*\\coverage.cobertura.xml -targetdir:coveragereport -`),m(20),Fe(`mvn test jacoco:report - -dotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version `,i.versions.version,` -tools\\reportgenerator -reports:target\\site\\jacoco\\jacoco.xml -targetdir:coveragereport -sourcedirs:src\\main\\java -`),m(9),Fe(`npm i nyc --save-dev -nyc --reporter=cobertura mocha - -dotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version `,i.versions.version,` -tools\\reportgenerator -reports:coverage/cobertura-coverage.xml -targetdir:coveragereport -`))},dependencies:[be],encapsulation:2})}}return e})();var dl=(()=>{class e{static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=le({type:e,selectors:[["app-testimonials"]],decls:30,vars:0,consts:[[1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"container"],[1,"text-center"],[1,"row","mt-5"],[1,"col","text-center"],[1,"fa-brands","fa-microsoft","h1","text-secondary"],["href","https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/code-coverage.md","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"fa-brands","fa-google","h1","text-secondary"],["href","https://github.com/GoogleCloudPlatform/iam-windows-authenticator","target","_blank","title","https://github.com/GoogleCloudPlatform/iam-federation-tools/blob/master/wwauth/Google.Solutions.WWAuth/Google.Solutions.WWAuth.csproj#L25",1,"text-dark","d-none","d-lg-block"],[1,"fa-brands","fa-aws","h1","text-secondary"],["href","https://github.com/aws/aws-encryption-sdk-dafny","target","_blank","title","https://github.com/aws/aws-encryption-sdk-dafny/blob/mainline/codebuild/dotnet/tests.yml#L31",1,"text-dark","d-none","d-lg-block"],[1,"col","text-center","d-none","d-lg-block"],[1,"fa-solid","fa-heart","h1","text-secondary"],["href","https://github.com/danielpalme/ReportGenerator/network/dependents","target","_blank",1,"text-dark"],["href","https://www.nuget.org/packages?q=ReportGenerator+danielpalme","target","_blank",1,"btn","btn-outline-secondary"],[1,"fa-solid","fa-download"]],template:function(r,i){r&1&&(u(0,"section",0)(1,"div",1)(2,"h2",2),c(3,"Code coverage reports trusted by"),d(),u(4,"div",3)(5,"div",4),h(6,"i",5)(7,"br"),u(8,"a",6),c(9,".NET Runtime"),d()(),u(10,"div",4),h(11,"i",7)(12,"br"),u(13,"a",8),c(14,"Google Cloud"),d()(),u(15,"div",4),h(16,"i",9)(17,"br"),u(18,"a",10),c(19,"AWS Encryption SDK"),d()(),u(20,"div",11),h(21,"i",12)(22,"br"),u(23,"a",13),c(24,"Many more"),d()()(),u(25,"div",3)(26,"div",4)(27,"a",14),h(28,"i",15),c(29," Over 110 million downloads on Nuget"),d()()()()())},encapsulation:2})}}return e})();var Dx=()=>["/pro"],Ex=()=>["/usage"],wx=()=>["/getstarted"],bx=()=>["/features"],my=(()=>{class e{static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=le({type:e,selectors:[["app-home"]],decls:121,vars:8,consts:[[1,"container"],[1,"row"],[1,"col-4","col-md-3"],["src","resources/logo.svg","alt","Logo ReportGenerator",1,"img-fluid"],[1,"col-xs-12","col-md-9","ps-4"],[1,"mt-5"],[1,"line","btn-primary"],[1,"mt-4","h5"],[1,"pro-text"],["href","resources/reports/Html/index.html","target","_blank",1,"btn","btn-primary","me-2","mb-2"],[1,"fa-solid","fa-eye"],[1,"row","mt-5"],[1,"col-sm-12","col-md-4"],[1,"icon"],[1,"fa-solid","fa-scale-balanced"],[1,"h5","ms-3","mt-3"],[1,"mt-3"],[3,"routerLink"],[1,"col-sm-12","col-md-4","mt-4","mt-md-0"],[1,"fa-solid","fa-lightbulb"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Settings","target","_blank"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Integration","target","_blank"],[1,"fa-solid","fa-plug"],["href","https://github.com/marketplace/actions/reportgenerator","target","_blank"],["href","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator","target","_blank"],[1,"col"],[1,"btn","btn-primary","me-2","mb-2",3,"routerLink"],[1,"fa-solid","fa-wrench"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank",1,"btn","btn-outline-dark","mb-2"],[1,"fa-brands","fa-github"],[1,"container-fluid","mt-5","pt-5","pb-5"],["href","resources/reports/Html/index.html","target","_blank"],["href","https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip"],[1,"col-sm-12","col-md-6","pb-2"],["href","resources/screenshot1@2x.webp"],["loading","lazy","srcset","resources/screenshot1.webp 1x, resources/screenshot1@2x.webp 2x","src","resources/screenshot1.webp","alt","Screenshot",1,"img-fluid"],[1,"col-sm-12","col-md-6"],["href","resources/screenshot2@2x.webp"],["loading","lazy","srcset","resources/screenshot2.webp 1x, resources/screenshot2@2x.webp 2x","src","resources/screenshot2.webp","alt","Screenshot",1,"img-fluid"]],template:function(r,i){r&1&&(u(0,"section",0)(1,"div",1)(2,"div",2),h(3,"img",3),d(),u(4,"div",4)(5,"h1"),c(6,"ReportGenerator"),d(),u(7,"h2",5),c(8,"Powerful code coverage visualization"),d(),u(9,"div",6),c(10,"\xA0"),d(),u(11,"div",7)(12,"p")(13,"i"),c(14,"ReportGenerator"),d(),c(15," converts "),u(16,"span",8),c(17,"coverage reports"),d(),c(18," generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov or lcov into "),u(19,"span",8),c(20,"human readable reports in various formats"),d(),c(21,"."),d(),u(22,"p"),c(23,"The reports show the "),u(24,"span",8),c(25,"coverage quotas"),d(),c(26," and also visualize which lines of your source code have been covered."),d(),u(27,"p")(28,"a",9),h(29,"i",10),c(30," Browse example report"),d()()()()(),u(31,"div",11)(32,"div",12)(33,"div",13),h(34,"i",14),d(),u(35,"span",15),c(36,"Open source"),d(),u(37,"p",16)(38,"i"),c(39,"ReportGenerator"),d(),c(40," is open source under the permissive Apache License."),d(),u(41,"p"),c(42,"It's free to use."),h(43,"br"),c(44,"The "),u(45,"a",17),c(46,"PRO"),d(),c(47," version offers additional features."),d()(),u(48,"div",18)(49,"div",13),h(50,"i",19),d(),u(51,"span",15),c(52,"Easy to use"),d(),u(53,"p",16)(54,"i"),c(55,"ReportGenerator"),d(),c(56," is a command line tool which only requires a "),u(57,"a",17),c(58,"few parameters"),d(),c(59,"."),d(),u(60,"p"),c(61,"The more advanced settings are documented in the "),u(62,"a",20),c(63,"wiki"),d(),c(64,"."),d(),u(65,"p")(66,"a",21),c(67,"Integration"),d(),c(68," into your build pipeline will only take a couple of minutes."),d()(),u(69,"div",18)(70,"div",13),h(71,"i",22),d(),u(72,"span",15),c(73,"Integration"),d(),u(74,"p",16)(75,"i"),c(76,"ReportGenerator"),d(),c(77," works on Windows, Linux and macOS."),d(),u(78,"p"),c(79,"Support for "),u(80,"a",23),c(81,"GitHub actions"),d(),c(82," and "),u(83,"a",24),c(84,"Azure DevOps"),d(),c(85," is available."),d()()(),u(86,"div",11)(87,"div",25)(88,"a",26),h(89,"i",27),c(90," Learn how to use"),d(),u(91,"a",28),h(92,"i",29),c(93," GitHub"),d()()()(),h(94,"app-testimonials"),u(95,"section",30)(96,"div",0)(97,"h2"),c(98,"Screenshots"),d(),u(99,"p"),c(100,"The screenshots show two snippets of the generated code coverage reports."),d(),u(101,"p"),c(102," Have a look the "),u(103,"a",17),c(104,"features page"),d(),c(105," to explore the elements in a coverage report or "),u(106,"a",31),c(107,"browse the example report"),d(),c(108,". "),h(109,"br"),c(110," You can also download "),u(111,"a",32),c(112,"sample reports"),d(),c(113," of all supported output formats."),d(),u(114,"div",1)(115,"div",33)(116,"a",34),h(117,"img",35),d()(),u(118,"div",36)(119,"a",37),h(120,"img",38),d()()()()()),r&2&&(m(45),_("routerLink",j(4,Dx)),m(12),_("routerLink",j(5,Ex)),m(31),_("routerLink",j(6,wx)),m(15),_("routerLink",j(7,bx)))},dependencies:[be,dl],styles:[".h5[_ngcontent-%COMP%]{font-weight:300}section[_ngcontent-%COMP%]:first-of-type{padding-top:120px;min-height:calc(100vh - 171px)}.icon[_ngcontent-%COMP%]{background-color:#2e89df;background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%);height:50px;width:50px;border-radius:8px;text-align:center;color:#fff;line-height:50px;font-size:1.5rem;display:inline-block}@media (max-width: 767px){section[_ngcontent-%COMP%]:first-of-type{padding-top:40px}}"]})}}return e})();var gy=(()=>{class e{static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=le({type:e,selectors:[["app-not-found"]],decls:5,vars:0,consts:[[1,"container"],[1,"mb-4"],[1,"fa-solid","fa-triangle-exclamation","fs-1","me-4"]],template:function(r,i){r&1&&(u(0,"div",0)(1,"h1",1),c(2,"Not found"),d(),h(3,"i",2),c(4,` The requested page does not exist. -`),d())},encapsulation:2})}}return e})();var vy=(()=>{class e{constructor(t){this.elementRef=t}ngAfterViewInit(){let t=this.elementRef.nativeElement;this.tooltip=new bootstrap.Tooltip(t);let r=t.setAttribute;t.setAttribute=(i,o)=>{i==="data-bs-title"&&this.tooltip.setContent({".tooltip-inner":o}),r.call(t,i,o)}}ngOnDestroy(){this.tooltip.dispose()}static{this.\u0275fac=function(r){return new(r||e)(T(we))}}static{this.\u0275dir=re({type:e,selectors:[["","bootstraptooltip",""]]})}}return e})();var Io=class{constructor(){this.error=null,this.licenses=[]}};var fl=class{constructor(){this.error=null,this.isSponsor=!1,this.license=null}};var pl=(()=>{class e{initCodeFlow(){let t=this.createAndSaveNonce(),r=J.scope!==null?`&scope=${J.scope}`:"",i=`${J.loginUrl}?response_type=code&client_id=${J.clientId}&state=${t}&redirect_uri=${window.location.origin}${J.redirectUri}${r}`;console.log("Redirecting to: "+i),location.href=i}validateStateAndExtractCode(){let t=location.href,r=t.indexOf("?");r>-1&&(t=t.substring(r+1));let i=this.parseQueryString(t);return!i.state||!i.code?null:this.validateNonce(i.state)?i.code:null}createAndSaveNonce(){let t=this.createNonce();return typeof window.localStorage<"u"&&localStorage.setItem("nonce",t),t}validateNonce(t){let r;return typeof window.localStorage<"u"&&(r=localStorage.getItem("nonce"),localStorage.removeItem("nonce")),!r||r.length===0?(console.error("Validating nonce failed. No saved nonce available.",r,t),!1):r!==t?(console.error("Validating nonce failed. Values do not match.",r,t),!1):!0}createNonce(){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",r=45,i="",o=typeof self>"u"?null:self.crypto||self.msCrypto;if(o){let a=new Uint8Array(r);o.getRandomValues(a),a.map||(a.map=Array.prototype.map);let l=[];for(var s=0;s0&&(f=decodeURIComponent(a),p=decodeURIComponent(l),f.substring(0,1)==="/"&&(f=f.substring(1)),r[f]=p);return r}base64UrlEncode(t){return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=b({token:e,factory:e.\u0275fac})}}return e})();var yy=(()=>{class e{constructor(){this.isActive=!1,this.isActive=new Date["/features"],hf=()=>["/contact"],_y=e=>({active:e});function xx(e,n){if(e&1){let t=te();u(0,"span",79)(1,"span",80),R("click",function(){x(t);let i=D();return M(i.lifetimeLicense=!1)}),h(2,"i",81),c(3," Annual subscription"),d(),u(4,"span",80),R("click",function(){x(t);let i=D();return M(i.lifetimeLicense=!0)}),h(5,"i",82),c(6," Lifetime license"),d()()}if(e&2){let t=D();m(),_("ngClass",qn(2,_y,!t.lifetimeLicense)),m(3),_("ngClass",qn(4,_y,t.lifetimeLicense))}}function Mx(e,n){if(e&1){let t=te();u(0,"button",102),R("click",function(){x(t);let i=D(2);return M(i.requestTrial())}),h(1,"i",33),c(2," Start trial"),d()}if(e&2){let t=D(2);_("disabled",t.trialDisabled)}}function Tx(e,n){e&1&&(u(0,"button",103),c(1,"Coming soon"),d())}function Ax(e,n){if(e&1){let t=te();c(0," + VAT "),u(1,"a",104),R("click",function(){x(t);let i=D(2);return M(i.handleTooltipClick())}),h(2,"i",105),d()}if(e&2){let t=D(2);m(),Ke("data-bs-title",t.getPriceTooltip(t.paddleIndividualLifetimeLicensePriceDetails,t.paddleIndividualLicensePriceDetails))}}function Nx(e,n){e&1&&(Oe(0),h(1,"i",81),c(2," Annual subscription"),Pe())}function Rx(e,n){e&1&&(Oe(0),h(1,"i",82),c(2," Lifetime license"),Pe())}function kx(e,n){if(e&1){let t=te();u(0,"button",106),R("click",function(){x(t);let i=D(2);return M(i.openPaddleCheckout("individual"))}),h(1,"i",107),c(2," Buy now"),d()}}function Ox(e,n){e&1&&(u(0,"button",103),c(1,"Coming soon"),d())}function Px(e,n){if(e&1){let t=te();c(0," + VAT "),u(1,"a",104),R("click",function(){x(t);let i=D(2);return M(i.handleTooltipClick())}),h(2,"i",105),d()}if(e&2){let t=D(2);m(),Ke("data-bs-title",t.getPriceTooltip(t.paddleTeamLifetimeLicensePriceDetails,t.paddleTeamLicensePriceDetails))}}function Fx(e,n){e&1&&(Oe(0),h(1,"i",81),c(2," Annual subscription"),Pe())}function Lx(e,n){e&1&&(Oe(0),h(1,"i",82),c(2," Lifetime license"),Pe())}function Vx(e,n){if(e&1){let t=te();u(0,"button",106),R("click",function(){x(t);let i=D(2);return M(i.openPaddleCheckout("team"))}),h(1,"i",107),c(2," Buy now"),d()}}function jx(e,n){e&1&&(u(0,"button",103),c(1,"Coming soon"),d())}function Bx(e,n){if(e&1){let t=te();c(0," + VAT "),u(1,"a",104),R("click",function(){x(t);let i=D(2);return M(i.handleTooltipClick())}),h(2,"i",105),d()}if(e&2){let t=D(2);m(),Ke("data-bs-title",t.getPriceTooltip(t.paddleEnterpriseLifetimeLicensePriceDetails,t.paddleEnterpriseLicensePriceDetails))}}function Ux(e,n){e&1&&(Oe(0),h(1,"i",81),c(2," Annual subscription"),Pe())}function Hx(e,n){e&1&&(Oe(0),h(1,"i",82),c(2," Lifetime license"),Pe())}function $x(e,n){if(e&1){let t=te();u(0,"button",106),R("click",function(){x(t);let i=D(2);return M(i.openPaddleCheckout("enterprise"))}),h(1,"i",107),c(2," Buy now"),d()}}function qx(e,n){e&1&&(u(0,"button",103),c(1,"Coming soon"),d())}function zx(e,n){if(e&1&&(u(0,"div",3)(1,"div",83)(2,"div",84),h(3,"img",85),u(4,"h4",86),c(5,"Free"),h(6,"br"),c(7,"Trial"),d(),u(8,"p"),h(9,"i",87),c(10," Get full access"),h(11,"br")(12,"i",88),c(13," 10 day trial period "),d(),O(14,Mx,3,1,"button",89)(15,Tx,2,0,"button",90),d()(),u(16,"div",91)(17,"div",92),h(18,"img",93),u(19,"h4",86),c(20,"Individual"),h(21,"br"),c(22),O(23,Ax,3,1),d(),u(24,"p"),h(25,"i",94),c(26," Per developer license."),h(27,"br"),O(28,Nx,3,0,"ng-container",26)(29,Rx,3,0,"ng-container",26),d(),O(30,kx,3,0,"button",95)(31,Ox,2,0,"button",90),d()(),u(32,"div",96)(33,"div",92),h(34,"img",97),u(35,"h4",86),c(36,"Team"),h(37,"br"),c(38),O(39,Px,3,1),d(),u(40,"p"),h(41,"i",98),c(42," Up to 10 developers."),h(43,"br"),O(44,Fx,3,0,"ng-container",26)(45,Lx,3,0,"ng-container",26),d(),O(46,Vx,3,0,"button",95)(47,jx,2,0,"button",90),d()(),u(48,"div",99)(49,"div",92),h(50,"img",100),u(51,"h4",86),c(52,"Enterprise"),h(53,"br"),c(54),O(55,Bx,3,1),d(),u(56,"p"),h(57,"i",101),c(58," Unlimited developers."),h(59,"br"),O(60,Ux,3,0,"ng-container",26)(61,Hx,3,0,"ng-container",26),d(),O(62,$x,3,0,"button",95)(63,qx,2,0,"button",90),d()()()),e&2){let t=D();m(14),_("ngIf",t.enablePaddle),m(),_("ngIf",!t.enablePaddle),m(7),Fe("",t.lifetimeLicense?t.paddleIndividualLifetimeLicensePrice:t.paddleIndividualLicensePrice," "),m(),pt(t.includeVatInPrice?-1:23),m(5),_("ngIf",!t.lifetimeLicense),m(),_("ngIf",t.lifetimeLicense),m(),_("ngIf",t.enablePaddle),m(),_("ngIf",!t.enablePaddle),m(7),Fe("",t.lifetimeLicense?t.paddleTeamLifetimeLicensePrice:t.paddleTeamLicensePrice," "),m(),pt(t.includeVatInPrice?-1:39),m(5),_("ngIf",!t.lifetimeLicense),m(),_("ngIf",t.lifetimeLicense),m(),_("ngIf",t.enablePaddle),m(),_("ngIf",!t.enablePaddle),m(7),Fe("",t.lifetimeLicense?t.paddleEnterpriseLifetimeLicensePrice:t.paddleEnterpriseLicensePrice," "),m(),pt(t.includeVatInPrice?-1:55),m(5),_("ngIf",!t.lifetimeLicense),m(),_("ngIf",t.lifetimeLicense),m(),_("ngIf",t.enablePaddle),m(),_("ngIf",!t.enablePaddle)}}function Gx(e,n){e&1&&(u(0,"div",109)(1,"div",110)(2,"span",111),c(3,"Loading..."),d()(),u(4,"span",112),c(5,"Your license is being generated. Please wait."),d()())}function Wx(e,n){if(e&1&&(u(0,"div")(1,"p"),c(2),d(),u(3,"p"),c(4,"Please try again later or use the "),u(5,"a",20),c(6," contact form"),d(),c(7,"."),d()()),e&2){let t=D(3);m(2),de(t.paddleLicense.error),m(3),_("routerLink",j(2,hf))}}function Zx(e,n){e&1&&(u(0,"span"),h(1,"i",118),c(2," Copy"),d())}function Yx(e,n){e&1&&(u(0,"span"),h(1,"i",119),c(2," Copied"),d())}function Qx(e,n){if(e&1){let t=te();u(0,"div",115)(1,"textarea",116),c(2),d(),u(3,"button",117),R("click",function(){let i=x(t).$implicit,o=D(4);return M(o.copyPaddle(i))}),O(4,Zx,3,0,"span",26)(5,Yx,3,0,"span",26),d()()}if(e&2){let t=n.$implicit,r=D(4);m(2),de(t),m(2),_("ngIf",r.copiedPaddledLicenses.indexOf(t)===-1),m(),_("ngIf",r.copiedPaddledLicenses.indexOf(t)>-1)}}function Kx(e,n){if(e&1&&(u(0,"div")(1,"label",113),c(2,"Thank you! Please save your license key persistently:"),d(),O(3,Qx,6,3,"div",114),d()),e&2){let t=D(3);m(3),_("ngForOf",t.paddleLicense.licenses)}}function Xx(e,n){if(e&1&&(u(0,"div",109),O(1,Wx,8,3,"div",26)(2,Kx,4,1,"div",26),d()),e&2){let t=D(2);m(),_("ngIf",t.paddleLicense.error),m(),_("ngIf",!t.paddleLicense.error)}}function Jx(e,n){if(e&1&&(u(0,"div",3),O(1,Gx,6,0,"div",108)(2,Xx,3,2,"div",108),d()),e&2){let t=D();m(),_("ngIf",t.paddleLicenseRequested&&!t.paddleLicense),m(),_("ngIf",t.paddleLicense)}}function eM(e,n){e&1&&(u(0,"p")(1,"i"),c(2,"ReportGenerator"),d(),c(3," subscription based licences are provided with a 30 day money back guarantee."),d())}function tM(e,n){e&1&&(u(0,"div",110)(1,"span",111),c(2,"Loading..."),d()())}function nM(e,n){e&1&&(u(0,"div",120),h(1,"i",121),d())}function rM(e,n){if(e&1&&(u(0,"div")(1,"p"),c(2),d(),u(3,"p"),c(4,"Please try again later or use the "),u(5,"a",20),c(6," contact form"),d(),c(7,"."),d()()),e&2){let t=D(2);m(2),de(t.license.error),m(3),_("routerLink",j(2,hf))}}function iM(e,n){e&1&&(u(0,"div")(1,"p"),c(2,"Please become a "),u(3,"a",122),c(4,"GitHub sponsor"),d(),c(5," first."),d()())}function oM(e,n){e&1&&(u(0,"span"),h(1,"i",118),c(2," Copy"),d())}function sM(e,n){e&1&&(u(0,"span"),h(1,"i",119),c(2," Copied"),d())}function aM(e,n){if(e&1){let t=te();u(0,"div")(1,"label",123),c(2,"Thank you for becoming a sponsor. Here's your license:"),d(),u(3,"textarea",124),c(4),d(),u(5,"button",117),R("click",function(){x(t);let i=D(2);return M(i.copy())}),O(6,oM,3,0,"span",26)(7,sM,3,0,"span",26),d()()}if(e&2){let t=D(2);m(4),de(t.license.license),m(2),_("ngIf",!t.licenseCopied),m(),_("ngIf",t.licenseCopied)}}function lM(e,n){if(e&1&&(u(0,"div",28),O(1,rM,8,3,"div",26)(2,iM,6,0,"div",26)(3,aM,8,3,"div",26),d()),e&2){let t=D();m(),_("ngIf",t.license.error),m(),_("ngIf",!t.license.error&&!t.license.isSponsor),m(),_("ngIf",!t.license.error&&t.license.isSponsor&&t.license.license)}}var Cy=(()=>{class e{get lifetimeLicense(){return this._lifetimeLicense}set lifetimeLicense(t){this._lifetimeLicense=t,this.lifetimeLicenseChangeTracked||(this.lifetimeLicenseChangeTracked=!0,this.trackingService.track("Licensetype changed"))}constructor(t,r,i){this.oauthService=t,this.licenseService=r,this.trackingService=i,this.paddleIndividualLicensePrice=_t.paddleIndividualLicensePrice,this.paddleTeamLicensePrice=_t.paddleTeamLicensePrice,this.paddleEnterpriseLicensePrice=_t.paddleEnterpriseLicensePrice,this.paddleIndividualLifetimeLicensePrice=_t.paddleIndividualLifetimeLicensePrice,this.paddleTeamLifetimeLicensePrice=_t.paddleTeamLifetimeLicensePrice,this.paddleEnterpriseLifetimeLicensePrice=_t.paddleEnterpriseLifetimeLicensePrice,this.paddleIndividualLicensePriceDetails=null,this.paddleTeamLicensePriceDetails=null,this.paddleEnterpriseLicensePriceDetails=null,this.paddleIndividualLifetimeLicensePriceDetails=null,this.paddleTeamLifetimeLicensePriceDetails=null,this.paddleEnterpriseLifetimeLicensePriceDetails=null,this.licenseRequested=!1,this.licenseCopied=!1,this.license=null,this.enablePaddle=!0,this.trialDisabled=!1,this.includeVatInPrice=!0,this.requestTrialData={name:"",email:""},this.paddleLicenseRequested=!1,this.paddleLicense=null,this.copiedPaddledLicenses=[],this.self=this,this.lifetimeLicenseChangeTracked=!1,this._lifetimeLicense=!0,window.paddleCheckoutComplete=o=>{this.paddleCheckoutComplete(o)},J.paddleEnvironment&&(window.Paddle.Environment.set(J.paddleEnvironment),console.log("Paddle environment: "+J.paddleEnvironment)),window.Paddle.Setup({vendor:J.paddleVendorId}),window.Paddle.Product.Prices(J.paddleIndividualLicense,o=>{this.paddleIndividualLicensePriceDetails=o.recurring.price,this.paddleIndividualLicensePrice=this.includeVatInPrice?o.recurring.price.gross:o.recurring.price.net}),window.Paddle.Product.Prices(J.paddleTeamLicense,o=>{this.paddleTeamLicensePriceDetails=o.recurring.price,this.paddleTeamLicensePrice=this.includeVatInPrice?o.recurring.price.gross:o.recurring.price.net}),window.Paddle.Product.Prices(J.paddleEnterpriseLicense,o=>{this.paddleEnterpriseLicensePriceDetails=o.recurring.price,this.paddleEnterpriseLicensePrice=this.includeVatInPrice?o.recurring.price.gross:o.recurring.price.net}),window.Paddle.Product.Prices(J.paddleIndividualLifetimeLicense,o=>{this.paddleIndividualLifetimeLicensePriceDetails=o.price,this.paddleIndividualLifetimeLicensePrice=this.includeVatInPrice?o.price.gross:o.price.net}),window.Paddle.Product.Prices(J.paddleTeamLifetimeLicense,o=>{this.paddleTeamLifetimeLicensePriceDetails=o.price,this.paddleTeamLifetimeLicensePrice=this.includeVatInPrice?o.price.gross:o.price.net}),window.Paddle.Product.Prices(J.paddleEnterpriseLifetimeLicense,o=>{this.paddleEnterpriseLifetimeLicensePriceDetails=o.price,this.paddleEnterpriseLifetimeLicensePrice=this.includeVatInPrice?o.price.gross:o.price.net})}ngOnInit(){let t=this.oauthService.validateStateAndExtractCode();t!==null?(console.log("Code received",t),this.licenseRequested=!0,this.licenseService.getLicense(t).subscribe({next:r=>{console.log("Received license response"),this.license=r,this.scrollToGithub()},error:r=>{console.error(r),this.license=new fl,this.license.error="Unable to generate license.",this.scrollToGithub()},complete:()=>console.info("complete")})):console.log("No code available"),location.href.indexOf("?source=trial")>-1&&this.trackingService.track("Trial2Pro"),this.requestTrialModal=new window.bootstrap.Modal("#requestTrialModal");try{this.trialDisabled=window.localStorage.getItem("trialRequested")!==null}catch{}}requestLicense(){this.licenseRequested=!0,this.oauthService.initCodeFlow()}copy(){try{navigator.clipboard.writeText(this.license.license),this.licenseCopied=!0}catch(t){console.error("Failed to copy license",t)}}copyPaddle(t){try{navigator.clipboard.writeText(t),this.copiedPaddledLicenses.push(t)}catch(r){console.error("Failed to copy paddle license",r)}}scrollToGithub(){return document.querySelector("#github").scrollIntoView(!0),!1}scrollToPaddle(){return document.querySelector("#paddle").scrollIntoView(!0),!1}requestTrial(){this.requestTrialModal.show(),this.trackingService.track("Trial-Started")}completeTrial(){console.log("Trial completed"),this.requestTrialModal.hide(),this.paddleLicenseRequested=!0,this.licenseService.getTrialLicense(this.requestTrialData).subscribe({next:t=>{console.log("Received trial license response"),this.paddleLicense=t,this.scrollToPaddle();try{window.localStorage.setItem("trialRequested","true"),this.trialDisabled=!0}catch{}this.trackingService.track("Trial-Completed")},error:t=>{console.error(t),this.paddleLicense=new Io,this.paddleLicense.error="Unable to generate trial license."},complete:()=>{console.info("complete"),this.requestTrialData={name:"",email:""}}})}openPaddleCheckout(t){t==="enterprise"?window.Paddle.Checkout.open({product:this.lifetimeLicense?J.paddleEnterpriseLifetimeLicense:J.paddleEnterpriseLicense,successCallback:"paddleCheckoutComplete"}):t==="team"?window.Paddle.Checkout.open({product:this.lifetimeLicense?J.paddleTeamLifetimeLicense:J.paddleTeamLicense,successCallback:"paddleCheckoutComplete"}):window.Paddle.Checkout.open({product:this.lifetimeLicense?J.paddleIndividualLifetimeLicense:J.paddleIndividualLicense,successCallback:"paddleCheckoutComplete"}),this.trackingService.track("Paddle-Started",{props:{product:t,lifetimeLicense:this.lifetimeLicense}})}paddleCheckoutComplete(t){console.log("Checkout completed",t),this.paddleLicenseRequested=!0,this.licenseService.getPaddleLicense(t).subscribe({next:r=>{console.log("Received paddle license response"),this.paddleLicense=r,this.scrollToPaddle(),this.trackingService.track("Paddle-Completed",{props:{product:t.product.name,lifetimeLicense:this.lifetimeLicense}})},error:r=>{console.error(r),this.paddleLicense=new Io,this.paddleLicense.error="Unable to generate Paddle license."},complete:()=>console.info("complete")})}getPriceTooltip(t,r){return this.lifetimeLicense&&t?`Net: ${t.net}
- VAT/Tax: ${t.tax}
- Gross/Total: ${t.gross}`:!this.lifetimeLicense&&r?`Net: ${r.net}
- VAT/Tax: ${r.tax}
- Gross/Total: ${r.gross}`:"-"}handleTooltipClick(){return!1}static{this.\u0275fac=function(r){return new(r||e)(T(pl),T(ci),T(yy))}}static{this.\u0275cmp=le({type:e,selectors:[["app-pro-component"]],decls:279,vars:27,consts:[["trialForm","ngForm"],[1,"container"],[1,"mb-4"],[1,"row"],[1,"col-xs-12","col-md-6","order-2","order-md-1"],[1,"table"],["scope","col"],["scope","col",1,"text-center"],[1,"pro-button"],["scope","row"],["fragment","metrics","title","Show feature details",3,"routerLink"],[1,"fa-solid","fa-circle-info","text-secondary"],[1,"text-center"],[1,"fa-solid","fa-circle-check","text-secondary"],["fragment","riskhotspots","title","Show feature details",3,"routerLink"],["title","Show feature details",3,"routerLink"],[1,"fa-solid","fa-circle-check","pro-text"],["fragment","rawmode","title","Show feature details",3,"routerLink"],[1,"col-xs-12","col-md-6","order-1","order-md-2"],["href","",3,"click"],[3,"routerLink"],["id","paddle",1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"text-center","mb-3"],["class","togglecontainer",4,"ngIf"],["class","row",4,"ngIf"],[1,"mt-5"],[4,"ngIf"],["id","github",1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"col-xs-12","col-md-6","pb-3"],[1,"fs-2","me-3","number"],["href","https://github.com/sponsors/danielpalme","target","_blank",1,"btn","btn-outline-dark"],[1,"fa-solid","fa-heart","githubheart"],["type","button",1,"btn","btn-primary","me-3",3,"click","disabled"],[1,"fa-solid","fa-rocket"],["class","spinner-border text-info","role","status",4,"ngIf"],["class","col-md-6 pb-3 d-none d-lg-block position-relative",4,"ngIf"],["class","col-xs-12 col-md-6 pb-3",4,"ngIf"],[1,"container-fluid","mt-4","pt-5","pb-5","bg-light"],[1,"container","text-center"],[1,"row","mt-5","testimonial"],["href","https://twitter.com/fredyfx/status/1642807795828543488","target","_blank"],["loading","lazy","src","resources/twitter_light.webp","alt","Testimonial",1,"img-fluid"],["id","faq",1,"container","mt-5","pt-5","pb-5"],["id","accordionFaq",1,"accordion","accordion-flush"],[1,"accordion-item"],["id","headingOne",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseOne","aria-expanded","true","aria-controls","collapseOne",1,"accordion-button"],["id","collapseOne","aria-labelledby","headingOne","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse","show"],[1,"accordion-body"],["id","headingTwo",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseTwo","aria-expanded","false","aria-controls","collapseTwo",1,"accordion-button","collapsed"],["id","collapseTwo","aria-labelledby","headingTwo","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["id","headingThree",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseThree","aria-expanded","false","aria-controls","collapseThree",1,"accordion-button","collapsed"],["id","collapseThree","aria-labelledby","headingThree","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["id","headingFour",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseFour","aria-expanded","false","aria-controls","collapseFour",1,"accordion-button","collapsed"],["id","collapseFour","aria-labelledby","headingFour","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["id","headingFive",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseFive","aria-expanded","false","aria-controls","collapseFive",1,"accordion-button","collapsed"],["id","collapseFive","aria-labelledby","headingFive","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["href","https://www.paddle.com/about/procurement","target","_blank"],["tabindex","-1","id","requestTrialModal",1,"modal"],[1,"modal-dialog"],[1,"modal-content"],["method","post",3,"ngSubmit"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal","aria-label","Close",1,"btn-close"],[1,"modal-body"],[1,"form-floating","mb-3"],["type","text","id","name","name","name","required","","maxlength","150","placeholder","Name",1,"form-control",3,"ngModelChange","ngModel"],["for","name"],[1,"required"],["type","email","id","email","name","email","required","","email","","maxlength","150","placeholder","Email address",1,"form-control",3,"ngModelChange","ngModel"],["for","email"],[1,"modal-footer"],["type","button","data-bs-dismiss","modal",1,"btn","btn-secondary"],["type","submit",1,"btn","btn-primary",3,"disabled"],[1,"togglecontainer"],[1,"option",3,"click","ngClass"],[1,"fa-solid","fa-rotate-right"],[1,"fa-solid","fa-infinity"],[1,"col-xs-12","col-md-6","col-lg-3","mt-0","pb-3","text-center","paddle-container"],[1,"paddle","trial"],["src","resources/trial.svg","alt","Trial",1,"img-fluid"],[1,"mt-3"],[1,"fa-solid","fa-magnifying-glass"],[1,"fa-solid","fa-calendar-days"],["type","button","class","btn btn-primary",3,"disabled","click",4,"ngIf"],["type","button","class","btn btn-primary","disabled","",4,"ngIf"],[1,"col-xs-12","col-md-6","col-lg-3","mt-4","mt-md-0","pb-3","text-center","paddle-container"],[1,"paddle"],["src","resources/individual.svg","alt","Individual",1,"img-fluid"],[1,"fa-solid","fa-user"],["type","button","class","btn btn-primary",3,"click",4,"ngIf"],[1,"col-xs-12","col-md-6","col-lg-3","mt-4","mt-lg-0","pb-3","text-center","paddle-container"],["src","resources/team.svg","alt","Team",1,"img-fluid"],[1,"fa-solid","fa-users"],[1,"col-xs-6","col-md-6","col-lg-3","mt-4","mt-lg-0","pb-3","text-center","paddle-container"],["src","resources/enterprise.svg","alt","Enterprise",1,"img-fluid"],[1,"fa-solid","fa-industry"],["type","button",1,"btn","btn-primary",3,"click","disabled"],["type","button","disabled","",1,"btn","btn-primary"],["href","#","bootstraptooltip","","data-bs-html","true",1,"text-secondary","fs-6",3,"click"],[1,"fa-solid","fa-circle-info"],["type","button",1,"btn","btn-primary",3,"click"],[1,"fa-solid","fa-cart-shopping"],["class","col-xs-12 col-md-6",4,"ngIf"],[1,"col-xs-12","col-md-6"],["role","status",1,"spinner-border","text-info"],[1,"visually-hidden"],[1,"position-relative","ms-4"],["for","paddlelicensetext"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-2"],["id","paddlelicensetext","rows","5","readonly","",1,"form-control"],[1,"btn","btn-outline-dark","mt-2",3,"click"],[1,"fa-solid","fa-copy"],[1,"fa-solid","fa-check","text-success"],[1,"col-md-6","pb-3","d-none","d-lg-block","position-relative"],[1,"fa-solid","fa-heart","githubheartlarge"],["href","https://github.com/sponsors/danielpalme","target","_blank"],["for","licensetext"],["id","licensetext","rows","5","readonly","",1,"form-control","mt-2"]],template:function(r,i){if(r&1){let o=te();u(0,"div",1)(1,"h1",2),c(2,"PRO"),d(),u(3,"div",3)(4,"div",4)(5,"table",5)(6,"thead")(7,"tr"),h(8,"th",6),u(9,"th",7),c(10,"Free"),d(),u(11,"th",7)(12,"span",8),c(13,"PRO"),d()()()(),u(14,"tbody")(15,"tr")(16,"th",9),c(17,"Metrics "),u(18,"a",10),h(19,"i",11),d()(),u(20,"td",12),h(21,"i",13),d(),u(22,"td",12),h(23,"i",13),d()(),u(24,"tr")(25,"th",9),c(26,"Risk Hotspots "),u(27,"a",14),h(28,"i",11),d()(),u(29,"td",12),h(30,"i",13),d(),u(31,"td",12),h(32,"i",13),d()(),u(33,"tr")(34,"th",9),c(35,"Line coverage "),u(36,"a",15),h(37,"i",11),d()(),u(38,"td",12),h(39,"i",13),d(),u(40,"td",12),h(41,"i",13),d()(),u(42,"tr")(43,"th",9),c(44,"Branch coverage "),u(45,"a",15),h(46,"i",11),d()(),u(47,"td",12),h(48,"i",13),d(),u(49,"td",12),h(50,"i",13),d()(),u(51,"tr")(52,"th",9),c(53,"Method coverage "),u(54,"a",15),h(55,"i",11),d()(),h(56,"td",12),u(57,"td",12),h(58,"i",16),d()(),u(59,"tr")(60,"th",9),c(61,"Metrics on summary page "),u(62,"a",10),h(63,"i",11),d()(),h(64,"td",12),u(65,"td",12),h(66,"i",16),d()(),u(67,"tr")(68,"th",9)(69,"i"),c(70,"OpenCover"),d(),c(71," output format"),d(),h(72,"td",12),u(73,"td",12),h(74,"i",16),d()(),u(75,"tr")(76,"th",9),c(77,"Raw mode (for "),u(78,"i"),c(79,"Cobertura"),d(),c(80," and "),u(81,"i"),c(82,"dotCover"),d(),c(83,") "),u(84,"a",17),h(85,"i",11),d()(),h(86,"td",12),u(87,"td",12),h(88,"i",16),d()()()()(),u(89,"div",18)(90,"p")(91,"i"),c(92,"ReportGenerator"),d(),c(93," is Open Source and free to use."),h(94,"br"),c(95," Some of the advanced features require a PRO license. "),d(),u(96,"p"),c(97," You can either "),u(98,"a",19),R("click",function(){return x(o),M(i.scrollToPaddle())}),c(99,"buy a license"),d(),c(100," or you can become a "),u(101,"a",19),R("click",function(){return x(o),M(i.scrollToGithub())}),c(102,"GitHub sponsor"),d(),c(103,"."),h(104,"br"),c(105," A "),u(106,"a",19),R("click",function(){return x(o),M(i.scrollToPaddle())}),c(107,"free trial version"),d(),c(108," is available too. "),d(),u(109,"p"),c(110," Get "),u(111,"a",20),c(112,"in touch"),d(),c(113," if you have any issues and we will figure it out. "),d()()()(),u(114,"section",21)(115,"div",1)(116,"h2",2),c(117,"Buy a license"),d(),u(118,"div",22),O(119,xx,7,6,"span",23),d(),O(120,zx,64,20,"div",24)(121,Jx,3,2,"div",24),u(122,"div",25),O(123,eM,4,0,"p",26),u(124,"p"),c(125,"The order process is conducted by Paddle.com. Paddle.com is the Merchant of Record for all orders. Paddle provides all customer service inquiries and handles returns."),d()()()(),u(126,"section",27)(127,"div",1)(128,"h2",2),c(129,"Get your license as a GitHub sponsor"),d(),u(130,"div",3)(131,"div",28)(132,"p"),c(133,"You can obtain your license in two easy steps (no sign up required):"),d(),u(134,"span",29),c(135,"1."),d(),u(136,"a",30),h(137,"i",31),c(138," Become a GitHub sponsor"),d(),h(139,"br"),u(140,"span",29),c(141,"2."),d(),u(142,"button",32),R("click",function(){return x(o),M(i.requestLicense())}),h(143,"i",33),c(144," Get license"),d(),O(145,tM,3,0,"div",34),d(),O(146,nM,2,0,"div",35)(147,lM,4,3,"div",36),d()()(),h(148,"app-testimonials"),u(149,"section",37)(150,"div",38)(151,"h3"),c(152,"Customers"),d(),u(153,"div",39)(154,"a",40),h(155,"img",41),d()()()(),u(156,"section",42)(157,"h2",2),c(158,"Frequently Asked Questions"),d(),u(159,"div",43)(160,"div",44)(161,"h2",45)(162,"button",46),c(163," How do I use/activate my license? "),d()(),u(164,"div",47)(165,"div",48),c(166," You can apply the license with the following command line parameter "),u(167,"code"),c(168,"-license:YOUR_KEY"),d(),c(169," or via the "),u(170,"code"),c(171,"REPORTGENERATOR_LICENSE"),d(),c(172," environment variable. "),d()()(),u(173,"div",44)(174,"h2",49)(175,"button",50),c(176," Are there limitations on number of users? "),d()(),u(177,"div",51)(178,"div",48)(179,"b"),c(180,"GitHub sponsors"),d(),h(181,"br"),u(182,"p"),c(183,"There's no enforced limit. Please pick a sponsor level that fits your company size and budget."),d(),u(184,"b"),c(185,"Bought license"),d(),h(186,"br"),u(187,"p"),c(188,"There's no enforced limit. Please choose a plan that matches the number of developers using "),u(189,"i"),c(190,"ReportGenerator"),d(),c(191,"."),d()()()(),u(192,"div",44)(193,"h2",52)(194,"button",53),c(195," Will my license expire? "),d()(),u(196,"div",54)(197,"div",48)(198,"b"),c(199,"GitHub sponsors"),d(),h(200,"br"),u(201,"p"),c(202,"Your license will not expire."),d(),u(203,"b"),c(204,"Bought license"),d(),h(205,"br"),u(206,"p")(207,"b"),c(208,"Annual subscription"),d(),c(209,": Your license may get revoked for new releases of "),u(210,"i"),c(211,"ReportGenerator"),d(),c(212,", if you cancel your subscription."),h(213,"br"),u(214,"b"),c(215,"Lifetime licenses"),d(),c(216,": Lifetime licenses will not expire. "),d()()()(),u(217,"div",44)(218,"h2",55)(219,"button",56),c(220," Will I get updates and upgrades for lifetime? "),d()(),u(221,"div",57)(222,"div",48)(223,"b"),c(224,"GitHub sponsors"),d(),h(225,"br"),u(226,"p"),c(227,"Yes"),d(),u(228,"b"),c(229,"Bought license"),d(),h(230,"br"),u(231,"p")(232,"b"),c(233,"Annual subscription"),d(),c(234,": Not if you cancel your subscription"),h(235,"br"),u(236,"b"),c(237,"Lifetime licenses"),d(),c(238,": Yes "),d()()()(),u(239,"div",44)(240,"h2",58)(241,"button",59),c(242," I require a W-8/W-9 form? "),d()(),u(243,"div",60)(244,"div",48),c(245," Please contact our online reseller "),u(246,"a",61),c(247,"Paddle.com"),d(),c(248,". "),u(249,"i"),c(250,"Paddle.com"),d(),c(251," is the Merchant of Record for all orders and is responsible for providing these documents. "),d()()()()(),u(252,"div",62)(253,"div",63)(254,"div",64)(255,"form",65,0),R("ngSubmit",function(){return x(o),M(i.completeTrial())}),u(257,"div",66)(258,"h5",67),c(259,"Free Trial"),d(),h(260,"button",68),d(),u(261,"div",69)(262,"div",70)(263,"input",71),H("ngModelChange",function(a){return x(o),z(i.requestTrialData.name,a)||(i.requestTrialData.name=a),M(a)}),d(),u(264,"label",72),c(265,"Name "),u(266,"span",73),c(267,"*"),d()()(),u(268,"div",70)(269,"input",74),H("ngModelChange",function(a){return x(o),z(i.requestTrialData.email,a)||(i.requestTrialData.email=a),M(a)}),d(),u(270,"label",75),c(271,"Email address "),u(272,"span",73),c(273,"*"),d()()()(),u(274,"div",76)(275,"button",77),c(276,"Close"),d(),u(277,"button",78),c(278,"Get trial license"),d()()()()()()}if(r&2){let o=Vr(256);m(18),_("routerLink",j(19,tr)),m(9),_("routerLink",j(20,tr)),m(9),_("routerLink",j(21,tr)),m(9),_("routerLink",j(22,tr)),m(9),_("routerLink",j(23,tr)),m(8),_("routerLink",j(24,tr)),m(22),_("routerLink",j(25,tr)),m(27),_("routerLink",j(26,hf)),m(8),_("ngIf",!i.paddleLicenseRequested),m(),_("ngIf",!i.paddleLicenseRequested),m(),_("ngIf",i.paddleLicenseRequested),m(2),_("ngIf",!i.lifetimeLicense),m(19),_("disabled",i.licenseRequested),m(3),_("ngIf",i.licenseRequested&&!i.license),m(),_("ngIf",!i.license),m(),_("ngIf",i.license),m(116),U("ngModel",i.requestTrialData.name),m(6),U("ngModel",i.requestTrialData.email),m(8),_("disabled",!o.valid)}},dependencies:[be,jr,Gn,zn,Ft,bn,Pt,En,wn,tn,bo,wo,en,Jt,dl,vy],styles:[".number[_ngcontent-%COMP%]{display:inline-block;position:relative;top:8px}.spinner-border[_ngcontent-%COMP%]{position:relative;top:9px}.paddle-container[_ngcontent-%COMP%]{padding:10px}.paddle[_ngcontent-%COMP%]{border:1px solid #8c8888;border-radius:20px;padding:20px;background-color:#d8e8f0}.trial[_ngcontent-%COMP%]{background-color:#b2cad7}.githubheartlarge[_ngcontent-%COMP%]{position:absolute;top:-120px;left:40%;font-size:20rem;color:#ffd2ed}.togglecontainer[_ngcontent-%COMP%]{background-color:#fff;display:inline-block;border-radius:20px;white-space:nowrap}.togglecontainer[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{background-color:#fff;padding:8px 15px;border-radius:20px;cursor:pointer;display:inline-block}.togglecontainer[_ngcontent-%COMP%] .option.active[_ngcontent-%COMP%]{color:#fff;background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}@media only screen and (max-width: 400px){.togglecontainer[_ngcontent-%COMP%] .option[_ngcontent-%COMP%] .fa-solid[_ngcontent-%COMP%]{display:none}}.testimonial[_ngcontent-%COMP%]{max-width:550px;margin:auto}"]})}}return e})();var nn=class{constructor(n,t,r,i,o,s){this.name=n,this.url=t,this.runtimes=r,this.description=i,this.installOptions=o,this.executables=s}formatExecutable(n){return n.tool}formatArgument(n,t){if(t=t.trim(),t==="")return"";let r=t.indexOf(" ")>-1?'"':"";return`\r -${r}-${n}:${t}${r}`}formatArguments(n,t){return this.formatArgument(n,t.filter(r=>r!=null&&r.length!==0&&r.trim().length!==0).join(";"))}};var hl=class extends nn{formatExecutable(n){let t=`- task: ${n.tool}@${Ae.majorVersion}`;return t+=`\r - displayName: ReportGenerator`,t+=`\r - inputs:`,t}formatArgument(n,t){if(t=t.trim(),t==="")return"";let r=t.indexOf(" ")>-1?"'":"";return`\r - ${n}: ${r}${t}${r}`}};var ml=class{constructor(){this.verbosities=["Verbose","Info","Warning","Error","Off"],this.types=["Html","Coverage tool","Json","Markdown","Xml","Text","Image"],this.reports=["cobertura.xml"],this.targetdir="coveragereport",this.reporttypes=[{name:"Html",types:["Html"],description:"The default output format. Creates a summary overview (index.html) and detailed reports for each class.",requiresHistoryDir:!1,checked:!0,sampleReport:"resources/reports/Html/index.html"},{name:"Html_Light",types:["Html"],description:"Same as Html but with a light theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Light/index.html"},{name:"Html_Dark",types:["Html"],description:"Same as Html but with a dark theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Dark/index.html"},{name:"Html_BlueRed",types:["Html"],description:"Same as Html but with the colors blue/red instead of green/red.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_BlueRed/index.html"},{name:"HtmlSummary",types:["Html"],description:"Creates a single HTML file (summary.html) without links.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlSummary/summary.html"},{name:"Html_BlueRed_Summary",types:["Html"],description:"Same as HtmlSummary but with the colors blue/red instead of green/red.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_BlueRed_Summary/summary.html"},{name:"HtmlChart",types:["Html"],description:"Creates a single HTML file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/HtmlChart/CoverageHistory.html"},{name:"HtmlInline",types:["Html"],description:"Same as HTML but CSS and JavaScript is included in every HTML page. This results in larger file sizes, but can be useful for integration into build servers like Azure DevOps (VSTS), since they may block referenced CSS and JavaScript files.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline/index.html"},{name:"HtmlInline_AzurePipelines",types:["Html"],description:"Same as HtmlInline but with an adaptive light/dark theme matching the look and feel of Azure Pipelines",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines/index.html"},{name:"HtmlInline_AzurePipelines_Light",types:["Html"],description:"Same as HtmlInline but with a light theme matching the look and feel of Azure Pipelines.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines_Light/index.html"},{name:"HtmlInline_AzurePipelines_Dark",types:["Html"],description:"Same as HtmlInline but with a dark theme matching the look and feel of Azure Pipelines.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines_Dark/index.html"},{name:"MHtml",types:["Html"],description:"Same as HTML but packaged into a single MHTML file.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MHtml/Summary.mht"},{name:"Clover",types:["Coverage tool"],description:"Creates a XML file in Clover format. This format integrates with tools like Atlassian Bamboo.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Clover/Clover.xml"},{name:"Cobertura",types:["Coverage tool"],description:"Creates a XML file in Cobertura format. This format integrates with tools like Azure DevOps (VSTS) or Jenkins.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Cobertura/Cobertura.xml"},{name:"OpenCover",types:["Coverage tool"],description:"Creates a XML file in OpenCover format (PRO version only).",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/OpenCover/OpenCover.xml"},{name:"SonarQube",types:["Coverage tool"],description:"Creates a XML file in SonarQube 'Generic Test Data' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/SonarQube/SonarQube.xml"},{name:"lcov",types:["Coverage tool"],description:"Creates a text file in 'lcov' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/lcov/lcov.info"},{name:"XML",types:["Xml"],description:"Creates a XML file containing a summary for all classes and detailed reports for each class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Xml/Summary.xml"},{name:"XMLSummary",types:["Xml"],description:"Creates a single XML file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/XmlSummary/Summary.xml"},{name:"JsonSummary",types:["Json"],description:"Creates a single JSON file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/JsonSummary/Summary.json"},{name:"CodeClimate",types:["Json"],description:"Creates a single JSON file containing a (Gitlab) code climate report.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/CodeClimate/codeclimate.json"},{name:"Latex",types:["Text"],description:"Creates a single TEX file containing a summary for all classes and detailed reports for each class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Summary/Summary.tex"},{name:"LatexSummary",types:["Text"],description:"Creates a single TEX file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/LatexSummary/Summary.tex"},{name:"TeamCitySummary",types:["Coverage tool"],description:"Command line output interpreted by TeamCity.",requiresHistoryDir:!1,checked:!1,sampleReport:null},{name:"TextSummary",types:["Text"],description:"Creates a single TXT file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/TextSummary/Summary.txt"},{name:"TextDeltaSummary",types:["Text"],description:"Creates a single TXT file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/TextDeltaSummary/DeltaSummary.txt"},{name:"CsvSummary",types:["Text"],description:"Creates a single CSV file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/CsvSummary/Summary.csv"},{name:"MarkdownSummary",types:["Text","Markdown"],description:"Creates a single Markdown file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownSummary/Summary.md"},{name:"MarkdownAssembliesSummary",types:["Text","Markdown"],description:"Creates a single Markdown file containing coverage information per assembly.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownAssembliesSummary/Summary.md"},{name:"MarkdownSummaryGithub",types:["Text","Markdown"],description:"Creates a single Markdown file containing coverage information per class. The report is optimized for GitHub.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownSummaryGithub/SummaryGithub.md"},{name:"MarkdownDeltaSummary",types:["Text","Markdown"],description:"Creates a single Markdown file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/MarkdownDeltaSummary/DeltaSummary.md"},{name:"SvgChart",types:["Image"],description:"Creates a single SVG file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/SvgChart/CoverageHistory.svg"},{name:"Badges",types:["Image"],description:"Creates SVG files that show line and/or branch coverage information.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Badges/index.html"}],this.sourcedirectories=[],this.historydir="",this.plugins=[],this.assemblyfilters=[],this.classfilters=[],this.filefilters=[],this.riskhotspotassemblyfilters=[],this.riskhotspotclassfilters=[],this.selectedverbosity=this.verbosities[1],this.selectedType=null,this.title="",this.tag="",this.license=""}addSourceDirectory(){return this.sourcedirectories.push(""),!1}removeSourceDirectory(n){return this.sourcedirectories.splice(n,1),!1}addReport(){return this.reports.push(""),!1}removeReport(n){return this.reports.splice(n,1),!1}addPlugin(){return this.plugins.push(""),!1}removePlugin(n){return this.plugins.splice(n,1),!1}addAssemblyFilter(){return this.assemblyfilters.push(""),!1}removeAssemblyFilter(n){return this.assemblyfilters.splice(n,1),!1}addClassFilter(){return this.classfilters.push(""),!1}removeClassFilter(n){return this.classfilters.splice(n,1),!1}addFileFilter(){return this.filefilters.push(""),!1}removeFileFilter(n){return this.filefilters.splice(n,1),!1}addRiskHotspotAssemblyFilter(){return this.riskhotspotassemblyfilters.push(""),!1}removeRiskHotspotAssemblyFilter(n){return this.riskhotspotassemblyfilters.splice(n,1),!1}addRiskHotspotClassFilter(){return this.riskhotspotclassfilters.push(""),!1}removeRiskHotspotClassFilter(n){return this.riskhotspotclassfilters.splice(n,1),!1}getUsage(n,t){let r=n.executables.find(a=>a.runtime==t),i=r!==void 0?n.formatExecutable(r):"";i+=n.formatArguments("reports",this.reports),i+=n.formatArgument("targetdir",this.targetdir);for(var o="",s=0;s0&&(o+=";"),o+=this.reporttypes[s].name);return o.length>0&&o!=="Html"&&(i+=n.formatArgument("reporttypes",o)),i+=n.formatArguments("sourcedirs",this.sourcedirectories),i+=n.formatArgument("historydir",this.historydir),i+=n.formatArguments("plugins",this.plugins),i+=n.formatArguments("assemblyfilters",this.assemblyfilters),i+=n.formatArguments("classfilters",this.classfilters),i+=n.formatArguments("filefilters",this.filefilters),i+=n.formatArguments("riskhotspotassemblyfilters",this.riskhotspotassemblyfilters),i+=n.formatArguments("riskhotspotclassfilters",this.riskhotspotclassfilters),this.selectedverbosity!=="Info"&&(i+=n.formatArgument("verbosity",this.selectedverbosity)),i+=n.formatArgument("title",this.title),i+=n.formatArgument("tag",this.tag),i+=n.formatArgument("license",this.license),i}historyDirRequired(){for(let n=0;n-1?"'":"";return`\r - ${n}: ${r}${t}${r}`}};var ui=class{constructor(n,t){this.tool=n,this.command=t}};var cM=()=>["/pro"],uM=e=>({"input-group":e}),dM=(e,n)=>({"btn-outline-primary":e,"btn-primary":n});function fM(e,n){if(e&1){let t=te();u(0,"div",36)(1,"label",37)(2,"input",38),H("ngModelChange",function(i){x(t);let o=D();return z(o.selectedEnvironment,i)||(o.selectedEnvironment=i),M(i)}),R("ngModelChange",function(){x(t);let i=D();return M(i.selectedEnvironmentChanged())}),d(),u(3,"b"),c(4),d(),h(5,"br"),u(6,"div",39),c(7),d()()()}if(e&2){let t=n.$implicit,r=D();m(2),U("ngModel",r.selectedEnvironment),_("value",t)("checked",r.selectedEnvironment.name===t.name),m(2),de(t.name),m(3),de(t.description)}}function pM(e,n){if(e&1){let t=te();u(0,"div",36)(1,"label",37)(2,"input",42),H("ngModelChange",function(i){x(t);let o=D(3);return z(o.selectedPackage,i)||(o.selectedPackage=i),M(i)}),d(),u(3,"b"),c(4),d(),h(5,"br"),u(6,"div",39),c(7),d()()()}if(e&2){let t=D().$implicit,r=D(2);m(2),U("ngModel",r.selectedPackage),_("value",t),m(2),de(t.name),m(3),de(t.description)}}function hM(e,n){if(e&1&&(Oe(0),O(1,pM,8,4,"div",41),Pe()),e&2){let t=n.$implicit,r=D(2);m(),_("ngIf",t.runtimes.indexOf(r.selectedEnvironment.name)>-1)}}function mM(e,n){if(e&1&&(Oe(0),u(1,"h4"),c(2,"NuGet Package"),d(),O(3,hM,2,1,"ng-container",40),h(4,"hr"),Pe()),e&2){let t=D();m(3),_("ngForOf",t.packages)}}function gM(e,n){if(e&1){let t=te();u(0,"span",46),R("click",function(){x(t);let i=D().index,o=D();return M(o.configuration.removeReport(i))}),u(1,"a",47),h(2,"i",48),d()()}}function vM(e,n){if(e&1){let t=te();u(0,"div",39)(1,"div",43)(2,"input",44),H("ngModelChange",function(i){let o=x(t).index,s=D();return z(s.configuration.reports[o],i)||(s.configuration.reports[o]=i),M(i)}),d(),O(3,gM,3,0,"span",45),d()()}if(e&2){let t=n.index,r=D();m(),_("ngClass",qn(5,uM,t>0)),m(),At("name","report_",t,""),U("ngModel",r.configuration.reports[t]),m(),_("ngIf",t>0)}}function yM(e,n){if(e&1){let t=te();u(0,"button",49),R("click",function(){let i=x(t).$implicit,o=D();return M(o.configuration.selectedType=o.configuration.selectedType===i?null:i)}),c(1),d()}if(e&2){let t=n.$implicit,r=D();_("ngClass",Jm(2,dM,t!==r.configuration.selectedType,t===r.configuration.selectedType)),m(),de(t)}}function _M(e,n){if(e&1){let t=te();u(0,"span",54),h(1,"i",55),c(2," Please specify a "),u(3,"a",10),R("click",function(){x(t);let i=D(3);return M(i.scrollToHistoryDir())}),c(4,"history directory"),d()()}}function CM(e,n){if(e&1&&(Oe(0),h(1,"br",56),u(2,"a",30),c(3,"Sample report"),d(),c(4,"\xA0"),u(5,"a",30),h(6,"i",57),d(),Pe()),e&2){let t=D(2).$implicit;m(2),_("href",t.sampleReport,Lr),m(3),_("href",t.sampleReport,Lr)}}function DM(e,n){if(e&1){let t=te();u(0,"div",51)(1,"label",37)(2,"input",52),R("change",function(){x(t);let i=D().$implicit;return M(i.checked=!i.checked)}),d(),u(3,"b"),c(4),d(),O(5,_M,5,0,"span",53),h(6,"br"),u(7,"div",39),c(8),O(9,CM,7,2,"ng-container",6),d()()()}if(e&2){let t=D().$implicit,r=D();m(2),_("checked",t.checked),m(2),de(t.name),m(),_("ngIf",t.checked&&t.requiresHistoryDir&&!r.configuration.historydir),m(3),Fe("",t.description," "),m(),_("ngIf",t.sampleReport)}}function EM(e,n){if(e&1&&(Oe(0),O(1,DM,10,5,"div",50),Pe()),e&2){let t=n.$implicit,r=D();m(),_("ngIf",!r.configuration.selectedType||t.types.indexOf(r.configuration.selectedType)>-1)}}function wM(e,n){if(e&1){let t=te();u(0,"div",9)(1,"div",58)(2,"input",59),H("ngModelChange",function(i){let o=x(t).index,s=D();return z(s.configuration.sourcedirectories[o],i)||(s.configuration.sourcedirectories[o]=i),M(i)}),d(),u(3,"span",46),R("click",function(){let i=x(t).index,o=D();return M(o.configuration.removeSourceDirectory(i))}),u(4,"a",47),h(5,"i",48),d()()()()}if(e&2){let t=n.index,r=D();m(2),At("name","sourcedir_",t,""),U("ngModel",r.configuration.sourcedirectories[t])}}function bM(e,n){if(e&1){let t=te();u(0,"div",9)(1,"div",58)(2,"input",60),H("ngModelChange",function(i){let o=x(t).index,s=D();return z(s.configuration.plugins[o],i)||(s.configuration.plugins[o]=i),M(i)}),d(),u(3,"span",46),R("click",function(){let i=x(t).index,o=D();return M(o.configuration.removePlugin(i))}),u(4,"a",47),h(5,"i",48),d()()()()}if(e&2){let t=n.index,r=D();m(2),At("name","plugin_",t,""),U("ngModel",r.configuration.plugins[t])}}function IM(e,n){if(e&1){let t=te();u(0,"div",9)(1,"div",58)(2,"input",61),H("ngModelChange",function(i){let o=x(t).index,s=D();return z(s.configuration.assemblyfilters[o],i)||(s.configuration.assemblyfilters[o]=i),M(i)}),d(),u(3,"span",46),R("click",function(){let i=x(t).index,o=D();return M(o.configuration.removeAssemblyFilter(i))}),u(4,"a",47),h(5,"i",48),d()()()()}if(e&2){let t=n.index,r=D();m(2),At("name","assemblyfilter_",t,""),U("ngModel",r.configuration.assemblyfilters[t])}}function SM(e,n){if(e&1){let t=te();u(0,"div",9)(1,"div",58)(2,"input",62),H("ngModelChange",function(i){let o=x(t).index,s=D();return z(s.configuration.classfilters[o],i)||(s.configuration.classfilters[o]=i),M(i)}),d(),u(3,"span",46),R("click",function(){let i=x(t).index,o=D();return M(o.configuration.removeClassFilter(i))}),u(4,"a",47),h(5,"i",48),d()()()()}if(e&2){let t=n.index,r=D();m(2),At("name","classfilter_",t,""),U("ngModel",r.configuration.classfilters[t])}}function xM(e,n){if(e&1){let t=te();u(0,"div",9)(1,"div",58)(2,"input",63),H("ngModelChange",function(i){let o=x(t).index,s=D();return z(s.configuration.filefilters[o],i)||(s.configuration.filefilters[o]=i),M(i)}),d(),u(3,"span",46),R("click",function(){let i=x(t).index,o=D();return M(o.configuration.removeFileFilter(i))}),u(4,"a",47),h(5,"i",48),d()()()()}if(e&2){let t=n.index,r=D();m(2),At("name","filefilter_",t,""),U("ngModel",r.configuration.filefilters[t])}}function MM(e,n){if(e&1){let t=te();u(0,"div",9)(1,"div",58)(2,"input",61),H("ngModelChange",function(i){let o=x(t).index,s=D();return z(s.configuration.riskhotspotassemblyfilters[o],i)||(s.configuration.riskhotspotassemblyfilters[o]=i),M(i)}),d(),u(3,"span",46),R("click",function(){let i=x(t).index,o=D();return M(o.configuration.removeRiskHotspotAssemblyFilter(i))}),u(4,"a",47),h(5,"i",48),d()()()()}if(e&2){let t=n.index,r=D();m(2),At("name","riskhotspotassemblyfilter_",t,""),U("ngModel",r.configuration.riskhotspotassemblyfilters[t])}}function TM(e,n){if(e&1){let t=te();u(0,"div",9)(1,"div",58)(2,"input",62),H("ngModelChange",function(i){let o=x(t).index,s=D();return z(s.configuration.riskhotspotclassfilters[o],i)||(s.configuration.riskhotspotclassfilters[o]=i),M(i)}),d(),u(3,"span",46),R("click",function(){let i=x(t).index,o=D();return M(o.configuration.removeRiskHotspotClassFilter(i))}),u(4,"a",47),h(5,"i",48),d()()()()}if(e&2){let t=n.index,r=D();m(2),At("name","riskhotspotclassfilter_",t,""),U("ngModel",r.configuration.riskhotspotclassfilters[t])}}function AM(e,n){if(e&1&&(u(0,"option",64),c(1),d()),e&2){let t=n.$implicit;_("value",t),m(),de(t)}}function NM(e,n){if(e&1&&(u(0,"div",65)(1,"b"),c(2),d(),h(3,"br"),u(4,"pre",33),c(5),d()()),e&2){let t=n.$implicit;m(2),de(t.tool),m(3),de(t.command)}}function RM(e,n){e&1&&(h(0,"i",66),c(1," Copied "))}function kM(e,n){e&1&&(h(0,"i",67),c(1," Copy "))}function OM(e,n){if(e&1&&(u(0,"div",65)(1,"b"),c(2),d(),h(3,"br"),u(4,"pre",33),c(5),d()()),e&2){let t=n.$implicit;m(2),de(t.tool),m(3),de(t.command)}}function PM(e,n){e&1&&(h(0,"i",66),c(1," Copied "))}function FM(e,n){e&1&&(h(0,"i",67),c(1," Copy "))}var Dy=(()=>{class e{constructor(){this.versions=Ae,this.lastResult="",this.usageCopied=!1,this.configuration=new ml,this.environments=[new nr(".NET",".NET Core"),new nr(".NET Framework","The full .NET framework"),new nr("Azure DevOps",null),new nr("Github Action",null)],this.packages=[new nn("ReportGenerator","https://www.nuget.org/packages/ReportGenerator",[".NET Framework",".NET"],"Use this package if your project is based on .NET Framework or .NET and you want to use ReportGenerator via the command line or a build script.",[new ui("Package Manager",`Install-Package ReportGenerator -Version ${Ae.version}`),new ui(".NET CLI",`dotnet add package ReportGenerator --version ${Ae.version}`)],[new In(".NET Framework",`$(UserProfile)\\.nuget\\packages\\reportgenerator\\${Ae.version}\\tools\\net47\\ReportGenerator.exe`),new In(".NET",`dotnet $(UserProfile)\\.nuget\\packages\\reportgenerator\\${Ae.version}\\tools\\net8.0\\ReportGenerator.dll`)]),new nn("dotnet-reportgenerator-globaltool","https://www.nuget.org/packages/dotnet-reportgenerator-globaltool",[".NET"],"Use this package if your project is based on .NET and you want to use ReportGenerator as a (global) 'DotnetTool'.",[new ui(".NET CLI",`dotnet tool install --global dotnet-reportgenerator-globaltool --version ${Ae.version}\r -\r -dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version ${Ae.version}\r -\r -dotnet new tool-manifest\r -dotnet tool install dotnet-reportgenerator-globaltool --version ${Ae.version}`)],[new In(".NET","reportgenerator")]),new hl("Azure DevOps","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator",["Azure DevOps"],"Use this package within Azure DevOps",[],[new In("Azure DevOps","reportgenerator")]),new gl("GitHub Action","https://github.com/marketplace/actions/reportgenerator",["Github Action"],"Use this package within Github Actions",[],[new In("Github Action","danielpalme/ReportGenerator-GitHub-Action")])],this.selectedEnvironment=this.environments[0],this.selectedPackage=this.packages[0]}selectedEnvironmentChanged(){this.selectedPackage=this.packages.find(t=>t.runtimes.indexOf(this.selectedEnvironment.name)>-1)}severalPackagesAvailable(){return this.packages.filter(t=>t.runtimes.indexOf(this.selectedEnvironment.name)>-1).length>1}getUsage(){let t=this.configuration.getUsage(this.selectedPackage,this.selectedEnvironment.name);return this.lastResult!==t&&(this.lastResult=t,this.usageCopied=!1),t}copy(){try{navigator.clipboard.writeText(this.getUsage()),this.usageCopied=!0}catch(t){console.error("Failed to copy license",t)}}scrollToHistoryDir(){return document.querySelector("#historydir").scrollIntoView(!0),!1}trackByIndex(t,r){return t}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=le({type:e,selectors:[["app-usage-component"]],decls:280,vars:43,consts:[[1,"container"],[1,"mb-4"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Settings","target","_blank"],[1,"row"],[1,"col-md-7"],["class","form-check",4,"ngFor","ngForOf"],[4,"ngIf"],[1,"alert","alert-info"],["class","mb-3",4,"ngFor","ngForOf","ngForTrackBy"],[1,"input-group","mb-3"],["href","",3,"click"],[1,"fa","fa-plus-circle"],["type","text","name","targetdir","placeholder","The target directory","required","",1,"form-control",3,"ngModelChange","ngModel"],["href","https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip"],[1,"me-2"],["type","button","class","btn btn-sm me-1 mb-1",3,"ngClass","click",4,"ngFor","ngForOf","ngForTrackBy"],[4,"ngFor","ngForOf","ngForTrackBy"],["class","input-group mb-3",4,"ngFor","ngForOf","ngForTrackBy"],["id","historydir"],["type","text","name","historydir","placeholder","The history directory",1,"form-control",3,"ngModelChange","ngModel","required"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Custom-reports"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage"],["name","verbosity",1,"form-select",3,"ngModelChange","ngModel"],[3,"value",4,"ngFor","ngForOf","ngForTrackBy"],["type","text","name","title","placeholder","Title",1,"form-control",3,"ngModelChange","ngModel"],["type","text","name","tag","placeholder","Optional tag or build version",1,"form-control",3,"ngModelChange","ngModel"],[3,"routerLink"],["type","text","name","license","placeholder","Optional license for PRO version","rows","4",1,"form-control",3,"ngModelChange","ngModel"],[1,"col-md-5"],[1,"d-md-none","mt-5"],["target","_blank",3,"href"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-4"],[1,"text-dark","bg-light","p-2","border"],[1,"btn","btn-outline-dark","mt-2",3,"click"],[1,"d-none","d-md-block","sticky"],[1,"form-check"],[1,"form-check-label"],["type","radio","name","environment",1,"form-check-input",3,"ngModelChange","ngModel","value","checked"],[1,"mb-3"],[4,"ngFor","ngForOf"],["class","form-check",4,"ngIf"],["type","radio","name","package",1,"form-check-input",3,"ngModelChange","ngModel","value"],[3,"ngClass"],["type","text","placeholder","The path of the coverage file","required","",1,"form-control",3,"ngModelChange","name","ngModel"],["class","input-group-text",3,"click",4,"ngIf"],[1,"input-group-text",3,"click"],["href",""],[1,"fa","fa-trash","text-danger"],["type","button",1,"btn","btn-sm","me-1","mb-1",3,"click","ngClass"],["class","form-check mt-1",4,"ngIf"],[1,"form-check","mt-1"],["type","checkbox","name","reporttype",1,"form-check-input",3,"change","checked"],["class","text-danger ms-2",4,"ngIf"],[1,"text-danger","ms-2"],[1,"fa-solid","fa-triangle-exclamation"],[1,"mt-1"],[1,"fa-solid","fa-arrow-up-right-from-square"],[1,"input-group"],["type","text","placeholder","The source directory","required","",1,"form-control",3,"ngModelChange","name","ngModel"],["type","text","placeholder","The path of the plugin","required","",1,"form-control",3,"ngModelChange","name","ngModel"],["type","text","placeholder","The include or exclude filter for assemlies","pattern","^[+-].+$","required","",1,"form-control",3,"ngModelChange","name","ngModel"],["type","text","placeholder","The include or exclude filter for classes","pattern","^[+-].+$","required","",1,"form-control",3,"ngModelChange","name","ngModel"],["type","text","placeholder","The include or exclude filter for files","pattern","^[+-].+$","required","",1,"form-control",3,"ngModelChange","name","ngModel"],[3,"value"],[1,"mt-2"],[1,"fa-solid","fa-check","text-success"],[1,"fa-solid","fa-copy"]],template:function(r,i){r&1&&(u(0,"div",0)(1,"h1",1),c(2,"Usage"),d(),u(3,"p"),c(4,"The more advanced settings are documented in the "),u(5,"a",2),c(6,"wiki"),d(),c(7,"."),d(),u(8,"div",3)(9,"div",4)(10,"form")(11,"h3"),c(12,"Environment"),d(),O(13,fM,8,5,"div",5),h(14,"hr"),O(15,mM,5,1,"ng-container",6),u(16,"h3"),c(17,"Reports"),d(),u(18,"div",7),c(19,"Path to the coverage report(s) that should be parsed."),h(20,"br"),c(21,"Globbing is supported."),d(),O(22,vM,4,7,"div",8),u(23,"div",9)(24,"a",10),R("click",function(){return i.configuration.addReport()}),h(25,"i",11),c(26," Add report"),d()(),h(27,"br"),u(28,"h3"),c(29,"Target directory"),d(),u(30,"div",7),c(31,"The directory where the generated report(s) should be saved."),d(),u(32,"div",9)(33,"input",12),H("ngModelChange",function(s){return z(i.configuration.targetdir,s)||(i.configuration.targetdir=s),s}),d()(),h(34,"br"),u(35,"h3"),c(36,"Report types"),d(),u(37,"div",7),c(38,"Download "),u(39,"a",13),c(40,"sample reports"),d()(),u(41,"span",14),c(42,"Filter:"),d(),O(43,yM,2,5,"button",15),h(44,"br"),O(45,EM,2,1,"ng-container",16),u(46,"h3"),c(47,"Source directories"),d(),u(48,"div",7),c(49,"Optional directories which contain the corresponding source code."),h(50,"br"),c(51,"The source directories are used if coverage report contains classes without path information."),d(),O(52,wM,6,3,"div",17),u(53,"div",9)(54,"a",10),R("click",function(){return i.configuration.addSourceDirectory()}),h(55,"i",11),c(56," Add source directory"),d()(),h(57,"br"),u(58,"h3",18),c(59,"History directory"),d(),u(60,"div",7),c(61,"Optional directory for storing "),u(62,"b"),c(63,"persistent"),d(),c(64," coverage information. Choose a directory which does not get deleted between builds."),h(65,"br"),c(66,"Required to show the history chart in the HTML reports."),d(),u(67,"div",9)(68,"input",19),H("ngModelChange",function(s){return z(i.configuration.historydir,s)||(i.configuration.historydir=s),s}),d()(),h(69,"br"),u(70,"h3"),c(71,"Plugins"),d(),u(72,"div",7),c(73,"Optional plugin files for "),u(74,"a",20),c(75,"custom reports"),d(),c(76," or "),u(77,"a",21),c(78,"custom history storage"),d(),c(79,"."),d(),O(80,bM,6,3,"div",17),u(81,"div",9)(82,"a",10),R("click",function(){return i.configuration.addPlugin()}),h(83,"i",11),c(84," Add plugin"),d()(),h(85,"br"),u(86,"h3"),c(87,"Assembly filters"),d(),u(88,"div",7),c(89,"Optional list of "),u(90,"b"),c(91,"assemblies"),d(),c(92," that should be included or excluded in the report. "),h(93,"br"),c(94,"Exclusion filters take precedence over inclusion filters. "),h(95,"br"),c(96,"Wildcards are allowed."),h(97,"br"),u(98,"p"),c(99,"Examples:"),h(100,"br"),u(101,"code"),c(102,"+Included"),d(),h(103,"br"),u(104,"code"),c(105,"-Excluded"),d()()(),O(106,IM,6,3,"div",17),u(107,"div",9)(108,"a",10),R("click",function(){return i.configuration.addAssemblyFilter()}),h(109,"i",11),c(110," Add assembly filter"),d()(),h(111,"br"),u(112,"h3"),c(113,"Class filters"),d(),u(114,"div",7),c(115,"Optional list of "),u(116,"b"),c(117,"classes"),d(),c(118," that should be included or excluded in the report. "),h(119,"br"),c(120,"Exclusion filters take precedence over inclusion filters. "),h(121,"br"),c(122,"Wildcards are allowed."),h(123,"br"),u(124,"p"),c(125,"Examples:"),h(126,"br"),u(127,"code"),c(128,"+Included"),d(),h(129,"br"),u(130,"code"),c(131,"-Excluded"),d()()(),O(132,SM,6,3,"div",17),u(133,"div",9)(134,"a",10),R("click",function(){return i.configuration.addClassFilter()}),h(135,"i",11),c(136," Add class filter"),d()(),h(137,"br"),u(138,"h3"),c(139,"File filters"),d(),u(140,"div",7),c(141,"Optional list of "),u(142,"b"),c(143,"files"),d(),c(144," that should be included or excluded in the report. "),h(145,"br"),c(146,"Exclusion filters take precedence over inclusion filters. "),h(147,"br"),c(148,"Wildcards are allowed."),h(149,"br"),u(150,"p"),c(151,"Examples:"),h(152,"br"),u(153,"code"),c(154,"+Included"),d(),h(155,"br"),u(156,"code"),c(157,"-Excluded"),d()()(),O(158,xM,6,3,"div",17),u(159,"div",9)(160,"a",10),R("click",function(){return i.configuration.addFileFilter()}),h(161,"i",11),c(162," Add file filter"),d()(),h(163,"br"),u(164,"h3"),c(165,"Risk Hotspots: Assembly filters"),d(),u(166,"div",7),c(167,"Optional list of "),u(168,"b"),c(169,"assemblies"),d(),c(170," that should be included or excluded in the risk hotspots. "),h(171,"br"),c(172,"Exclusion filters take precedence over inclusion filters. "),h(173,"br"),c(174,"Wildcards are allowed."),h(175,"br"),u(176,"p"),c(177,"Examples:"),h(178,"br"),u(179,"code"),c(180,"+Included"),d(),h(181,"br"),u(182,"code"),c(183,"-Excluded"),d()()(),O(184,MM,6,3,"div",17),u(185,"div",9)(186,"a",10),R("click",function(){return i.configuration.addRiskHotspotAssemblyFilter()}),h(187,"i",11),c(188," Add assembly filter"),d()(),h(189,"br"),u(190,"h3"),c(191,"Risk Hotspots: Class filters"),d(),u(192,"div",7),c(193,"Optional list of "),u(194,"b"),c(195,"classes"),d(),c(196," that should be included or excluded in the risk hotspots. "),h(197,"br"),c(198,"Exclusion filters take precedence over inclusion filters. "),h(199,"br"),c(200,"Wildcards are allowed."),h(201,"br"),u(202,"p"),c(203,"Examples:"),h(204,"br"),u(205,"code"),c(206,"+Included"),d(),h(207,"br"),u(208,"code"),c(209,"-Excluded"),d()()(),O(210,TM,6,3,"div",17),u(211,"div",9)(212,"a",10),R("click",function(){return i.configuration.addRiskHotspotClassFilter()}),h(213,"i",11),c(214," Add class filter"),d()(),h(215,"br"),u(216,"h3"),c(217,"Verbosity"),d(),u(218,"div",7),c(219,"The verbosity level of the log messages."),d(),u(220,"div",9)(221,"select",22),H("ngModelChange",function(s){return z(i.configuration.selectedverbosity,s)||(i.configuration.selectedverbosity=s),s}),O(222,AM,2,2,"option",23),d()(),h(223,"br"),u(224,"h3"),c(225,"Title"),d(),u(226,"div",7),c(227,"Optional title."),d(),u(228,"div",9)(229,"input",24),H("ngModelChange",function(s){return z(i.configuration.title,s)||(i.configuration.title=s),s}),d()(),h(230,"br"),u(231,"h3"),c(232,"Tag"),d(),u(233,"div",7),c(234,"Optional tag or build version."),d(),u(235,"div",9)(236,"input",25),H("ngModelChange",function(s){return z(i.configuration.tag,s)||(i.configuration.tag=s),s}),d()(),h(237,"br"),u(238,"h3"),c(239,"License"),d(),u(240,"div",7)(241,"p"),c(242,"Optional license. Get your license here: "),u(243,"a",26),c(244,"https://reportgenerator.io/pro"),d()(),c(245," License can also be supplied via "),u(246,"code"),c(247,"REPORTGENERATOR_LICENSE"),d(),c(248," environment variable. "),d(),u(249,"div",9)(250,"textarea",27),H("ngModelChange",function(s){return z(i.configuration.license,s)||(i.configuration.license=s),s}),d()()()(),u(251,"div",28)(252,"div",29)(253,"h3"),c(254,"Instructions"),d(),c(255," Install "),u(256,"a",30),c(257),d(),O(258,NM,6,2,"div",31),u(259,"h4",32),c(260,"Usage"),d(),u(261,"pre",33),c(262),d(),u(263,"button",34),R("click",function(){return i.copy()}),O(264,RM,2,0)(265,kM,2,0),d()(),u(266,"div",35)(267,"h3"),c(268,"Instructions"),d(),c(269," Install "),u(270,"a",30),c(271),d(),O(272,OM,6,2,"div",31),u(273,"h4",32),c(274,"Usage"),d(),u(275,"pre",33),c(276),d(),u(277,"button",34),R("click",function(){return i.copy()}),O(278,PM,2,0)(279,FM,2,0),d()()()()()),r&2&&(m(13),_("ngForOf",i.environments),m(2),_("ngIf",i.severalPackagesAvailable()),m(7),_("ngForOf",i.configuration.reports)("ngForTrackBy",i.trackByIndex),m(11),U("ngModel",i.configuration.targetdir),m(10),_("ngForOf",i.configuration.types)("ngForTrackBy",i.trackByIndex),m(2),_("ngForOf",i.configuration.reporttypes)("ngForTrackBy",i.trackByIndex),m(7),_("ngForOf",i.configuration.sourcedirectories)("ngForTrackBy",i.trackByIndex),m(16),U("ngModel",i.configuration.historydir),_("required",i.configuration.historyDirRequired()),m(12),_("ngForOf",i.configuration.plugins)("ngForTrackBy",i.trackByIndex),m(26),_("ngForOf",i.configuration.assemblyfilters)("ngForTrackBy",i.trackByIndex),m(26),_("ngForOf",i.configuration.classfilters)("ngForTrackBy",i.trackByIndex),m(26),_("ngForOf",i.configuration.filefilters)("ngForTrackBy",i.trackByIndex),m(26),_("ngForOf",i.configuration.riskhotspotassemblyfilters)("ngForTrackBy",i.trackByIndex),m(26),_("ngForOf",i.configuration.riskhotspotclassfilters)("ngForTrackBy",i.trackByIndex),m(11),U("ngModel",i.configuration.selectedverbosity),m(),_("ngForOf",i.configuration.verbosities)("ngForTrackBy",i.trackByIndex),m(7),U("ngModel",i.configuration.title),m(7),U("ngModel",i.configuration.tag),m(7),_("routerLink",j(42,cM)),m(7),U("ngModel",i.configuration.license),m(6),_("href",i.selectedPackage.url,Lr),m(),de(i.selectedPackage.name),m(),_("ngForOf",i.selectedPackage.installOptions),m(4),de(i.getUsage()),m(2),pt(i.usageCopied?264:265),m(6),_("href",i.selectedPackage.url,Lr),m(),de(i.selectedPackage.name),m(),_("ngForOf",i.selectedPackage.installOptions),m(4),de(i.getUsage()),m(2),pt(i.usageCopied?278:279))},dependencies:[Ft,bn,ol,sl,Pt,li,df,En,wn,tn,ff,en,Jt,jr,Gn,zn,be],styles:[".sticky[_ngcontent-%COMP%]{position:sticky;top:100px}"]})}}return e})();var Sn=" | ReportGenerator - Code coverage reports",LM=[{path:"",component:my,pathMatch:"full",title:"Home"+Sn,data:{canonical:"/"}},{path:"features",component:py,title:"Features"+Sn,data:{canonical:"/features"}},{path:"features.html",redirectTo:"/features"},{path:"getstarted",component:hy,title:"Get started"+Sn,data:{canonical:"/getstarted"}},{path:"getstarted.html",redirectTo:"/getstarted"},{path:"usage",component:Dy,title:"Usage"+Sn,data:{canonical:"/usage"}},{path:"usage.html",redirectTo:"/usage"},{path:"pro",component:Cy,title:"PRO"+Sn,data:{canonical:"/pro"}},{path:"pro.html",redirectTo:"/pro"},{path:"enterprise",component:fy,title:"Enterprise"+Sn,data:{canonical:"/enterprise"}},{path:"enterprise.html",redirectTo:"/enterprise"},{path:"contact",component:uy,title:"Contact"+Sn,data:{canonical:"/contact"}},{path:"contact.html",redirectTo:"/contact"},{path:"404",component:gy,title:"404 - Not found"+Sn},{path:"**",redirectTo:"/404"}],Ey=(()=>{class e{static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275mod=ze({type:e})}static{this.\u0275inj=$e({imports:[Wa.forRoot(LM,{scrollPositionRestoration:"enabled",scrollOffset:[0,0],anchorScrolling:"enabled"}),Wa]})}}return e})();J.production&&void 0;_d(Bv,{providers:[lu(Cd,Ey,Ft),pl,ci,ul,Sd(xd())]}).catch(e=>console.error(e)); diff --git a/docs/main-QG3H26BE.js b/docs/main-QG3H26BE.js new file mode 100644 index 00000000..739d69a2 --- /dev/null +++ b/docs/main-QG3H26BE.js @@ -0,0 +1,100 @@ +var G0=Object.defineProperty,z0=Object.defineProperties;var q0=Object.getOwnPropertyDescriptors;var _p=Object.getOwnPropertySymbols;var W0=Object.prototype.hasOwnProperty,Z0=Object.prototype.propertyIsEnumerable;var bp=(e,n,t)=>n in e?G0(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,D=(e,n)=>{for(var t in n||={})W0.call(n,t)&&bp(e,t,n[t]);if(_p)for(var t of _p(n))Z0.call(n,t)&&bp(e,t,n[t]);return e},Y=(e,n)=>z0(e,q0(n));var de=(e,n,t)=>new Promise((r,i)=>{var o=l=>{try{a(t.next(l))}catch(f){i(f)}},s=l=>{try{a(t.throw(l))}catch(f){i(f)}},a=l=>l.done?r(l.value):Promise.resolve(l.value).then(o,s);a((t=t.apply(e,n)).next())});var je=null,ls=!1,gc=1,Y0=null,ze=Symbol("SIGNAL");function V(e){let n=je;return je=e,n}function us(){return je}var Ui={version:0,lastCleanEpoch:0,dirty:!1,producers:void 0,producersTail:void 0,consumers:void 0,consumersTail:void 0,recomputing:!1,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:"unknown",producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function Hi(e){if(ls)throw new Error("");if(je===null)return;je.consumerOnSignalRead(e);let n=je.producersTail;if(n!==void 0&&n.producer===e)return;let t,r=je.recomputing;if(r&&(t=n!==void 0?n.nextProducer:je.producers,t!==void 0&&t.producer===e)){je.producersTail=t,t.lastReadVersion=e.version;return}let i=e.consumersTail;if(i!==void 0&&i.consumer===je&&(!r||K0(i,je)))return;let o=Lr(je),s={producer:e,consumer:je,nextProducer:t,prevConsumer:i,lastReadVersion:e.version,nextConsumer:void 0};je.producersTail=s,n!==void 0?n.nextProducer=s:je.producers=s,o&&xp(e,s)}function wp(){gc++}function vc(e){if(!(Lr(e)&&!e.dirty)&&!(!e.dirty&&e.lastCleanEpoch===gc)){if(!e.producerMustRecompute(e)&&!fs(e)){mc(e);return}e.producerRecomputeValue(e),mc(e)}}function yc(e){if(e.consumers===void 0)return;let n=ls;ls=!0;try{for(let t=e.consumers;t!==void 0;t=t.nextConsumer){let r=t.consumer;r.dirty||Q0(r)}}finally{ls=n}}function Cc(){return je?.consumerAllowSignalWrites!==!1}function Q0(e){e.dirty=!0,yc(e),e.consumerMarkedDirty?.(e)}function mc(e){e.dirty=!1,e.lastCleanEpoch=gc}function $i(e){return e&&Sp(e),V(e)}function Sp(e){e.producersTail=void 0,e.recomputing=!0}function ds(e,n){V(n),e&&Ip(e)}function Ip(e){e.recomputing=!1;let n=e.producersTail,t=n!==void 0?n.nextProducer:e.producers;if(t!==void 0){if(Lr(e))do t=Ec(t);while(t!==void 0);n!==void 0?n.nextProducer=void 0:e.producers=void 0}}function fs(e){for(let n=e.producers;n!==void 0;n=n.nextProducer){let t=n.producer,r=n.lastReadVersion;if(r!==t.version||(vc(t),r!==t.version))return!0}return!1}function Gi(e){if(Lr(e)){let n=e.producers;for(;n!==void 0;)n=Ec(n)}e.producers=void 0,e.producersTail=void 0,e.consumers=void 0,e.consumersTail=void 0}function xp(e,n){let t=e.consumersTail,r=Lr(e);if(t!==void 0?(n.nextConsumer=t.nextConsumer,t.nextConsumer=n):(n.nextConsumer=void 0,e.consumers=n),n.prevConsumer=t,e.consumersTail=n,!r)for(let i=e.producers;i!==void 0;i=i.nextProducer)xp(i.producer,i)}function Ec(e){let n=e.producer,t=e.nextProducer,r=e.nextConsumer,i=e.prevConsumer;if(e.nextConsumer=void 0,e.prevConsumer=void 0,r!==void 0?r.prevConsumer=i:n.consumersTail=i,i!==void 0)i.nextConsumer=r;else if(n.consumers=r,!Lr(n)){let o=n.producers;for(;o!==void 0;)o=Ec(o)}return t}function Lr(e){return e.consumerIsAlwaysLive||e.consumers!==void 0}function Dc(e){Y0?.(e)}function K0(e,n){let t=n.producersTail;if(t!==void 0){let r=n.producers;do{if(r===e)return!0;if(r===t)break;r=r.nextProducer}while(r!==void 0)}return!1}function _c(e,n){return Object.is(e,n)}function ps(e,n){let t=Object.create(J0);t.computation=e,n!==void 0&&(t.equal=n);let r=()=>{if(vc(t),Hi(t),t.value===cs)throw t.error;return t.value};return r[ze]=t,Dc(t),r}var pc=Symbol("UNSET"),hc=Symbol("COMPUTING"),cs=Symbol("ERRORED"),J0=Y(D({},Ui),{value:pc,dirty:!0,error:null,equal:_c,kind:"computed",producerMustRecompute(e){return e.value===pc||e.value===hc},producerRecomputeValue(e){if(e.value===hc)throw new Error("");let n=e.value;e.value=hc;let t=$i(e),r,i=!1;try{r=e.computation(),V(null),i=n!==pc&&n!==cs&&r!==cs&&e.equal(n,r)}catch(o){r=cs,e.error=o}finally{ds(e,t)}if(i){e.value=n;return}e.value=r,e.version++}});function X0(){throw new Error}var Tp=X0;function Mp(e){Tp(e)}function bc(e){Tp=e}var eC=null;function wc(e,n){let t=Object.create(hs);t.value=e,n!==void 0&&(t.equal=n);let r=()=>Ap(t);return r[ze]=t,Dc(t),[r,s=>zi(t,s),s=>Np(t,s)]}function Ap(e){return Hi(e),e.value}function zi(e,n){Cc()||Mp(e),e.equal(e.value,n)||(e.value=n,tC(e))}function Np(e,n){Cc()||Mp(e),zi(e,n(e.value))}var hs=Y(D({},Ui),{equal:_c,value:void 0,kind:"signal"});function tC(e){e.version++,wp(),yc(e),eC?.(e)}function Sc(e){let n=V(null);try{return e()}finally{V(n)}}function $(e){return typeof e=="function"}function Vr(e){let t=e(r=>{Error.call(r),r.stack=new Error().stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var ms=Vr(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription: +${t.map((r,i)=>`${i+1}) ${r.toString()}`).join(` + `)}`:"",this.name="UnsubscriptionError",this.errors=t});function qi(e,n){if(e){let t=e.indexOf(n);0<=t&&e.splice(t,1)}}var _e=class e{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;let{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(let o of t)o.remove(this);else t.remove(this);let{initialTeardown:r}=this;if($(r))try{r()}catch(o){n=o instanceof ms?o.errors:[o]}let{_finalizers:i}=this;if(i){this._finalizers=null;for(let o of i)try{Rp(o)}catch(s){n=n??[],s instanceof ms?n=[...n,...s.errors]:n.push(s)}}if(n)throw new ms(n)}}add(n){var t;if(n&&n!==this)if(this.closed)Rp(n);else{if(n instanceof e){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(n)}}_hasParent(n){let{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){let{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){let{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&qi(t,n)}remove(n){let{_finalizers:t}=this;t&&qi(t,n),n instanceof e&&n._removeParent(this)}};_e.EMPTY=(()=>{let e=new _e;return e.closed=!0,e})();var Ic=_e.EMPTY;function gs(e){return e instanceof _e||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function Rp(e){$(e)?e():e.unsubscribe()}var wt={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var jr={setTimeout(e,n,...t){let{delegate:r}=jr;return r?.setTimeout?r.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){let{delegate:n}=jr;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function vs(e){jr.setTimeout(()=>{let{onUnhandledError:n}=wt;if(n)n(e);else throw e})}function Wi(){}var kp=xc("C",void 0,void 0);function Op(e){return xc("E",void 0,e)}function Pp(e){return xc("N",e,void 0)}function xc(e,n,t){return{kind:e,value:n,error:t}}var Jn=null;function Br(e){if(wt.useDeprecatedSynchronousErrorHandling){let n=!Jn;if(n&&(Jn={errorThrown:!1,error:null}),e(),n){let{errorThrown:t,error:r}=Jn;if(Jn=null,t)throw r}}else e()}function Fp(e){wt.useDeprecatedSynchronousErrorHandling&&Jn&&(Jn.errorThrown=!0,Jn.error=e)}var Xn=class extends _e{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,gs(n)&&n.add(this)):this.destination=iC}static create(n,t,r){return new Ur(n,t,r)}next(n){this.isStopped?Mc(Pp(n),this):this._next(n)}error(n){this.isStopped?Mc(Op(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Mc(kp,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}},nC=Function.prototype.bind;function Tc(e,n){return nC.call(e,n)}var Ac=class{constructor(n){this.partialObserver=n}next(n){let{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(r){ys(r)}}error(n){let{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(r){ys(r)}else ys(n)}complete(){let{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){ys(t)}}},Ur=class extends Xn{constructor(n,t,r){super();let i;if($(n)||!n)i={next:n??void 0,error:t??void 0,complete:r??void 0};else{let o;this&&wt.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),i={next:n.next&&Tc(n.next,o),error:n.error&&Tc(n.error,o),complete:n.complete&&Tc(n.complete,o)}):i=n}this.destination=new Ac(i)}};function ys(e){wt.useDeprecatedSynchronousErrorHandling?Fp(e):vs(e)}function rC(e){throw e}function Mc(e,n){let{onStoppedNotification:t}=wt;t&&jr.setTimeout(()=>t(e,n))}var iC={closed:!0,next:Wi,error:rC,complete:Wi};var Hr=typeof Symbol=="function"&&Symbol.observable||"@@observable";function St(e){return e}function Nc(...e){return Rc(e)}function Rc(e){return e.length===0?St:e.length===1?e[0]:function(t){return e.reduce((r,i)=>i(r),t)}}var Q=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){let r=new e;return r.source=this,r.operator=t,r}subscribe(t,r,i){let o=sC(t)?t:new Ur(t,r,i);return Br(()=>{let{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return r=Lp(r),new r((i,o)=>{let s=new Ur({next:a=>{try{t(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:i});this.subscribe(s)})}_subscribe(t){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(t)}[Hr](){return this}pipe(...t){return Rc(t)(this)}toPromise(t){return t=Lp(t),new t((r,i)=>{let o;this.subscribe(s=>o=s,s=>i(s),()=>r(o))})}}return e.create=n=>new e(n),e})();function Lp(e){var n;return(n=e??wt.Promise)!==null&&n!==void 0?n:Promise}function oC(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}function sC(e){return e&&e instanceof Xn||oC(e)&&gs(e)}function aC(e){return $(e?.lift)}function ne(e){return n=>{if(aC(n))return n.lift(function(t){try{return e(t,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function re(e,n,t,r,i){return new kc(e,n,t,r,i)}var kc=class extends Xn{constructor(n,t,r,i,o,s){super(n),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){n.error(l)}}:super._next,this._error=i?function(a){try{i(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){let{closed:t}=this;super.unsubscribe(),!t&&((n=this.onFinalize)===null||n===void 0||n.call(this))}}};var Vp=Vr(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var Ce=(()=>{class e extends Q{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){let r=new Cs(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new Vp}next(t){Br(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let r of this.currentObservers)r.next(t)}})}error(t){Br(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;let{observers:r}=this;for(;r.length;)r.shift().error(t)}})}complete(){Br(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;let{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){let{hasError:r,isStopped:i,observers:o}=this;return r||i?Ic:(this.currentObservers=null,o.push(t),new _e(()=>{this.currentObservers=null,qi(o,t)}))}_checkFinalizedStatuses(t){let{hasError:r,thrownError:i,isStopped:o}=this;r?t.error(i):o&&t.complete()}asObservable(){let t=new Q;return t.source=this,t}}return e.create=(n,t)=>new Cs(n,t),e})(),Cs=class extends Ce{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,r;(r=(t=this.destination)===null||t===void 0?void 0:t.next)===null||r===void 0||r.call(t,n)}error(n){var t,r;(r=(t=this.destination)===null||t===void 0?void 0:t.error)===null||r===void 0||r.call(t,n)}complete(){var n,t;(t=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||t===void 0||t.call(n)}_subscribe(n){var t,r;return(r=(t=this.source)===null||t===void 0?void 0:t.subscribe(n))!==null&&r!==void 0?r:Ic}};var Oe=class extends Ce{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){let t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){let{hasError:n,thrownError:t,_value:r}=this;if(n)throw t;return this._throwIfClosed(),r}next(n){super.next(this._value=n)}};var Je=new Q(e=>e.complete());function jp(e){return e&&$(e.schedule)}function Bp(e){return e[e.length-1]}function Es(e){return $(Bp(e))?e.pop():void 0}function _n(e){return jp(Bp(e))?e.pop():void 0}function Hp(e,n,t,r){function i(o){return o instanceof t?o:new t(function(s){s(o)})}return new(t||(t=Promise))(function(o,s){function a(p){try{f(r.next(p))}catch(m){s(m)}}function l(p){try{f(r.throw(p))}catch(m){s(m)}}function f(p){p.done?o(p.value):i(p.value).then(a,l)}f((r=r.apply(e,n||[])).next())})}function Up(e){var n=typeof Symbol=="function"&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function er(e){return this instanceof er?(this.v=e,this):new er(e)}function $p(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=t.apply(e,n||[]),i,o=[];return i={},s("next"),s("throw"),s("return"),i[Symbol.asyncIterator]=function(){return this},i;function s(y){r[y]&&(i[y]=function(v){return new Promise(function(b,F){o.push([y,v,b,F])>1||a(y,v)})})}function a(y,v){try{l(r[y](v))}catch(b){m(o[0][3],b)}}function l(y){y.value instanceof er?Promise.resolve(y.value.v).then(f,p):m(o[0][2],y)}function f(y){a("next",y)}function p(y){a("throw",y)}function m(y,v){y(v),o.shift(),o.length&&a(o[0][0],o[0][1])}}function Gp(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=e[Symbol.asyncIterator],t;return n?n.call(e):(e=typeof Up=="function"?Up(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(o){t[o]=e[o]&&function(s){return new Promise(function(a,l){s=e[o](s),i(a,l,s.done,s.value)})}}function i(o,s,a,l){Promise.resolve(l).then(function(f){o({value:f,done:a})},s)}}var Ds=e=>e&&typeof e.length=="number"&&typeof e!="function";function _s(e){return $(e?.then)}function bs(e){return $(e[Hr])}function ws(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function Ss(e){return new TypeError(`You provided ${e!==null&&typeof e=="object"?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}function lC(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Is=lC();function xs(e){return $(e?.[Is])}function Ts(e){return $p(this,arguments,function*(){let t=e.getReader();try{for(;;){let{value:r,done:i}=yield er(t.read());if(i)return yield er(void 0);yield yield er(r)}}finally{t.releaseLock()}})}function Ms(e){return $(e?.getReader)}function Ee(e){if(e instanceof Q)return e;if(e!=null){if(bs(e))return cC(e);if(Ds(e))return uC(e);if(_s(e))return dC(e);if(ws(e))return zp(e);if(xs(e))return fC(e);if(Ms(e))return pC(e)}throw Ss(e)}function cC(e){return new Q(n=>{let t=e[Hr]();if($(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function uC(e){return new Q(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,vs)})}function fC(e){return new Q(n=>{for(let t of e)if(n.next(t),n.closed)return;n.complete()})}function zp(e){return new Q(n=>{hC(e,n).catch(t=>n.error(t))})}function pC(e){return zp(Ts(e))}function hC(e,n){var t,r,i,o;return Hp(this,void 0,void 0,function*(){try{for(t=Gp(e);r=yield t.next(),!r.done;){let s=r.value;if(n.next(s),n.closed)return}}catch(s){i={error:s}}finally{try{r&&!r.done&&(o=t.return)&&(yield o.call(t))}finally{if(i)throw i.error}}n.complete()})}function Xe(e,n,t,r=0,i=!1){let o=n.schedule(function(){t(),i?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(o),!i)return o}function As(e,n=0){return ne((t,r)=>{t.subscribe(re(r,i=>Xe(r,e,()=>r.next(i),n),()=>Xe(r,e,()=>r.complete(),n),i=>Xe(r,e,()=>r.error(i),n)))})}function Ns(e,n=0){return ne((t,r)=>{r.add(e.schedule(()=>t.subscribe(r),n))})}function qp(e,n){return Ee(e).pipe(Ns(n),As(n))}function Wp(e,n){return Ee(e).pipe(Ns(n),As(n))}function Zp(e,n){return new Q(t=>{let r=0;return n.schedule(function(){r===e.length?t.complete():(t.next(e[r++]),t.closed||this.schedule())})})}function Yp(e,n){return new Q(t=>{let r;return Xe(t,n,()=>{r=e[Is](),Xe(t,n,()=>{let i,o;try{({value:i,done:o}=r.next())}catch(s){t.error(s);return}o?t.complete():t.next(i)},0,!0)}),()=>$(r?.return)&&r.return()})}function Rs(e,n){if(!e)throw new Error("Iterable cannot be null");return new Q(t=>{Xe(t,n,()=>{let r=e[Symbol.asyncIterator]();Xe(t,n,()=>{r.next().then(i=>{i.done?t.complete():t.next(i.value)})},0,!0)})})}function Qp(e,n){return Rs(Ts(e),n)}function Kp(e,n){if(e!=null){if(bs(e))return qp(e,n);if(Ds(e))return Zp(e,n);if(_s(e))return Wp(e,n);if(ws(e))return Rs(e,n);if(xs(e))return Yp(e,n);if(Ms(e))return Qp(e,n)}throw Ss(e)}function fe(e,n){return n?Kp(e,n):Ee(e)}function B(...e){let n=_n(e);return fe(e,n)}function Oc(e,n){let t=$(e)?e:()=>e,r=i=>i.error(t());return new Q(n?i=>n.schedule(r,0,i):r)}function ks(e){return!!e&&(e instanceof Q||$(e.lift)&&$(e.subscribe))}var tr=Vr(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function K(e,n){return ne((t,r)=>{let i=0;t.subscribe(re(r,o=>{r.next(e.call(n,o,i++))}))})}var{isArray:mC}=Array;function gC(e,n){return mC(n)?e(...n):e(n)}function Os(e){return K(n=>gC(e,n))}var{isArray:vC}=Array,{getPrototypeOf:yC,prototype:CC,keys:EC}=Object;function Ps(e){if(e.length===1){let n=e[0];if(vC(n))return{args:n,keys:null};if(DC(n)){let t=EC(n);return{args:t.map(r=>n[r]),keys:t}}}return{args:e,keys:null}}function DC(e){return e&&typeof e=="object"&&yC(e)===CC}function Fs(e,n){return e.reduce((t,r,i)=>(t[r]=n[i],t),{})}function Ls(...e){let n=_n(e),t=Es(e),{args:r,keys:i}=Ps(e);if(r.length===0)return fe([],n);let o=new Q(_C(r,n,i?s=>Fs(i,s):St));return t?o.pipe(Os(t)):o}function _C(e,n,t=St){return r=>{Jp(n,()=>{let{length:i}=e,o=new Array(i),s=i,a=i;for(let l=0;l{let f=fe(e[l],n),p=!1;f.subscribe(re(r,m=>{o[l]=m,p||(p=!0,a--),a||r.next(t(o.slice()))},()=>{--s||r.complete()}))},r)},r)}}function Jp(e,n,t){e?Xe(t,e,n):n()}function Xp(e,n,t,r,i,o,s,a){let l=[],f=0,p=0,m=!1,y=()=>{m&&!l.length&&!f&&n.complete()},v=F=>f{o&&n.next(F),f++;let N=!1;Ee(t(F,p++)).subscribe(re(n,M=>{i?.(M),o?v(M):n.next(M)},()=>{N=!0},void 0,()=>{if(N)try{for(f--;l.length&&fb(M)):b(M)}y()}catch(M){n.error(M)}}))};return e.subscribe(re(n,v,()=>{m=!0,y()})),()=>{a?.()}}function be(e,n,t=1/0){return $(n)?be((r,i)=>K((o,s)=>n(r,o,i,s))(Ee(e(r,i))),t):(typeof n=="number"&&(t=n),ne((r,i)=>Xp(r,i,e,t)))}function bn(e=1/0){return be(St,e)}function eh(){return bn(1)}function $r(...e){return eh()(fe(e,_n(e)))}function Zi(e){return new Q(n=>{Ee(e()).subscribe(n)})}function Pc(...e){let n=Es(e),{args:t,keys:r}=Ps(e),i=new Q(o=>{let{length:s}=t;if(!s){o.complete();return}let a=new Array(s),l=s,f=s;for(let p=0;p{m||(m=!0,f--),a[p]=y},()=>l--,void 0,()=>{(!l||!m)&&(f||o.next(r?Fs(r,a):a),o.complete())}))}});return n?i.pipe(Os(n)):i}function Pe(e,n){return ne((t,r)=>{let i=0;t.subscribe(re(r,o=>e.call(n,o,i++)&&r.next(o)))})}function Gr(e){return ne((n,t)=>{let r=null,i=!1,o;r=n.subscribe(re(t,void 0,void 0,s=>{o=Ee(e(s,Gr(e)(n))),r?(r.unsubscribe(),r=null,o.subscribe(t)):i=!0})),i&&(r.unsubscribe(),r=null,o.subscribe(t))})}function wn(e,n){return $(n)?be(e,n,1):be(e,1)}function Fc(e){return ne((n,t)=>{let r=!1;n.subscribe(re(t,i=>{r=!0,t.next(i)},()=>{r||t.next(e),t.complete()}))})}function rn(e){return e<=0?()=>Je:ne((n,t)=>{let r=0;n.subscribe(re(t,i=>{++r<=e&&(t.next(i),e<=r&&t.complete())}))})}function th(e=bC){return ne((n,t)=>{let r=!1;n.subscribe(re(t,i=>{r=!0,t.next(i)},()=>r?t.complete():t.error(e())))})}function bC(){return new tr}function zr(e){return ne((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}function on(e,n){let t=arguments.length>=2;return r=>r.pipe(e?Pe((i,o)=>e(i,o,r)):St,rn(1),t?Fc(n):th(()=>new tr))}function Vs(e){return e<=0?()=>Je:ne((n,t)=>{let r=[];n.subscribe(re(t,i=>{r.push(i),e{for(let i of r)t.next(i);t.complete()},void 0,()=>{r=null}))})}function Lc(...e){let n=_n(e);return ne((t,r)=>{(n?$r(e,t,n):$r(e,t)).subscribe(r)})}function tt(e,n){return ne((t,r)=>{let i=null,o=0,s=!1,a=()=>s&&!i&&r.complete();t.subscribe(re(r,l=>{i?.unsubscribe();let f=0,p=o++;Ee(e(l,p)).subscribe(i=re(r,m=>r.next(n?n(l,m,p,f++):m),()=>{i=null,a()}))},()=>{s=!0,a()}))})}function Yi(e){return ne((n,t)=>{Ee(e).subscribe(re(t,()=>t.complete(),Wi)),!t.closed&&n.subscribe(t)})}function qe(e,n,t){let r=$(e)||n||t?{next:e,error:n,complete:t}:e;return r?ne((i,o)=>{var s;(s=r.subscribe)===null||s===void 0||s.call(r);let a=!0;i.subscribe(re(o,l=>{var f;(f=r.next)===null||f===void 0||f.call(r,l),o.next(l)},()=>{var l;a=!1,(l=r.complete)===null||l===void 0||l.call(r),o.complete()},l=>{var f;a=!1,(f=r.error)===null||f===void 0||f.call(r,l),o.error(l)},()=>{var l,f;a&&((l=r.unsubscribe)===null||l===void 0||l.call(r)),(f=r.finalize)===null||f===void 0||f.call(r)}))}):St}var Vc;function js(){return Vc}function Vt(e){let n=Vc;return Vc=e,n}var nh=Symbol("NotFound");function qr(e){return e===nh||e?.name==="\u0275NotFound"}var Gs="https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss",T=class extends Error{code;constructor(n,t){super(In(n,t)),this.code=n}};function IC(e){return`NG0${Math.abs(e)}`}function In(e,n){return`${IC(e)}${n?": "+n:""}`}var ht=globalThis;function ie(e){for(let n in e)if(e[n]===ie)return n;throw Error("")}function ah(e,n){for(let t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function an(e){if(typeof e=="string")return e;if(Array.isArray(e))return`[${e.map(an).join(", ")}]`;if(e==null)return""+e;let n=e.overriddenName||e.name;if(n)return`${n}`;let t=e.toString();if(t==null)return""+t;let r=t.indexOf(` +`);return r>=0?t.slice(0,r):t}function Xc(e,n){return e?n?`${e} ${n}`:e:n||""}var xC=ie({__forward_ref__:ie});function Ze(e){return e.__forward_ref__=Ze,e.toString=function(){return an(this())},e}function Fe(e){return eu(e)?e():e}function eu(e){return typeof e=="function"&&e.hasOwnProperty(xC)&&e.__forward_ref__===Ze}function _(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Be(e){return{providers:e.providers||[],imports:e.imports||[]}}function to(e){return TC(e,zs)}function tu(e){return to(e)!==null}function TC(e,n){return e.hasOwnProperty(n)&&e[n]||null}function MC(e){let n=e?.[zs]??null;return n||null}function Bc(e){return e&&e.hasOwnProperty(Us)?e[Us]:null}var zs=ie({\u0275prov:ie}),Us=ie({\u0275inj:ie}),S=class{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(n,t){this._desc=n,this.\u0275prov=void 0,typeof t=="number"?this.__NG_ELEMENT_ID__=t:t!==void 0&&(this.\u0275prov=_({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function nu(e){return e&&!!e.\u0275providers}var ru=ie({\u0275cmp:ie}),iu=ie({\u0275dir:ie}),ou=ie({\u0275pipe:ie}),su=ie({\u0275mod:ie}),Ki=ie({\u0275fac:ie}),ar=ie({__NG_ELEMENT_ID__:ie}),rh=ie({__NG_ENV_ID__:ie});function lr(e){return typeof e=="string"?e:e==null?"":String(e)}function lh(e){return typeof e=="function"?e.name||e.toString():typeof e=="object"&&e!=null&&typeof e.type=="function"?e.type.name||e.type.toString():lr(e)}var ch=ie({ngErrorCode:ie}),AC=ie({ngErrorMessage:ie}),NC=ie({ngTokenPath:ie});function au(e,n){return uh("",-200,n)}function qs(e,n){throw new T(-201,!1)}function uh(e,n,t){let r=new T(n,e);return r[ch]=n,r[AC]=e,t&&(r[NC]=t),r}function RC(e){return e[ch]}var Uc;function dh(){return Uc}function nt(e){let n=Uc;return Uc=e,n}function lu(e,n,t){let r=to(e);if(r&&r.providedIn=="root")return r.value===void 0?r.value=r.factory():r.value;if(t&8)return null;if(n!==void 0)return n;qs(e,"Injector")}var kC={},nr=kC,OC="__NG_DI_FLAG__",Hc=class{injector;constructor(n){this.injector=n}retrieve(n,t){let r=rr(t)||0;try{return this.injector.get(n,r&8?null:nr,r)}catch(i){if(qr(i))return i;throw i}}};function PC(e,n=0){let t=js();if(t===void 0)throw new T(-203,!1);if(t===null)return lu(e,void 0,n);{let r=FC(n),i=t.retrieve(e,r);if(qr(i)){if(r.optional)return null;throw i}return i}}function A(e,n=0){return(dh()||PC)(Fe(e),n)}function C(e,n){return A(e,rr(n))}function rr(e){return typeof e>"u"||typeof e=="number"?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function FC(e){return{optional:!!(e&8),host:!!(e&1),self:!!(e&2),skipSelf:!!(e&4)}}function $c(e){let n=[];for(let t=0;tArray.isArray(t)?Ws(t,n):n(t))}function cu(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function no(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function hh(e,n,t,r){let i=e.length;if(i==n)e.push(t,r);else if(i===1)e.push(r,e[0]),e[0]=t;else{for(i--,e.push(e[i-1],e[i]);i>n;){let o=i-2;e[i]=e[o],i--}e[n]=t,e[n+1]=r}}function mh(e,n,t){let r=Zr(e,n);return r>=0?e[r|1]=t:(r=~r,hh(e,r,n,t)),r}function Zs(e,n){let t=Zr(e,n);if(t>=0)return e[t|1]}function Zr(e,n){return VC(e,n,1)}function VC(e,n,t){let r=0,i=e.length>>t;for(;i!==r;){let o=r+(i-r>>1),s=e[o<n?i=o:r=o+1}return~(i<{t.push(s)};return Ws(n,s=>{let a=s;Hs(a,o,[],r)&&(i||=[],i.push(a))}),i!==void 0&&vh(i,o),t}function vh(e,n){for(let t=0;t{n(o,r)})}}function Hs(e,n,t,r){if(e=Fe(e),!e)return!1;let i=null,o=Bc(e),s=!o&&cn(e);if(!o&&!s){let l=e.ngModule;if(o=Bc(l),o)i=l;else return!1}else{if(s&&!s.standalone)return!1;i=e}let a=r.has(i);if(s){if(a)return!1;if(r.add(i),s.dependencies){let l=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let f of l)Hs(f,n,t,r)}}else if(o){if(o.imports!=null&&!a){r.add(i);let f;try{Ws(o.imports,p=>{Hs(p,n,t,r)&&(f||=[],f.push(p))})}finally{}f!==void 0&&vh(f,n)}if(!a){let f=ir(i)||(()=>new i);n({provide:i,useFactory:f,deps:rt},i),n({provide:du,useValue:i,multi:!0},i),n({provide:Tn,useValue:()=>A(i),multi:!0},i)}let l=o.providers;if(l!=null&&!a){let f=e;mu(l,p=>{n(p,f)})}}else return!1;return i!==e&&e.providers!==void 0}function mu(e,n){for(let t of e)nu(t)&&(t=t.\u0275providers),Array.isArray(t)?mu(t,n):n(t)}var jC=ie({provide:String,useValue:ie});function yh(e){return e!==null&&typeof e=="object"&&jC in e}function BC(e){return!!(e&&e.useExisting)}function UC(e){return!!(e&&e.useFactory)}function or(e){return typeof e=="function"}function Ch(e){return!!e.useClass}var ro=new S(""),Bs={},ih={},jc;function io(){return jc===void 0&&(jc=new Ji),jc}var me=class{},sr=class extends me{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(n,t,r,i){super(),this.parent=t,this.source=r,this.scopes=i,zc(n,s=>this.processProvider(s)),this.records.set(uu,Wr(void 0,this)),i.has("environment")&&this.records.set(me,Wr(void 0,this));let o=this.records.get(ro);o!=null&&typeof o.value=="string"&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(du,rt,{self:!0}))}retrieve(n,t){let r=rr(t)||0;try{return this.get(n,nr,r)}catch(i){if(qr(i))return i;throw i}}destroy(){Qi(this),this._destroyed=!0;let n=V(null);try{for(let r of this._ngOnDestroyHooks)r.ngOnDestroy();let t=this._onDestroyHooks;this._onDestroyHooks=[];for(let r of t)r()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),V(n)}}onDestroy(n){return Qi(this),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){Qi(this);let t=Vt(this),r=nt(void 0),i;try{return n()}finally{Vt(t),nt(r)}}get(n,t=nr,r){if(Qi(this),n.hasOwnProperty(rh))return n[rh](this);let i=rr(r),o,s=Vt(this),a=nt(void 0);try{if(!(i&4)){let f=this.records.get(n);if(f===void 0){let p=qC(n)&&to(n);p&&this.injectableDefInScope(p)?f=Wr(Gc(n),Bs):f=null,this.records.set(n,f)}if(f!=null)return this.hydrate(n,f,i)}let l=i&2?io():this.parent;return t=i&8&&t===nr?null:t,l.get(n,t)}catch(l){let f=RC(l);throw f===-200||f===-201?new T(f,null):l}finally{nt(a),Vt(s)}}resolveInjectorInitializers(){let n=V(null),t=Vt(this),r=nt(void 0),i;try{let o=this.get(Tn,rt,{self:!0});for(let s of o)s()}finally{Vt(t),nt(r),V(n)}}toString(){let n=[],t=this.records;for(let r of t.keys())n.push(an(r));return`R3Injector[${n.join(", ")}]`}processProvider(n){n=Fe(n);let t=or(n)?n:Fe(n&&n.provide),r=$C(n);if(!or(n)&&n.multi===!0){let i=this.records.get(t);i||(i=Wr(void 0,Bs,!0),i.factory=()=>$c(i.multi),this.records.set(t,i)),t=n,i.multi.push(n)}this.records.set(t,r)}hydrate(n,t,r){let i=V(null);try{if(t.value===ih)throw au(an(n));return t.value===Bs&&(t.value=ih,t.value=t.factory(void 0,r)),typeof t.value=="object"&&t.value&&zC(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{V(i)}}injectableDefInScope(n){if(!n.providedIn)return!1;let t=Fe(n.providedIn);return typeof t=="string"?t==="any"||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){let t=this._onDestroyHooks.indexOf(n);t!==-1&&this._onDestroyHooks.splice(t,1)}};function Gc(e){let n=to(e),t=n!==null?n.factory:ir(e);if(t!==null)return t;if(e instanceof S)throw new T(204,!1);if(e instanceof Function)return HC(e);throw new T(204,!1)}function HC(e){if(e.length>0)throw new T(204,!1);let t=MC(e);return t!==null?()=>t.factory(e):()=>new e}function $C(e){if(yh(e))return Wr(void 0,e.useValue);{let n=gu(e);return Wr(n,Bs)}}function gu(e,n,t){let r;if(or(e)){let i=Fe(e);return ir(i)||Gc(i)}else if(yh(e))r=()=>Fe(e.useValue);else if(UC(e))r=()=>e.useFactory(...$c(e.deps||[]));else if(BC(e))r=(i,o)=>A(Fe(e.useExisting),o!==void 0&&o&8?8:void 0);else{let i=Fe(e&&(e.useClass||e.provide));if(GC(e))r=()=>new i(...$c(e.deps));else return ir(i)||Gc(i)}return r}function Qi(e){if(e.destroyed)throw new T(205,!1)}function Wr(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function GC(e){return!!e.deps}function zC(e){return e!==null&&typeof e=="object"&&typeof e.ngOnDestroy=="function"}function qC(e){return typeof e=="function"||typeof e=="object"&&e.ngMetadataName==="InjectionToken"}function zc(e,n){for(let t of e)Array.isArray(t)?zc(t,n):t&&nu(t)?zc(t.\u0275providers,n):n(t)}function Ae(e,n){let t;e instanceof sr?(Qi(e),t=e):t=new Hc(e);let r,i=Vt(t),o=nt(void 0);try{return n()}finally{Vt(i),nt(o)}}function vu(){return dh()!==void 0||js()!=null}var It=0,L=1,j=2,we=3,mt=4,gt=5,Yr=6,Qr=7,ye=8,un=9,Bt=10,pe=11,Kr=12,yu=13,cr=14,it=15,An=16,ur=17,Ut=18,oo=19,Cu=20,sn=21,Qs=22,so=23,ot=24,dr=25,fr=26,Ne=27,Eh=1,Eu=6,Nn=7,ao=8,pr=9,ge=10;function Ht(e){return Array.isArray(e)&&typeof e[Eh]=="object"}function xt(e){return Array.isArray(e)&&e[Eh]===!0}function Du(e){return(e.flags&4)!==0}function Rn(e){return e.componentOffset>-1}function Ks(e){return(e.flags&1)===1}function $t(e){return!!e.template}function Jr(e){return(e[j]&512)!==0}function hr(e){return(e[j]&256)===256}var Dh="svg",_h="math";function vt(e){for(;Array.isArray(e);)e=e[It];return e}function _u(e,n){return vt(n[e])}function Tt(e,n){return vt(n[e.index])}function lo(e,n){return e.data[n]}function bh(e,n){return e[n]}function yt(e,n){let t=n[e];return Ht(t)?t:t[It]}function wh(e){return(e[j]&4)===4}function Js(e){return(e[j]&128)===128}function Sh(e){return xt(e[we])}function Gt(e,n){return n==null?null:e[n]}function bu(e){e[ur]=0}function wu(e){e[j]&1024||(e[j]|=1024,Js(e)&&Xr(e))}function Ih(e,n){for(;e>0;)n=n[cr],e--;return n}function co(e){return!!(e[j]&9216||e[ot]?.dirty)}function Xs(e){e[Bt].changeDetectionScheduler?.notify(8),e[j]&64&&(e[j]|=1024),co(e)&&Xr(e)}function Xr(e){e[Bt].changeDetectionScheduler?.notify(0);let n=Sn(e);for(;n!==null&&!(n[j]&8192||(n[j]|=8192,!Js(n)));)n=Sn(n)}function Su(e,n){if(hr(e))throw new T(911,!1);e[sn]===null&&(e[sn]=[]),e[sn].push(n)}function xh(e,n){if(e[sn]===null)return;let t=e[sn].indexOf(n);t!==-1&&e[sn].splice(t,1)}function Sn(e){let n=e[we];return xt(n)?n[we]:n}function Iu(e){return e[Qr]??=[]}function xu(e){return e.cleanup??=[]}function Th(e,n,t,r){let i=Iu(n);i.push(t),e.firstCreatePass&&xu(e).push(r,i.length-1)}var Z={lFrame:$h(null),bindingsEnabled:!0,skipHydrationRootTNode:null};var qc=!1;function Mh(){return Z.lFrame.elementDepthCount}function Ah(){Z.lFrame.elementDepthCount++}function Tu(){Z.lFrame.elementDepthCount--}function Nh(){return Z.bindingsEnabled}function Rh(){return Z.skipHydrationRootTNode!==null}function Mu(e){return Z.skipHydrationRootTNode===e}function Au(){Z.skipHydrationRootTNode=null}function q(){return Z.lFrame.lView}function Le(){return Z.lFrame.tView}function I(e){return Z.lFrame.contextLView=e,e[ye]}function x(e){return Z.lFrame.contextLView=null,e}function Ve(){let e=Nu();for(;e!==null&&e.type===64;)e=e.parent;return e}function Nu(){return Z.lFrame.currentTNode}function kh(){let e=Z.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}function ei(e,n){let t=Z.lFrame;t.currentTNode=e,t.isParent=n}function Ru(){return Z.lFrame.isParent}function Oh(){Z.lFrame.isParent=!1}function Ph(){return Z.lFrame.contextLView}function ku(){return qc}function Ou(e){let n=qc;return qc=e,n}function ea(){let e=Z.lFrame,n=e.bindingRootIndex;return n===-1&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function Fh(){return Z.lFrame.bindingIndex}function Lh(e){return Z.lFrame.bindingIndex=e}function mr(){return Z.lFrame.bindingIndex++}function Pu(e){let n=Z.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function Vh(){return Z.lFrame.inI18n}function jh(e,n){let t=Z.lFrame;t.bindingIndex=t.bindingRootIndex=e,ta(n)}function Bh(){return Z.lFrame.currentDirectiveIndex}function ta(e){Z.lFrame.currentDirectiveIndex=e}function Uh(e){let n=Z.lFrame.currentDirectiveIndex;return n===-1?null:e[n]}function Fu(){return Z.lFrame.currentQueryIndex}function na(e){Z.lFrame.currentQueryIndex=e}function WC(e){let n=e[L];return n.type===2?n.declTNode:n.type===1?e[gt]:null}function Lu(e,n,t){if(t&4){let i=n,o=e;for(;i=i.parent,i===null&&!(t&1);)if(i=WC(o),i===null||(o=o[cr],i.type&10))break;if(i===null)return!1;n=i,e=o}let r=Z.lFrame=Hh();return r.currentTNode=n,r.lView=e,!0}function ra(e){let n=Hh(),t=e[L];Z.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function Hh(){let e=Z.lFrame,n=e===null?null:e.child;return n===null?$h(e):n}function $h(e){let n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return e!==null&&(e.child=n),n}function Gh(){let e=Z.lFrame;return Z.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var Vu=Gh;function ia(){let e=Gh();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function zh(e){return(Z.lFrame.contextLView=Ih(e,Z.lFrame.contextLView))[ye]}function dn(){return Z.lFrame.selectedIndex}function kn(e){Z.lFrame.selectedIndex=e}function oa(){let e=Z.lFrame;return lo(e.tView,e.selectedIndex)}function qh(){return Z.lFrame.currentNamespace}var Wh=!0;function sa(){return Wh}function aa(e){Wh=e}function Wc(e,n=null,t=null,r){let i=ju(e,n,t,r);return i.resolveInjectorInitializers(),i}function ju(e,n=null,t=null,r,i=new Set){let o=[t||rt,Ys(e)];return r=r||(typeof e=="object"?void 0:an(e)),new sr(o,n||io(),r||null,i)}var We=class e{static THROW_IF_NOT_FOUND=nr;static NULL=new Ji;static create(n,t){if(Array.isArray(n))return Wc({name:""},t,n,"");{let r=n.name??"";return Wc({name:r},n.parent,n.providers,r)}}static \u0275prov=_({token:e,providedIn:"any",factory:()=>A(uu)});static __NG_ELEMENT_ID__=-1},ue=new S(""),Ct=(()=>{class e{static __NG_ELEMENT_ID__=ZC;static __NG_ENV_ID__=t=>t}return e})(),Zc=class extends Ct{_lView;constructor(n){super(),this._lView=n}get destroyed(){return hr(this._lView)}onDestroy(n){let t=this._lView;return Su(t,n),()=>xh(t,n)}};function ZC(){return new Zc(q())}var Bu=!1,zt=(()=>{class e{taskId=0;pendingTasks=new Set;destroyed=!1;pendingTask=new Oe(!1);get hasPendingTasks(){return this.destroyed?!1:this.pendingTask.value}get hasPendingTasksObservable(){return this.destroyed?new Q(t=>{t.next(!1),t.complete()}):this.pendingTask}add(){!this.hasPendingTasks&&!this.destroyed&&this.pendingTask.next(!0);let t=this.taskId++;return this.pendingTasks.add(t),t}has(t){return this.pendingTasks.has(t)}remove(t){this.pendingTasks.delete(t),this.pendingTasks.size===0&&this.hasPendingTasks&&this.pendingTask.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks&&this.pendingTask.next(!1),this.destroyed=!0,this.pendingTask.unsubscribe()}static \u0275prov=_({token:e,providedIn:"root",factory:()=>new e})}return e})(),Yc=class extends Ce{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(n=!1){super(),this.__isAsync=n,vu()&&(this.destroyRef=C(Ct,{optional:!0})??void 0,this.pendingTasks=C(zt,{optional:!0})??void 0)}emit(n){let t=V(null);try{super.next(n)}finally{V(t)}}subscribe(n,t,r){let i=n,o=t||(()=>null),s=r;if(n&&typeof n=="object"){let l=n;i=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=this.wrapInTimeout(o),i&&(i=this.wrapInTimeout(i)),s&&(s=this.wrapInTimeout(s)));let a=super.subscribe({next:i,error:o,complete:s});return n instanceof _e&&n.add(a),a}wrapInTimeout(n){return t=>{let r=this.pendingTasks?.add();setTimeout(()=>{try{n(t)}finally{r!==void 0&&this.pendingTasks?.remove(r)}})}}},ve=Yc;function $s(...e){}function Uu(e){let n,t;function r(){e=$s;try{t!==void 0&&typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(t),n!==void 0&&clearTimeout(n)}catch{}}return n=setTimeout(()=>{e(),r()}),typeof requestAnimationFrame=="function"&&(t=requestAnimationFrame(()=>{e(),r()})),()=>r()}function Hu(e){return queueMicrotask(()=>e()),()=>{e=$s}}var $u="isAngularZone",Xi=$u+"_ID",YC=0,ce=class e{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new ve(!1);onMicrotaskEmpty=new ve(!1);onStable=new ve(!1);onError=new ve(!1);constructor(n){let{enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:r=!1,shouldCoalesceRunChangeDetection:i=!1,scheduleInRootZone:o=Bu}=n;if(typeof Zone>"u")throw new T(908,!1);Zone.assertZonePatched();let s=this;s._nesting=0,s._outer=s._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(s._inner=s._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!i&&r,s.shouldCoalesceRunChangeDetection=i,s.callbackScheduled=!1,s.scheduleInRootZone=o,JC(s)}static isInAngularZone(){return typeof Zone<"u"&&Zone.current.get($u)===!0}static assertInAngularZone(){if(!e.isInAngularZone())throw new T(909,!1)}static assertNotInAngularZone(){if(e.isInAngularZone())throw new T(909,!1)}run(n,t,r){return this._inner.run(n,t,r)}runTask(n,t,r,i){let o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+i,n,QC,$s,$s);try{return o.runTask(s,t,r)}finally{o.cancelTask(s)}}runGuarded(n,t,r){return this._inner.runGuarded(n,t,r)}runOutsideAngular(n){return this._outer.run(n)}},QC={};function Gu(e){if(e._nesting==0&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function KC(e){if(e.isCheckStableRunning||e.callbackScheduled)return;e.callbackScheduled=!0;function n(){Uu(()=>{e.callbackScheduled=!1,Qc(e),e.isCheckStableRunning=!0,Gu(e),e.isCheckStableRunning=!1})}e.scheduleInRootZone?Zone.root.run(()=>{n()}):e._outer.run(()=>{n()}),Qc(e)}function JC(e){let n=()=>{KC(e)},t=YC++;e._inner=e._inner.fork({name:"angular",properties:{[$u]:!0,[Xi]:t,[Xi+t]:!0},onInvokeTask:(r,i,o,s,a,l)=>{if(XC(l))return r.invokeTask(o,s,a,l);try{return oh(e),r.invokeTask(o,s,a,l)}finally{(e.shouldCoalesceEventChangeDetection&&s.type==="eventTask"||e.shouldCoalesceRunChangeDetection)&&n(),sh(e)}},onInvoke:(r,i,o,s,a,l,f)=>{try{return oh(e),r.invoke(o,s,a,l,f)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!eE(l)&&n(),sh(e)}},onHasTask:(r,i,o,s)=>{r.hasTask(o,s),i===o&&(s.change=="microTask"?(e._hasPendingMicrotasks=s.microTask,Qc(e),Gu(e)):s.change=="macroTask"&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(r,i,o,s)=>(r.handleError(o,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}function Qc(e){e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&e.callbackScheduled===!0?e.hasPendingMicrotasks=!0:e.hasPendingMicrotasks=!1}function oh(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function sh(e){e._nesting--,Gu(e)}var eo=class{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new ve;onMicrotaskEmpty=new ve;onStable=new ve;onError=new ve;run(n,t,r){return n.apply(t,r)}runGuarded(n,t,r){return n.apply(t,r)}runOutsideAngular(n){return n()}runTask(n,t,r,i){return n.apply(t,r)}};function XC(e){return Zh(e,"__ignore_ng_zone__")}function eE(e){return Zh(e,"__scheduler_tick__")}function Zh(e,n){return!Array.isArray(e)||e.length!==1?!1:e[0]?.data?.[n]===!0}var jt=class{_console=console;handleError(n){this._console.error("ERROR",n)}},Et=new S("",{factory:()=>{let e=C(ce),n=C(me),t;return r=>{e.runOutsideAngular(()=>{n.destroyed&&!t?setTimeout(()=>{throw r}):(t??=n.get(jt),t.handleError(r))})}}}),Yh={provide:Tn,useValue:()=>{let e=C(jt,{optional:!0})},multi:!0};function Dt(e,n){let[t,r,i]=wc(e,n?.equal),o=t,s=o[ze];return o.set=r,o.update=i,o.asReadonly=Qh.bind(o),o}function Qh(){let e=this[ze];if(e.readonlyFn===void 0){let n=()=>this();n[ze]=e,e.readonlyFn=n}return e.readonlyFn}var la=(()=>{class e{view;node;constructor(t,r){this.view=t,this.node=r}static __NG_ELEMENT_ID__=tE}return e})();function tE(){return new la(q(),Ve())}var ln=class{},ti=new S("",{factory:()=>!0});var ca=new S(""),uo=(()=>{class e{internalPendingTasks=C(zt);scheduler=C(ln);errorHandler=C(Et);add(){let t=this.internalPendingTasks.add();return()=>{this.internalPendingTasks.has(t)&&(this.scheduler.notify(11),this.internalPendingTasks.remove(t))}}run(t){let r=this.add();t().catch(this.errorHandler).finally(r)}static \u0275prov=_({token:e,providedIn:"root",factory:()=>new e})}return e})(),zu=(()=>{class e{static \u0275prov=_({token:e,providedIn:"root",factory:()=>new Kc})}return e})(),Kc=class{dirtyEffectCount=0;queues=new Map;add(n){this.enqueue(n),this.schedule(n)}schedule(n){n.dirty&&this.dirtyEffectCount++}remove(n){let t=n.zone,r=this.queues.get(t);r.has(n)&&(r.delete(n),n.dirty&&this.dirtyEffectCount--)}enqueue(n){let t=n.zone;this.queues.has(t)||this.queues.set(t,new Set);let r=this.queues.get(t);r.has(n)||r.add(n)}flush(){for(;this.dirtyEffectCount>0;){let n=!1;for(let[t,r]of this.queues)t===null?n||=this.flushQueue(r):n||=t.run(()=>this.flushQueue(r));n||(this.dirtyEffectCount=0)}}flushQueue(n){let t=!1;for(let r of n)r.dirty&&(this.dirtyEffectCount--,t=!0,r.run());return t}},Jc=class{[ze];constructor(n){this[ze]=n}destroy(){this[ze].destroy()}};function Re(e){return Sc(e)}function Eo(e){return{toString:e}.toString()}function uE(e){return typeof e=="function"}function Im(e,n,t,r){n!==null?n.applyValueToInputSignal(n,r):e[t]=r}var ga=class{previousValue;currentValue;firstChange;constructor(n,t,r){this.previousValue=n,this.currentValue=t,this.firstChange=r}isFirstChange(){return this.firstChange}},Zt=(()=>{let e=()=>xm;return e.ngInherit=!0,e})();function xm(e){return e.type.prototype.ngOnChanges&&(e.setInput=fE),dE}function dE(){let e=Mm(this),n=e?.current;if(n){let t=e.previous;if(t===xn)e.previous=n;else for(let r in n)t[r]=n[r];e.current=null,this.ngOnChanges(n)}}function fE(e,n,t,r,i){let o=this.declaredInputs[r],s=Mm(e)||pE(e,{previous:xn,current:null}),a=s.current||(s.current={}),l=s.previous,f=l[o];a[o]=new ga(f&&f.currentValue,t,l===xn),Im(e,n,i,t)}var Tm="__ngSimpleChanges__";function Mm(e){return e[Tm]||null}function pE(e,n){return e[Tm]=n}var Kh=[];var oe=function(e,n=null,t){for(let r=0;r=r)break}else n[l]<0&&(e[ur]+=65536),(a>14>16&&(e[j]&3)===n&&(e[j]+=16384,Jh(a,o)):Jh(a,o)}var ri=-1,vr=class{factory;name;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(n,t,r,i){this.factory=n,this.name=i,this.canSeeViewProviders=t,this.injectImpl=r}};function vE(e){return(e.flags&8)!==0}function yE(e){return(e.flags&16)!==0}function CE(e,n,t){let r=0;for(;rn){s=o-1;break}}}for(;o>16}function ya(e,n){let t=DE(e),r=n;for(;t>0;)r=r[cr],t--;return r}var rd=!0;function em(e){let n=rd;return rd=e,n}var _E=256,km=_E-1,Om=5,bE=0,qt={};function wE(e,n,t){let r;typeof t=="string"?r=t.charCodeAt(0)||0:t.hasOwnProperty(ar)&&(r=t[ar]),r==null&&(r=t[ar]=bE++);let i=r&km,o=1<>Om)]|=o}function Ca(e,n){let t=Pm(e,n);if(t!==-1)return t;let r=n[L];r.firstCreatePass&&(e.injectorIndex=n.length,Wu(r.data,e),Wu(n,null),Wu(r.blueprint,null));let i=Ad(e,n),o=e.injectorIndex;if(Rm(i)){let s=va(i),a=ya(i,n),l=a[L].data;for(let f=0;f<8;f++)n[o+f]=a[s+f]|l[s+f]}return n[o+8]=i,o}function Wu(e,n){e.push(0,0,0,0,0,0,0,0,n)}function Pm(e,n){return e.injectorIndex===-1||e.parent&&e.parent.injectorIndex===e.injectorIndex||n[e.injectorIndex+8]===null?-1:e.injectorIndex}function Ad(e,n){if(e.parent&&e.parent.injectorIndex!==-1)return e.parent.injectorIndex;let t=0,r=null,i=n;for(;i!==null;){if(r=Bm(i),r===null)return ri;if(t++,i=i[cr],r.injectorIndex!==-1)return r.injectorIndex|t<<16}return ri}function id(e,n,t){wE(e,n,t)}function SE(e,n){if(n==="class")return e.classes;if(n==="style")return e.styles;let t=e.attrs;if(t){let r=t.length,i=0;for(;i>20,m=r?a:a+p,y=i?a+p:f;for(let v=m;v=l&&b.type===t)return v}if(i){let v=s[l];if(v&&$t(v)&&v.type===t)return l}return null}function ho(e,n,t,r,i){let o=e[t],s=n.data;if(o instanceof vr){let a=o;if(a.resolving){let v=lh(s[t]);throw au(v)}let l=em(a.canSeeViewProviders);a.resolving=!0;let f=s[t].type||s[t],p,m=a.injectImpl?nt(a.injectImpl):null,y=Lu(e,r,0);try{o=e[t]=a.factory(void 0,i,s,e,r),n.firstCreatePass&&t>=r.directiveStart&&hE(t,s[t],n)}finally{m!==null&&nt(m),em(l),a.resolving=!1,Vu()}}return o}function xE(e){if(typeof e=="string")return e.charCodeAt(0)||0;let n=e.hasOwnProperty(ar)?e[ar]:void 0;return typeof n=="number"?n>=0?n&km:TE:n}function tm(e,n,t){let r=1<>Om)]&r)}function nm(e,n){return!(e&2)&&!(e&1&&n)}var gr=class{_tNode;_lView;constructor(n,t){this._tNode=n,this._lView=t}get(n,t,r){return Vm(this._tNode,this._lView,n,rr(r),t)}};function TE(){return new gr(Ve(),q())}function st(e){return Eo(()=>{let n=e.prototype.constructor,t=n[Ki]||od(n),r=Object.prototype,i=Object.getPrototypeOf(e.prototype).constructor;for(;i&&i!==r;){let o=i[Ki]||od(i);if(o&&o!==t)return o;i=Object.getPrototypeOf(i)}return o=>new o})}function od(e){return eu(e)?()=>{let n=od(Fe(e));return n&&n()}:ir(e)}function ME(e,n,t,r,i){let o=e,s=n;for(;o!==null&&s!==null&&s[j]&2048&&!Jr(s);){let a=jm(o,s,t,r|2,qt);if(a!==qt)return a;let l=o.parent;if(!l){let f=s[Cu];if(f){let p=f.get(t,qt,r);if(p!==qt)return p}l=Bm(s),s=s[cr]}o=l}return i}function Bm(e){let n=e[L],t=n.type;return t===2?n.declTNode:t===1?e[gt]:null}function Do(e){return SE(Ve(),e)}function AE(){return ci(Ve(),q())}function ci(e,n){return new Se(Tt(e,n))}var Se=(()=>{class e{nativeElement;constructor(t){this.nativeElement=t}static __NG_ELEMENT_ID__=AE}return e})();function NE(e){return e instanceof Se?e.nativeElement:e}function RE(){return this._results[Symbol.iterator]()}var Ea=class{_emitDistinctChangesOnly;dirty=!0;_onDirty=void 0;_results=[];_changesDetected=!1;_changes=void 0;length=0;first=void 0;last=void 0;get changes(){return this._changes??=new Ce}constructor(n=!1){this._emitDistinctChangesOnly=n}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,t){return this._results.reduce(n,t)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,t){this.dirty=!1;let r=ph(n);(this._changesDetected=!fh(this._results,r,t))&&(this._results=r,this.length=r.length,this.last=r[this.length-1],this.first=r[0])}notifyOnChanges(){this._changes!==void 0&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.next(this)}onDirty(n){this._onDirty=n}setDirty(){this.dirty=!0,this._onDirty?.()}destroy(){this._changes!==void 0&&(this._changes.complete(),this._changes.unsubscribe())}[Symbol.iterator]=RE};function Um(e){return(e.flags&128)===128}var Nd=(function(e){return e[e.OnPush=0]="OnPush",e[e.Default=1]="Default",e})(Nd||{}),Hm=new Map,kE=0;function OE(){return kE++}function PE(e){Hm.set(e[oo],e)}function sd(e){Hm.delete(e[oo])}var rm="__ngContext__";function oi(e,n){Ht(n)?(e[rm]=n[oo],PE(n)):e[rm]=n}function $m(e){return zm(e[Kr])}function Gm(e){return zm(e[mt])}function zm(e){for(;e!==null&&!xt(e);)e=e[mt];return e}var FE;function Rd(e){FE=e}var Oa=new S("",{factory:()=>LE}),LE="ng";var Pa=new S(""),_o=new S("",{providedIn:"platform",factory:()=>"unknown"});var Fa=new S("",{factory:()=>C(ue).body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});var qm="r";var Wm="di";var Zm=!1,Ym=new S("",{factory:()=>Zm});var kd=new S("");var VE=(e,n,t,r)=>{};function jE(e,n,t,r){VE(e,n,t,r)}function Od(e){return(e.flags&32)===32}var BE=()=>null;function Qm(e,n,t=!1){return BE(e,n,t)}function Km(e,n){let t=e.contentQueries;if(t!==null){let r=V(null);try{for(let i=0;ie,createScript:e=>e,createScriptURL:e=>e})}catch{}return ua}function im(e){return UE()?.createScriptURL(e)||e}var Da=class{changingThisBreaksApplicationSecurity;constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Gs})`}};function bo(e){return e instanceof Da?e.changingThisBreaksApplicationSecurity:e}function Pd(e,n){let t=Xm(e);if(t!=null&&t!==n){if(t==="ResourceURL"&&n==="URL")return!0;throw new Error(`Required a safe ${n}, got a ${t} (see ${Gs})`)}return t===n}function Xm(e){return e instanceof Da&&e.getTypeName()||null}var HE=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function eg(e){return e=String(e),e.match(HE)?e:"unsafe:"+e}function $E(e,n){return e.createText(n)}function GE(e,n,t){e.setValue(n,t)}function tg(e,n,t){return e.createElement(n,t)}function _a(e,n,t,r,i){e.insertBefore(n,t,r,i)}function ng(e,n,t){e.appendChild(n,t)}function om(e,n,t,r,i){r!==null?_a(e,n,t,r,i):ng(e,n,t)}function rg(e,n,t,r){e.removeChild(null,n,t,r)}function zE(e,n,t){e.setAttribute(n,"style",t)}function qE(e,n,t){t===""?e.removeAttribute(n,"class"):e.setAttribute(n,"class",t)}function ig(e,n,t){let{mergedAttrs:r,classes:i,styles:o}=t;r!==null&&CE(e,n,r),i!==null&&qE(e,n,i),o!==null&&zE(e,n,o)}var La=(function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e})(La||{});function _r(e){let n=sg();return n?n.sanitize(La.URL,e)||"":Pd(e,"URL")?bo(e):eg(lr(e))}function og(e){let n=sg();if(n)return im(n.sanitize(La.RESOURCE_URL,e)||"");if(Pd(e,"ResourceURL"))return im(bo(e));throw new T(904,!1)}function WE(e,n){return n==="src"&&(e==="embed"||e==="frame"||e==="iframe"||e==="media"||e==="script")||n==="href"&&(e==="base"||e==="link")?og:_r}function Fd(e,n,t){return WE(n,t)(e)}function sg(){let e=q();return e&&e[Bt].sanitizer}function ag(e){return e instanceof Function?e():e}function ZE(e,n,t){let r=e.length;for(;;){let i=e.indexOf(n,t);if(i===-1)return i;if(i===0||e.charCodeAt(i-1)<=32){let o=n.length;if(i+o===r||e.charCodeAt(i+o)<=32)return i}t=i+1}}var lg="ng-template";function YE(e,n,t,r){let i=0;if(r){for(;i-1){let o;for(;++io?m="":m=i[p+1].toLowerCase(),r&2&&f!==m){if(Mt(r))return!1;s=!0}}}}return Mt(r)||s}function Mt(e){return(e&1)===0}function JE(e,n,t,r){if(n===null)return-1;let i=0;if(r||!t){let o=!1;for(;i-1)for(t++;t0?'="'+a+'"':"")+"]"}else r&8?i+="."+s:r&4&&(i+=" "+s);else i!==""&&!Mt(s)&&(n+=sm(o,i),i=""),r=s,o=o||!Mt(r);t++}return i!==""&&(n+=sm(o,i)),n}function rD(e){return e.map(nD).join(",")}function iD(e){let n=[],t=[],r=1,i=2;for(;r{class e{impl=null;execute(){this.impl?.execute()}static \u0275prov=_({token:e,providedIn:"root",factory:()=>new e})}return e})(),fg=[0,1,2,3],pg=(()=>{class e{ngZone=C(ce);scheduler=C(ln);errorHandler=C(jt,{optional:!0});sequences=new Set;deferredRegistrations=new Set;executing=!1;constructor(){C(pn,{optional:!0})}execute(){let t=this.sequences.size>0;t&&oe(J.AfterRenderHooksStart),this.executing=!0;for(let r of fg)for(let i of this.sequences)if(!(i.erroredOrDestroyed||!i.hooks[r]))try{i.pipelinedValue=this.ngZone.runOutsideAngular(()=>this.maybeTrace(()=>{let o=i.hooks[r];return o(i.pipelinedValue)},i.snapshot))}catch(o){i.erroredOrDestroyed=!0,this.errorHandler?.handleError(o)}this.executing=!1;for(let r of this.sequences)r.afterRun(),r.once&&(this.sequences.delete(r),r.destroy());for(let r of this.deferredRegistrations)this.sequences.add(r);this.deferredRegistrations.size>0&&this.scheduler.notify(7),this.deferredRegistrations.clear(),t&&oe(J.AfterRenderHooksEnd)}register(t){let{view:r}=t;r!==void 0?((r[dr]??=[]).push(t),Xr(r),r[j]|=8192):this.executing?this.deferredRegistrations.add(t):this.addSequence(t)}addSequence(t){this.sequences.add(t),this.scheduler.notify(7)}unregister(t){this.executing&&this.sequences.has(t)?(t.erroredOrDestroyed=!0,t.pipelinedValue=void 0,t.once=!0):(this.sequences.delete(t),this.deferredRegistrations.delete(t))}maybeTrace(t,r){return r?r.run(ja.AFTER_NEXT_RENDER,t):t()}static \u0275prov=_({token:e,providedIn:"root",factory:()=>new e})}return e})(),ba=class{impl;hooks;view;once;snapshot;erroredOrDestroyed=!1;pipelinedValue=void 0;unregisterOnDestroy;constructor(n,t,r,i,o,s=null){this.impl=n,this.hooks=t,this.view=r,this.once=i,this.snapshot=s,this.unregisterOnDestroy=o?.onDestroy(()=>this.destroy())}afterRun(){this.erroredOrDestroyed=!1,this.pipelinedValue=void 0,this.snapshot?.dispose(),this.snapshot=null}destroy(){this.impl.unregister(this),this.unregisterOnDestroy?.();let n=this.view?.[dr];n&&(this.view[dr]=n.filter(t=>t!==this))}};function wo(e,n){let t=n?.injector??C(We);return Nt("NgAfterNextRender"),uD(e,t,n,!0)}function cD(e){return e instanceof Function?[void 0,void 0,e,void 0]:[e.earlyRead,e.write,e.mixedReadWrite,e.read]}function uD(e,n,t,r){let i=n.get(Hd);i.impl??=n.get(pg);let o=n.get(pn,null,{optional:!0}),s=t?.manualCleanup!==!0?n.get(Ct):null,a=n.get(la,null,{optional:!0}),l=new ba(i.impl,cD(e),a?.view,r,s,o?.snapshot(null));return i.impl.register(l),l}var hg=new S("",{factory:()=>({queue:new Set,isScheduled:!1,scheduler:null,injector:C(me)})});function mg(e,n,t){let r=e.get(hg);if(Array.isArray(n))for(let i of n)r.queue.add(i),t?.detachedLeaveAnimationFns?.push(i);else r.queue.add(n),t?.detachedLeaveAnimationFns?.push(n);r.scheduler&&r.scheduler(e)}function dD(e,n){let t=e.get(hg);if(n.detachedLeaveAnimationFns){for(let r of n.detachedLeaveAnimationFns)t.queue.delete(r);n.detachedLeaveAnimationFns=void 0}}function fD(e,n){for(let[t,r]of n)mg(e,r.animateFns)}function lm(e,n,t,r){let i=e?.[fr]?.enter;n!==null&&i&&i.has(t.index)&&fD(r,i)}function ni(e,n,t,r,i,o,s,a){if(i!=null){let l,f=!1;xt(i)?l=i:Ht(i)&&(f=!0,i=i[It]);let p=vt(i);e===0&&r!==null?(lm(a,r,o,t),s==null?ng(n,r,p):_a(n,r,p,s||null,!0)):e===1&&r!==null?(lm(a,r,o,t),_a(n,r,p,s||null,!0)):e===2?cm(a,o,t,m=>{rg(n,p,f,m)}):e===3&&cm(a,o,t,()=>{n.destroyNode(p)}),l!=null&&SD(n,e,t,l,o,r,s)}}function pD(e,n){gg(e,n),n[It]=null,n[gt]=null}function hD(e,n,t,r,i,o){r[It]=i,r[gt]=n,Ua(e,r,t,1,i,o)}function gg(e,n){n[Bt].changeDetectionScheduler?.notify(9),Ua(e,n,n[pe],2,null,null)}function mD(e){let n=e[Kr];if(!n)return Zu(e[L],e);for(;n;){let t=null;if(Ht(n))t=n[Kr];else{let r=n[ge];r&&(t=r)}if(!t){for(;n&&!n[mt]&&n!==e;)Ht(n)&&Zu(n[L],n),n=n[we];n===null&&(n=e),Ht(n)&&Zu(n[L],n),t=n&&n[mt]}n=t}}function $d(e,n){let t=e[pr],r=t.indexOf(n);t.splice(r,1)}function Ba(e,n){if(hr(n))return;let t=n[pe];t.destroyNode&&Ua(e,n,t,3,null,null),mD(n)}function Zu(e,n){if(hr(n))return;let t=V(null);try{n[j]&=-129,n[j]|=256,n[ot]&&Gi(n[ot]),yD(e,n),vD(e,n),n[L].type===1&&n[pe].destroy();let r=n[An];if(r!==null&&xt(n[we])){r!==n[we]&&$d(r,n);let i=n[Ut];i!==null&&i.detachView(e)}sd(n)}finally{V(t)}}function cm(e,n,t,r){let i=e?.[fr];if(i==null||i.leave==null||!i.leave.has(n.index))return r(!1);e&&yr.add(e),mg(t,()=>{if(i.leave&&i.leave.has(n.index)){let s=i.leave.get(n.index),a=[];if(s){for(let l=0;l{e[fr].running=void 0,yr.delete(e),n(!0)});return}n(!1)}function vD(e,n){let t=e.cleanup,r=n[Qr];if(t!==null)for(let s=0;s=0?r[a]():r[-a].unsubscribe(),s+=2}else{let a=r[t[s+1]];t[s].call(a)}r!==null&&(n[Qr]=null);let i=n[sn];if(i!==null){n[sn]=null;for(let s=0;sNe&&dg(e,n,Ne,!1);let a=s?J.TemplateUpdateStart:J.TemplateCreateStart;oe(a,i,t),t(r,i)}finally{kn(o);let a=s?J.TemplateUpdateEnd:J.TemplateCreateEnd;oe(a,i,t)}}function Cg(e,n,t){kD(e,n,t),(t.flags&64)===64&&OD(e,n,t)}function qd(e,n,t=Tt){let r=n.localNames;if(r!==null){let i=n.index+1;for(let o=0;onull;function AD(e){return e==="class"?"className":e==="for"?"htmlFor":e==="formaction"?"formAction":e==="innerHtml"?"innerHTML":e==="readonly"?"readOnly":e==="tabindex"?"tabIndex":e}function Eg(e,n,t,r,i,o){let s=n[L];if(Wd(e,s,n,t,r)){Rn(e)&&RD(n,e.index);return}e.type&3&&(t=AD(t)),ND(e,n,t,r,i,o)}function ND(e,n,t,r,i,o){if(e.type&3){let s=Tt(e,n);r=o!=null?o(r,e.value||"",t):r,i.setProperty(s,t,r)}else e.type&12}function RD(e,n){let t=yt(n,e);t[j]&16||(t[j]|=64)}function kD(e,n,t){let r=t.directiveStart,i=t.directiveEnd;Rn(t)&&aD(n,t,e.data[r+t.componentOffset]),e.firstCreatePass||Ca(t,n);let o=t.initialInputs;for(let s=r;s{Xr(e.lView)},consumerOnSignalRead(){this.lView[ot]=this}});function ZD(e){let n=e[ot]??Object.create(YD);return n.lView=e,n}var YD=Y(D({},Ui),{consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:e=>{let n=Sn(e.lView);for(;n&&!Ig(n[L]);)n=Sn(n);n&&wu(n)},consumerOnSignalRead(){this.lView[ot]=this}});function Ig(e){return e.type!==2}function xg(e){if(e[so]===null)return;let n=!0;for(;n;){let t=!1;for(let r of e[so])r.dirty&&(t=!0,r.zone===null||Zone.current===r.zone?r.run():r.zone.run(()=>r.run()));n=t&&!!(e[j]&8192)}}var QD=100;function Tg(e,n=0){let r=e[Bt].rendererFactory,i=!1;i||r.begin?.();try{KD(e,n)}finally{i||r.end?.()}}function KD(e,n){let t=ku();try{Ou(!0),ud(e,n);let r=0;for(;co(e);){if(r===QD)throw new T(103,!1);r++,ud(e,1)}}finally{Ou(t)}}function JD(e,n,t,r){if(hr(n))return;let i=n[j],o=!1,s=!1;ra(n);let a=!0,l=null,f=null;o||(Ig(e)?(f=GD(n),l=$i(f)):us()===null?(a=!1,f=ZD(n),l=$i(f)):n[ot]&&(Gi(n[ot]),n[ot]=null));try{bu(n),Lh(e.bindingStartIndex),t!==null&&yg(e,n,t,2,r);let p=(i&3)===3;if(!o)if(p){let v=e.preOrderCheckHooks;v!==null&&fa(n,v,null)}else{let v=e.preOrderHooks;v!==null&&pa(n,v,0,null),qu(n,0)}if(s||XD(n),xg(n),Mg(n,0),e.contentQueries!==null&&Km(e,n),!o)if(p){let v=e.contentCheckHooks;v!==null&&fa(n,v)}else{let v=e.contentHooks;v!==null&&pa(n,v,1),qu(n,1)}t_(e,n);let m=e.components;m!==null&&Ng(n,m,0);let y=e.viewQuery;if(y!==null&&ad(2,y,r),!o)if(p){let v=e.viewCheckHooks;v!==null&&fa(n,v)}else{let v=e.viewHooks;v!==null&&pa(n,v,2),qu(n,2)}if(e.firstUpdatePass===!0&&(e.firstUpdatePass=!1),n[Qs]){for(let v of n[Qs])v();n[Qs]=null}o||(wg(n),n[j]&=-73)}catch(p){throw o||Xr(n),p}finally{f!==null&&(ds(f,l),a&&qD(f)),ia()}}function Mg(e,n){for(let t=$m(e);t!==null;t=Gm(t))for(let r=ge;r0&&(e[t-1][mt]=r[mt]);let o=no(e,ge+n);pD(r[L],r);let s=o[Ut];s!==null&&s.detachView(o[L]),r[we]=null,r[mt]=null,r[j]&=-129}return r}function n_(e,n,t,r){let i=ge+r,o=t.length;r>0&&(t[i-1][mt]=n),r-1&&(vo(n,r),no(t,r))}this._attachedToViewContainer=!1}Ba(this._lView[L],this._lView)}onDestroy(n){Su(this._lView,n)}markForCheck(){Yd(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[j]&=-129}reattach(){Xs(this._lView),this._lView[j]|=128}detectChanges(){this._lView[j]|=1024,Tg(this._lView)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new T(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let n=Jr(this._lView),t=this._lView[An];t!==null&&!n&&$d(t,this._lView),gg(this._lView[L],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new T(902,!1);this._appRef=n;let t=Jr(this._lView),r=this._lView[An];r!==null&&!t&&Pg(r,this._lView),Xs(this._lView)}};var si=(()=>{class e{_declarationLView;_declarationTContainer;elementRef;static __NG_ELEMENT_ID__=r_;constructor(t,r,i){this._declarationLView=t,this._declarationTContainer=r,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,r){return this.createEmbeddedViewImpl(t,r)}createEmbeddedViewImpl(t,r,i){let o=Ha(this._declarationLView,this._declarationTContainer,t,{embeddedViewInjector:r,dehydratedView:i});return new On(o)}}return e})();function r_(){return Qd(Ve(),q())}function Qd(e,n){return e.type&4?new si(n,e,ci(e,n)):null}function Ga(e,n,t,r,i){let o=e.data[n];if(o===null)o=i_(e,n,t,r,i),Vh()&&(o.flags|=32);else if(o.type&64){o.type=t,o.value=r,o.attrs=i;let s=kh();o.injectorIndex=s===null?-1:s.injectorIndex}return ei(o,!0),o}function i_(e,n,t,r,i){let o=Nu(),s=Ru(),a=s?o:o&&o.parent,l=e.data[n]=s_(e,a,t,n,r,i);return o_(e,l,o,s),l}function o_(e,n,t,r){e.firstChild===null&&(e.firstChild=n),t!==null&&(r?t.child==null&&n.parent!==null&&(t.child=n):t.next===null&&(t.next=n,n.prev=t))}function s_(e,n,t,r,i,o){let s=n?n.injectorIndex:-1,a=0;return Rh()&&(a|=128),{type:t,index:r,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,fieldIndex:-1,customControlIndex:-1,propertyBindings:null,flags:a,providerIndexes:0,value:i,attrs:o,mergedAttrs:null,localNames:null,initialInputs:null,inputs:null,hostDirectiveInputs:null,outputs:null,hostDirectiveOutputs:null,directiveToIndex:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}function a_(e){let n=e[Eu]??[],r=e[we][pe],i=[];for(let o of n)o.data[Wm]!==void 0?i.push(o):l_(o,r);e[Eu]=i}function l_(e,n){let t=0,r=e.firstChild;if(r){let i=e.data[qm];for(;tnull,u_=()=>null;function dd(e,n){return c_(e,n)}function Fg(e,n,t){return u_(e,n,t)}var Lg=class{},za=class{},fd=class{resolveComponentFactory(n){throw new T(917,!1)}},So=class{static NULL=new fd},Cr=class{},lt=(()=>{class e{destroyNode=null;static __NG_ELEMENT_ID__=()=>d_()}return e})();function d_(){let e=q(),n=Ve(),t=yt(n.index,e);return(Ht(t)?t:e)[pe]}var Vg=(()=>{class e{static \u0275prov=_({token:e,providedIn:"root",factory:()=>null})}return e})();var ma={},pd=class{injector;parentInjector;constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,r){let i=this.injector.get(n,ma,r);return i!==ma||t===ma?i:this.parentInjector.get(n,t,r)}};function wa(e,n,t){let r=t?e.styles:null,i=t?e.classes:null,o=0;if(n!==null)for(let s=0;s0&&(t.directiveToIndex=new Map);for(let y=0;y0;){let t=e[--n];if(typeof t=="number"&&t<0)return t}return 0}function E_(e,n,t){if(t){if(n.exportAs)for(let r=0;rr(vt(F[e.index])):e.index;$g(b,n,t,o,a,v,!1)}}return f}function S_(e){return e.startsWith("animation")||e.startsWith("transition")}function I_(e,n,t,r){let i=e.cleanup;if(i!=null)for(let o=0;ol?a[l]:null}typeof s=="string"&&(o+=2)}return null}function $g(e,n,t,r,i,o,s){let a=n.firstCreatePass?xu(n):null,l=Iu(t),f=l.length;l.push(i,o),a&&a.push(r,e,f,(f+1)*(s?-1:1))}function mm(e,n,t,r,i,o){let s=n[t],a=n[L],f=a.data[t].outputs[r],m=s[f].subscribe(o);$g(e.index,a,n,i,o,m,!0)}var hd=Symbol("BINDING");var Sa=class extends So{ngModule;constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){let t=cn(n);return new Er(t,this.ngModule)}};function x_(e){return Object.keys(e).map(n=>{let[t,r,i]=e[n],o={propName:t,templateName:n,isSignal:(r&Va.SignalBased)!==0};return i&&(o.transform=i),o})}function T_(e){return Object.keys(e).map(n=>({propName:e[n],templateName:n}))}function M_(e,n,t){let r=n instanceof me?n:n?.injector;return r&&e.getStandaloneInjector!==null&&(r=e.getStandaloneInjector(r)||r),r?new pd(t,r):t}function A_(e){let n=e.get(Cr,null);if(n===null)throw new T(407,!1);let t=e.get(Vg,null),r=e.get(ln,null);return{rendererFactory:n,sanitizer:t,changeDetectionScheduler:r,ngReflect:!1}}function N_(e,n){let t=Gg(e);return tg(n,t,t==="svg"?Dh:t==="math"?_h:null)}function Gg(e){return(e.selectors[0][0]||"div").toLowerCase()}var Er=class extends za{componentDef;ngModule;selector;componentType;ngContentSelectors;isBoundToModule;cachedInputs=null;cachedOutputs=null;get inputs(){return this.cachedInputs??=x_(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=T_(this.componentDef.outputs),this.cachedOutputs}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=rD(n.selectors),this.ngContentSelectors=n.ngContentSelectors??[],this.isBoundToModule=!!t}create(n,t,r,i,o,s){oe(J.DynamicComponentStart);let a=V(null);try{let l=this.componentDef,f=R_(r,l,s,o),p=M_(l,i||this.ngModule,n),m=A_(p),y=m.rendererFactory.createRenderer(null,l),v=r?xD(y,r,l.encapsulation,p):N_(l,y),b=s?.some(gm)||o?.some(M=>typeof M!="function"&&M.bindings.some(gm)),F=jd(null,f,null,512|cg(l),null,null,m,y,p,null,Qm(v,p,!0));F[Ne]=v,ra(F);let N=null;try{let M=Bg(Ne,F,2,"#host",()=>f.directiveRegistry,!0,0);ig(y,v,M),oi(v,F),Cg(f,F,M),Jm(f,M,F),Ug(f,M),t!==void 0&&O_(M,this.ngContentSelectors,t),N=yt(M.index,F),F[ye]=N[ye],Zd(f,F,null)}catch(M){throw N!==null&&sd(N),sd(F),M}finally{oe(J.DynamicComponentEnd),ia()}return new Ia(this.componentType,F,!!b)}finally{V(a)}}};function R_(e,n,t,r){let i=e?["ng-version","21.0.3"]:iD(n.selectors[0]),o=null,s=null,a=0;if(t)for(let p of t)a+=p[hd].requiredVars,p.create&&(p.targetIdx=0,(o??=[]).push(p)),p.update&&(p.targetIdx=0,(s??=[]).push(p));if(r)for(let p=0;p{if(t&1&&e)for(let r of e)r.create();if(t&2&&n)for(let r of n)r.update()}}function gm(e){let n=e[hd].kind;return n==="input"||n==="twoWay"}var Ia=class extends Lg{_rootLView;_hasInputBindings;instance;hostView;changeDetectorRef;componentType;location;previousInputValues=null;_tNode;constructor(n,t,r){super(),this._rootLView=t,this._hasInputBindings=r,this._tNode=lo(t[L],Ne),this.location=ci(this._tNode,t),this.instance=yt(this._tNode.index,t)[ye],this.hostView=this.changeDetectorRef=new On(t,void 0),this.componentType=n}setInput(n,t){this._hasInputBindings;let r=this._tNode;if(this.previousInputValues??=new Map,this.previousInputValues.has(n)&&Object.is(this.previousInputValues.get(n),t))return;let i=this._rootLView,o=Wd(r,i[L],i,n,t);this.previousInputValues.set(n,t);let s=yt(r.index,i);Yd(s,1)}get injector(){return new gr(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(n){this.hostView.onDestroy(n)}};function O_(e,n,t){let r=e.projection=[];for(let i=0;i{class e{static __NG_ELEMENT_ID__=P_}return e})();function P_(){let e=Ve();return qg(e,q())}var F_=br,zg=class extends F_{_lContainer;_hostTNode;_hostLView;constructor(n,t,r){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=r}get element(){return ci(this._hostTNode,this._hostLView)}get injector(){return new gr(this._hostTNode,this._hostLView)}get parentInjector(){let n=Ad(this._hostTNode,this._hostLView);if(Rm(n)){let t=ya(n,this._hostLView),r=va(n),i=t[L].data[r+8];return new gr(i,t)}else return new gr(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){let t=vm(this._lContainer);return t!==null&&t[n]||null}get length(){return this._lContainer.length-ge}createEmbeddedView(n,t,r){let i,o;typeof r=="number"?i=r:r!=null&&(i=r.index,o=r.injector);let s=dd(this._lContainer,n.ssrId),a=n.createEmbeddedViewImpl(t||{},o,s);return this.insertImpl(a,i,mo(this._hostTNode,s)),a}createComponent(n,t,r,i,o,s,a){let l=n&&!uE(n),f;if(l)f=t;else{let N=t||{};f=N.index,r=N.injector,i=N.projectableNodes,o=N.environmentInjector||N.ngModuleRef,s=N.directives,a=N.bindings}let p=l?n:new Er(cn(n)),m=r||this.parentInjector;if(!o&&p.ngModule==null){let M=(l?m:this.parentInjector).get(me,null);M&&(o=M)}let y=cn(p.componentType??{}),v=dd(this._lContainer,y?.id??null),b=v?.firstChild??null,F=p.create(m,i,b,o,s,a);return this.insertImpl(F.hostView,f,mo(this._hostTNode,v)),F}insert(n,t){return this.insertImpl(n,t,!0)}insertImpl(n,t,r){let i=n._lView;if(Sh(i)){let a=this.indexOf(n);if(a!==-1)this.detach(a);else{let l=i[we],f=new zg(l,l[gt],l[we]);f.detach(f.indexOf(n))}}let o=this._adjustIndex(t),s=this._lContainer;return $a(s,i,o,r),n.attachToViewContainerRef(),cu(Qu(s),o,n),n}move(n,t){return this.insert(n,t)}indexOf(n){let t=vm(this._lContainer);return t!==null?t.indexOf(n):-1}remove(n){let t=this._adjustIndex(n,-1),r=vo(this._lContainer,t);r&&(no(Qu(this._lContainer),t),Ba(r[L],r))}detach(n){let t=this._adjustIndex(n,-1),r=vo(this._lContainer,t);return r&&no(Qu(this._lContainer),t)!=null?new On(r):null}_adjustIndex(n,t=0){return n??this.length+t}};function vm(e){return e[ao]}function Qu(e){return e[ao]||(e[ao]=[])}function qg(e,n){let t,r=n[e.index];return xt(r)?t=r:(t=Rg(r,n,null,e),n[e.index]=t,Bd(n,t)),V_(t,n,e,r),new zg(t,e,n)}function L_(e,n){let t=e[pe],r=t.createComment(""),i=Tt(n,e),o=t.parentNode(i);return _a(t,o,r,t.nextSibling(i),!1),r}var V_=U_,j_=()=>!1;function B_(e,n,t){return j_(e,n,t)}function U_(e,n,t,r){if(e[Nn])return;let i;t.type&8?i=vt(r):i=L_(n,t),e[Nn]=i}var md=class e{queryList;matches=null;constructor(n){this.queryList=n}clone(){return new e(this.queryList)}setDirty(){this.queryList.setDirty()}},gd=class e{queries;constructor(n=[]){this.queries=n}createEmbeddedView(n){let t=n.queries;if(t!==null){let r=n.contentQueries!==null?n.contentQueries[0]:t.length,i=[];for(let o=0;o0)r.push(s[a/2]);else{let f=o[a+1],p=n[-l];for(let m=ge;mn.trim())}function Q_(e,n,t){e.queries===null&&(e.queries=new yd),e.queries.track(new Cd(n,t))}function K_(e,n){let t=e.contentQueries||(e.contentQueries=[]),r=t.length?t[t.length-1]:-1;n!==r&&t.push(e.queries.length-1,n)}function Xd(e,n){return e.queries.getByIndex(n)}function J_(e,n){let t=e[L],r=Xd(t,n);return r.crossesNgTemplate?Ed(t,e,n,[]):Wg(t,e,r,n)}var ai=class{},qa=class{};var xa=class extends ai{ngModuleType;_parent;_bootstrapComponents=[];_r3Injector;instance;destroyCbs=[];componentFactoryResolver=new Sa(this);constructor(n,t,r,i=!0){super(),this.ngModuleType=n,this._parent=t;let o=fu(n);this._bootstrapComponents=ag(o.bootstrap),this._r3Injector=ju(n,t,[{provide:ai,useValue:this},{provide:So,useValue:this.componentFactoryResolver},...r],an(n),new Set(["environment"])),i&&this.resolveInjectorInitializers()}resolveInjectorInitializers(){this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(this.ngModuleType)}get injector(){return this._r3Injector}destroy(){let n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}},Ta=class extends qa{moduleType;constructor(n){super(),this.moduleType=n}create(n){return new xa(this.moduleType,n,[])}};var yo=class extends ai{injector;componentFactoryResolver=new Sa(this);instance=null;constructor(n){super();let t=new sr([...n.providers,{provide:ai,useValue:this},{provide:So,useValue:this.componentFactoryResolver}],n.parent||io(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}};function ui(e,n,t=null){return new yo({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}var X_=(()=>{class e{_injector;cachedInjectors=new Map;constructor(t){this._injector=t}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){let r=hu(!1,t.type),i=r.length>0?ui([r],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,i)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(let t of this.cachedInjectors.values())t!==null&&t.destroy()}finally{this.cachedInjectors.clear()}}static \u0275prov=_({token:e,providedIn:"environment",factory:()=>new e(A(me))})}return e})();function le(e){return Eo(()=>{let n=Zg(e),t=Y(D({},n),{decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===Nd.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:n.standalone?i=>i.get(X_).getOrCreateStandaloneInjector(t):null,getExternalStyles:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||At.Emulated,styles:e.styles||rt,_:null,schemas:e.schemas||null,tView:null,id:""});n.standalone&&Nt("NgStandalone"),Yg(t);let r=e.dependencies;return t.directiveDefs=ym(r,eb),t.pipeDefs=ym(r,gh),t.id=rb(t),t})}function eb(e){return cn(e)||pu(e)}function Ye(e){return Eo(()=>({type:e.type,bootstrap:e.bootstrap||rt,declarations:e.declarations||rt,imports:e.imports||rt,exports:e.exports||rt,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function tb(e,n){if(e==null)return xn;let t={};for(let r in e)if(e.hasOwnProperty(r)){let i=e[r],o,s,a,l;Array.isArray(i)?(a=i[0],o=i[1],s=i[2]??o,l=i[3]||null):(o=i,s=i,a=Va.None,l=null),t[o]=[r,a,l],n[o]=s}return t}function nb(e){if(e==null)return xn;let n={};for(let t in e)e.hasOwnProperty(t)&&(n[e[t]]=t);return n}function se(e){return Eo(()=>{let n=Zg(e);return Yg(n),n})}function Zg(e){let n={};return{type:e.type,providersResolver:null,viewProvidersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputConfig:e.inputs||xn,exportAs:e.exportAs||null,standalone:e.standalone??!0,signals:e.signals===!0,selectors:e.selectors||rt,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,resolveHostDirectives:null,hostDirectives:null,inputs:tb(e.inputs,n),outputs:nb(e.outputs),debugInfo:null}}function Yg(e){e.features?.forEach(n=>n(e))}function ym(e,n){return e?()=>{let t=typeof e=="function"?e():e,r=[];for(let i of t){let o=n(i);o!==null&&r.push(o)}return r}:null}function rb(e){let n=0,t=typeof e.consts=="function"?"":e.consts,r=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,t,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery];for(let o of r.join("|"))n=Math.imul(31,n)+o.charCodeAt(0)<<0;return n+=2147483648,"c"+n}function ib(e){return Object.getPrototypeOf(e.prototype).constructor}function Ue(e){let n=ib(e.type),t=!0,r=[e];for(;n;){let i;if($t(e))i=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new T(903,!1);i=n.\u0275dir}if(i){if(t){r.push(i);let s=e;s.inputs=Ku(e.inputs),s.declaredInputs=Ku(e.declaredInputs),s.outputs=Ku(e.outputs);let a=i.hostBindings;a&&cb(e,a);let l=i.viewQuery,f=i.contentQueries;if(l&&ab(e,l),f&&lb(e,f),ob(e,i),ah(e.outputs,i.outputs),$t(i)&&i.data.animation){let p=e.data;p.animation=(p.animation||[]).concat(i.data.animation)}}let o=i.features;if(o)for(let s=0;s=0;r--){let i=e[r];i.hostVars=n+=i.hostVars,i.hostAttrs=ii(i.hostAttrs,t=ii(t,i.hostAttrs))}}function Ku(e){return e===xn?{}:e===rt?[]:e}function ab(e,n){let t=e.viewQuery;t?e.viewQuery=(r,i)=>{n(r,i),t(r,i)}:e.viewQuery=n}function lb(e,n){let t=e.contentQueries;t?e.contentQueries=(r,i,o)=>{n(r,i,o),t(r,i,o)}:e.contentQueries=n}function cb(e,n){let t=e.hostBindings;t?e.hostBindings=(r,i)=>{n(r,i),t(r,i)}:e.hostBindings=n}function ub(e,n,t,r,i,o,s,a){if(t.firstCreatePass){e.mergedAttrs=ii(e.mergedAttrs,e.attrs);let p=e.tView=Vd(2,e,i,o,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,t.consts,null);t.queries!==null&&(t.queries.template(t,e),p.queries=t.queries.embeddedTView(e))}a&&(e.flags|=a),ei(e,!1);let l=db(t,n,e,r);sa()&&Gd(t,n,l,e),oi(l,n);let f=Rg(l,n,l,e);n[r+Ne]=f,Bd(n,f),B_(f,e,n)}function Ma(e,n,t,r,i,o,s,a,l,f,p){let m=t+Ne,y;if(n.firstCreatePass){if(y=Ga(n,m,4,s||null,a||null),f!=null){let v=Gt(n.consts,f);y.localNames=[];for(let b=0;b{class e{log(t){console.log(t)}warn(t){console.warn(t)}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function Qg(e){return typeof e=="function"&&e[ze]!==void 0}function tf(e){return Qg(e)&&typeof e.set=="function"}var Wa=new S(""),Za=new S(""),Io=(()=>{class e{_ngZone;registry;_isZoneStable=!0;_callbacks=[];_taskTrackingZone=null;_destroyRef;constructor(t,r,i){this._ngZone=t,this.registry=r,vu()&&(this._destroyRef=C(Ct,{optional:!0})??void 0),nf||(Jg(i),i.addToWindow(r)),this._watchAngularEvents(),t.run(()=>{this._taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){let t=this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),r=this._ngZone.runOutsideAngular(()=>this._ngZone.onStable.subscribe({next:()=>{ce.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}}));this._destroyRef?.onDestroy(()=>{t.unsubscribe(),r.unsubscribe()})}isStable(){return this._isZoneStable&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;this._callbacks.length!==0;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb()}});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>r.updateCb&&r.updateCb(t)?(clearTimeout(r.timeoutId),!1):!0)}}getPendingTasks(){return this._taskTrackingZone?this._taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,r,i){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),t()},r)),this._callbacks.push({doneCb:t,timeoutId:o,updateCb:i})}whenStable(t,r,i){if(i&&!this._taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,r,i),this._runCallbacksIfReady()}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,r,i){return[]}static \u0275fac=function(r){return new(r||e)(A(ce),A(Kg),A(Za))};static \u0275prov=_({token:e,factory:e.\u0275fac})}return e})(),Kg=(()=>{class e{_applications=new Map;registerApplication(t,r){this._applications.set(t,r)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,r=!0){return nf?.findTestabilityInTree(this,t,r)??null}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function Jg(e){nf=e}var nf;function wr(e){return!!e&&typeof e.then=="function"}function Xg(e){return!!e&&typeof e.subscribe=="function"}var rf=new S("");function Ya(e){return Mn([{provide:rf,multi:!0,useValue:e}])}var of=(()=>{class e{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((t,r)=>{this.resolve=t,this.reject=r});appInits=C(rf,{optional:!0})??[];injector=C(We);constructor(){}runInitializers(){if(this.initialized)return;let t=[];for(let i of this.appInits){let o=Ae(this.injector,i);if(wr(o))t.push(o);else if(Xg(o)){let s=new Promise((a,l)=>{o.subscribe({complete:a,error:l})});t.push(s)}}let r=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{r()}).catch(i=>{this.reject(i)}),t.length===0&&r(),this.initialized=!0}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Qa=new S("");function ev(){bc(()=>{let e="";throw new T(600,e)})}function tv(e){return e.isBoundToModule}var pb=10;var Yt=(()=>{class e{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=C(Et);afterRenderManager=C(Hd);zonelessEnabled=C(ti);rootEffectScheduler=C(zu);dirtyFlags=0;tracingSnapshot=null;allTestViews=new Set;autoDetectTestViews=new Set;includeAllTestViews=!1;afterTick=new Ce;get allViews(){return[...(this.includeAllTestViews?this.allTestViews:this.autoDetectTestViews).keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];internalPendingTask=C(zt);get isStable(){return this.internalPendingTask.hasPendingTasksObservable.pipe(K(t=>!t))}constructor(){C(pn,{optional:!0})}whenStable(){let t;return new Promise(r=>{t=this.isStable.subscribe({next:i=>{i&&r()}})}).finally(()=>{t.unsubscribe()})}_injector=C(me);_rendererFactory=null;get injector(){return this._injector}bootstrap(t,r){return this.bootstrapImpl(t,r)}bootstrapImpl(t,r,i=We.NULL){return this._injector.get(ce).run(()=>{oe(J.BootstrapComponentStart);let s=t instanceof za;if(!this._injector.get(of).done){let b="";throw new T(405,b)}let l;s?l=t:l=this._injector.get(So).resolveComponentFactory(t),this.componentTypes.push(l.componentType);let f=tv(l)?void 0:this._injector.get(ai),p=r||l.selector,m=l.create(i,[],p,f),y=m.location.nativeElement,v=m.injector.get(Wa,null);return v?.registerApplication(y),m.onDestroy(()=>{this.detachView(m.hostView),po(this.components,m),v?.unregisterApplication(y)}),this._loadComponent(m),oe(J.BootstrapComponentEnd,m),m})}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){oe(J.ChangeDetectionStart),this.tracingSnapshot!==null?this.tracingSnapshot.run(ja.CHANGE_DETECTION,this.tickImpl):this.tickImpl()}tickImpl=()=>{if(this._runningTick)throw oe(J.ChangeDetectionEnd),new T(101,!1);let t=V(null);try{this._runningTick=!0,this.synchronize()}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,V(t),this.afterTick.next(),oe(J.ChangeDetectionEnd)}};synchronize(){this._rendererFactory===null&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(Cr,null,{optional:!0}));let t=0;for(;this.dirtyFlags!==0&&t++co(t))){this.dirtyFlags|=2;return}else this.dirtyFlags&=-8}attachView(t){let r=t;this._views.push(r),r.attachToAppRef(this)}detachView(t){let r=t;po(this._views,r),r.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView);try{this.tick()}catch(i){this.internalErrorHandler(i)}this.components.push(t),this._injector.get(Qa,[]).forEach(i=>i(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>po(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new T(406,!1);let t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function po(e,n){let t=e.indexOf(n);t>-1&&e.splice(t,1)}function et(e,n,t,r){let i=q(),o=mr();if(Wt(i,o,n)){let s=Le(),a=oa();LD(a,i,e,n,t,r)}return et}var oP=typeof document<"u"&&typeof document?.documentElement?.getAnimations=="function";var Dd=class{destroy(n){}updateValue(n,t){}swap(n,t){let r=Math.min(n,t),i=Math.max(n,t),o=this.detach(i);if(i-r>1){let s=this.detach(r);this.attach(r,o),this.attach(i,s)}else this.attach(r,o)}move(n,t){this.attach(t,this.detach(n))}};function Ju(e,n,t,r,i){return e===t&&Object.is(n,r)?1:Object.is(i(e,n),i(t,r))?-1:0}function hb(e,n,t,r){let i,o,s=0,a=e.length-1,l=void 0;if(Array.isArray(n)){V(r);let f=n.length-1;for(V(null);s<=a&&s<=f;){let p=e.at(s),m=n[s],y=Ju(s,p,s,m,t);if(y!==0){y<0&&e.updateValue(s,m),s++;continue}let v=e.at(a),b=n[f],F=Ju(a,v,f,b,t);if(F!==0){F<0&&e.updateValue(a,b),a--,f--;continue}let N=t(s,p),M=t(a,v),De=t(s,m);if(Object.is(De,M)){let pt=t(f,b);Object.is(pt,N)?(e.swap(s,a),e.updateValue(a,b),f--,a--):e.move(a,s),e.updateValue(s,m),s++;continue}if(i??=new Aa,o??=Em(e,s,a,t),_d(e,i,s,De))e.updateValue(s,m),s++,a++;else if(o.has(De))i.set(N,e.detach(s)),a--;else{let pt=e.create(s,n[s]);e.attach(s,pt),s++,a++}}for(;s<=f;)Cm(e,i,t,s,n[s]),s++}else if(n!=null){V(r);let f=n[Symbol.iterator]();V(null);let p=f.next();for(;!p.done&&s<=a;){let m=e.at(s),y=p.value,v=Ju(s,m,s,y,t);if(v!==0)v<0&&e.updateValue(s,y),s++,p=f.next();else{i??=new Aa,o??=Em(e,s,a,t);let b=t(s,y);if(_d(e,i,s,b))e.updateValue(s,y),s++,a++,p=f.next();else if(!o.has(b))e.attach(s,e.create(s,y)),s++,a++,p=f.next();else{let F=t(s,m);i.set(F,e.detach(s)),a--}}}for(;!p.done;)Cm(e,i,t,e.length,p.value),p=f.next()}for(;s<=a;)e.destroy(e.detach(a--));i?.forEach(f=>{e.destroy(f)})}function _d(e,n,t,r){return n!==void 0&&n.has(r)?(e.attach(t,n.get(r)),n.delete(r),!0):!1}function Cm(e,n,t,r,i){if(_d(e,n,r,t(r,i)))e.updateValue(r,i);else{let o=e.create(r,i);e.attach(r,o)}}function Em(e,n,t,r){let i=new Set;for(let o=n;o<=t;o++)i.add(r(o,e.at(o)));return i}var Aa=class{kvMap=new Map;_vMap=void 0;has(n){return this.kvMap.has(n)}delete(n){if(!this.has(n))return!1;let t=this.kvMap.get(n);return this._vMap!==void 0&&this._vMap.has(t)?(this.kvMap.set(n,this._vMap.get(t)),this._vMap.delete(t)):this.kvMap.delete(n),!0}get(n){return this.kvMap.get(n)}set(n,t){if(this.kvMap.has(n)){let r=this.kvMap.get(n);this._vMap===void 0&&(this._vMap=new Map);let i=this._vMap;for(;i.has(r);)r=i.get(r);i.set(r,t)}else this.kvMap.set(n,t)}forEach(n){for(let[t,r]of this.kvMap)if(n(r,t),this._vMap!==void 0){let i=this._vMap;for(;i.has(r);)r=i.get(r),n(r,t)}}};function O(e,n,t,r,i,o,s,a){Nt("NgControlFlow");let l=q(),f=Le(),p=Gt(f.consts,o);return Ma(l,f,e,n,t,r,i,p,256,s,a),sf}function sf(e,n,t,r,i,o,s,a){Nt("NgControlFlow");let l=q(),f=Le(),p=Gt(f.consts,o);return Ma(l,f,e,n,t,r,i,p,512,s,a),sf}function P(e,n){Nt("NgControlFlow");let t=q(),r=mr(),i=t[r]!==at?t[r]:-1,o=i!==-1?Na(t,Ne+i):void 0,s=0;if(Wt(t,r,e)){let a=V(null);try{if(o!==void 0&&Og(o,s),e!==-1){let l=Ne+e,f=Na(t,l),p=Id(t[L],l),m=Fg(f,p,t),y=Ha(t,p,n,{dehydratedView:m});$a(f,y,s,mo(p,m))}}finally{V(a)}}else if(o!==void 0){let a=kg(o,s);a!==void 0&&(a[ye]=n)}}var bd=class{lContainer;$implicit;$index;constructor(n,t,r){this.lContainer=n,this.$implicit=t,this.$index=r}get $count(){return this.lContainer.length-ge}};function Pn(e,n){return n}var wd=class{hasEmptyBlock;trackByFn;liveCollection;constructor(n,t,r){this.hasEmptyBlock=n,this.trackByFn=t,this.liveCollection=r}};function Ie(e,n,t,r,i,o,s,a,l,f,p,m,y){Nt("NgControlFlow");let v=q(),b=Le(),F=l!==void 0,N=q(),M=a?s.bind(N[it][ye]):s,De=new wd(F,M);N[Ne+e]=De,Ma(v,b,e+1,n,t,r,i,Gt(b.consts,o),256),F&&Ma(v,b,e+2,l,f,p,m,Gt(b.consts,y),512)}var Sd=class extends Dd{lContainer;hostLView;templateTNode;operationsCounter=void 0;needsIndexUpdate=!1;constructor(n,t,r){super(),this.lContainer=n,this.hostLView=t,this.templateTNode=r}get length(){return this.lContainer.length-ge}at(n){return this.getLView(n)[ye].$implicit}attach(n,t){let r=t[Yr];this.needsIndexUpdate||=n!==this.length,$a(this.lContainer,t,n,mo(this.templateTNode,r)),mb(this.lContainer,n)}detach(n){return this.needsIndexUpdate||=n!==this.length-1,gb(this.lContainer,n),vb(this.lContainer,n)}create(n,t){let r=dd(this.lContainer,this.templateTNode.tView.ssrId),i=Ha(this.hostLView,this.templateTNode,new bd(this.lContainer,t,n),{dehydratedView:r});return this.operationsCounter?.recordCreate(),i}destroy(n){Ba(n[L],n),this.operationsCounter?.recordDestroy()}updateValue(n,t){this.getLView(n)[ye].$implicit=t}reset(){this.needsIndexUpdate=!1,this.operationsCounter?.reset()}updateIndexes(){if(this.needsIndexUpdate)for(let n=0;n0){let o=r[un];dD(o,i),yr.delete(r),i.detachedLeaveAnimationFns=void 0}}function gb(e,n){if(e.length<=ge)return;let t=ge+n,r=e[t],i=r?r[fr]:void 0;i&&i.leave&&i.leave.size>0&&(i.detachedLeaveAnimationFns=[])}function vb(e,n){return vo(e,n)}function yb(e,n){return kg(e,n)}function Id(e,n){return lo(e,n)}function w(e,n,t){let r=q(),i=mr();if(Wt(r,i,n)){let o=Le(),s=oa();Eg(s,r,e,n,r[pe],t)}return w}function Dm(e,n,t,r,i){Wd(n,e,t,i?"class":"style",r)}function u(e,n,t,r){let i=q(),o=i[L],s=e+Ne,a=o.firstCreatePass?Bg(s,i,2,n,FD,Nh(),t,r):o.data[s];if(Dg(a,i,e,n,nv),Ks(a)){let l=i[L];Cg(l,i,a),Jm(l,a,i)}return r!=null&&qd(i,a),u}function d(){let e=Le(),n=Ve(),t=_g(n);return e.firstCreatePass&&Ug(e,t),Mu(t)&&Au(),Tu(),t.classesWithoutHost!=null&&vE(t)&&Dm(e,t,q(),t.classesWithoutHost,!0),t.stylesWithoutHost!=null&&yE(t)&&Dm(e,t,q(),t.stylesWithoutHost,!1),d}function h(e,n,t,r){return u(e,n,t,r),d(),h}function He(e,n,t,r){let i=q(),o=i[L],s=e+Ne,a=o.firstCreatePass?__(s,o,2,n,t,r):o.data[s];return Dg(a,i,e,n,nv),r!=null&&qd(i,a),He}function ct(){let e=Ve(),n=_g(e);return Mu(n)&&Au(),Tu(),ct}function Qt(e,n,t,r){return He(e,n,t,r),ct(),Qt}var nv=(e,n,t,r,i)=>(aa(!0),tg(n[pe],r,qh()));function X(){return q()}var xo="en-US";var Cb=xo;function rv(e){typeof e=="string"&&(Cb=e.toLowerCase().replace(/_/g,"-"))}function R(e,n,t){let r=q(),i=Le(),o=Ve();return iv(i,r,r[pe],o,e,n,t),R}function iv(e,n,t,r,i,o,s){let a=!0,l=null;if((r.type&3||s)&&(l??=Yu(r,n,o),w_(r,e,n,s,t,i,o,l)&&(a=!1)),a){let f=r.outputs?.[i],p=r.hostDirectiveOutputs?.[i];if(p&&p.length)for(let m=0;m>17&32767}function Eb(e){return(e&2)==2}function Db(e,n){return e&131071|n<<17}function xd(e){return e|2}function li(e){return(e&131068)>>2}function Xu(e,n){return e&-131069|n<<2}function _b(e){return(e&1)===1}function Td(e){return e|1}function bb(e,n,t,r,i,o){let s=o?n.classBindings:n.styleBindings,a=Dr(s),l=li(s);e[r]=t;let f=!1,p;if(Array.isArray(t)){let m=t;p=m[1],(p===null||Zr(m,p)>0)&&(f=!0)}else p=t;if(i)if(l!==0){let y=Dr(e[a+1]);e[r+1]=da(y,a),y!==0&&(e[y+1]=Xu(e[y+1],r)),e[a+1]=Db(e[a+1],r)}else e[r+1]=da(a,0),a!==0&&(e[a+1]=Xu(e[a+1],r)),a=r;else e[r+1]=da(l,0),a===0?a=r:e[l+1]=Xu(e[l+1],r),l=r;f&&(e[r+1]=xd(e[r+1])),_m(e,p,r,!0),_m(e,p,r,!1),wb(n,p,e,r,o),s=da(a,l),o?n.classBindings=s:n.styleBindings=s}function wb(e,n,t,r,i){let o=i?e.residualClasses:e.residualStyles;o!=null&&typeof n=="string"&&Zr(o,n)>=0&&(t[r+1]=Td(t[r+1]))}function _m(e,n,t,r){let i=e[t+1],o=n===null,s=r?Dr(i):li(i),a=!1;for(;s!==0&&(a===!1||o);){let l=e[s],f=e[s+1];Sb(l,n)&&(a=!0,e[s+1]=r?Td(f):xd(f)),s=r?Dr(f):li(f)}a&&(e[t+1]=r?xd(i):Td(i))}function Sb(e,n){return e===null||n==null||(Array.isArray(e)?e[1]:e)===n?!0:Array.isArray(e)&&typeof n=="string"?Zr(e,n)>=0:!1}function To(e,n){return Ib(e,n,null,!0),To}function Ib(e,n,t,r){let i=q(),o=Le(),s=Pu(2);if(o.firstUpdatePass&&Tb(o,e,s,r),n!==at&&Wt(i,s,n)){let a=o.data[dn()];kb(o,a,i,i[pe],e,i[s+1]=Ob(n,t),r,s)}}function xb(e,n){return n>=e.expandoStartIndex}function Tb(e,n,t,r){let i=e.data;if(i[t+1]===null){let o=i[dn()],s=xb(e,t);Pb(o,r)&&n===null&&!s&&(n=!1),n=Mb(i,o,n,r),bb(i,o,n,t,s,r)}}function Mb(e,n,t,r){let i=Uh(e),o=r?n.residualClasses:n.residualStyles;if(i===null)(r?n.classBindings:n.styleBindings)===0&&(t=ed(null,e,n,t,r),t=Co(t,n.attrs,r),o=null);else{let s=n.directiveStylingLast;if(s===-1||e[s]!==i)if(t=ed(i,e,n,t,r),o===null){let l=Ab(e,n,r);l!==void 0&&Array.isArray(l)&&(l=ed(null,e,n,l[1],r),l=Co(l,n.attrs,r),Nb(e,n,r,l))}else o=Rb(e,n,r)}return o!==void 0&&(r?n.residualClasses=o:n.residualStyles=o),t}function Ab(e,n,t){let r=t?n.classBindings:n.styleBindings;if(li(r)!==0)return e[Dr(r)]}function Nb(e,n,t,r){let i=t?n.classBindings:n.styleBindings;e[Dr(i)]=r}function Rb(e,n,t){let r,i=n.directiveEnd;for(let o=1+n.directiveStylingLast;o0;){let l=e[i],f=Array.isArray(l),p=f?l[1]:l,m=p===null,y=t[i+1];y===at&&(y=m?rt:void 0);let v=m?Zs(y,r):p===r?y:void 0;if(f&&!Ra(v)&&(v=Zs(l,r)),Ra(v)&&(a=v,s))return a;let b=e[i+1];i=s?Dr(b):li(b)}if(n!==null){let l=o?n.residualClasses:n.residualStyles;l!=null&&(a=Zs(l,r))}return a}function Ra(e){return e!==void 0}function Ob(e,n){return e==null||e===""||(typeof n=="string"?e=e+n:typeof e=="object"&&(e=an(bo(e)))),e}function Pb(e,n){return(e.flags&(n?8:16))!==0}function c(e,n=""){let t=q(),r=Le(),i=e+Ne,o=r.firstCreatePass?Ga(r,i,1,n,null):r.data[i],s=Fb(r,t,o,n,e);t[i]=s,sa()&&Gd(r,t,s,o),ei(o,!1)}var Fb=(e,n,t,r,i)=>(aa(!0),$E(n[pe],r));function ov(e,n,t,r=""){return Wt(e,mr(),t)?n+lr(t)+r:at}function Lb(e,n,t,r,i,o=""){let s=Fh(),a=Hg(e,s,t,i);return Pu(2),a?n+lr(t)+r+lr(i)+o:at}function he(e){return $e("",e),he}function $e(e,n,t){let r=q(),i=ov(r,e,n,t);return i!==at&&sv(r,dn(),i),$e}function di(e,n,t,r,i){let o=q(),s=Lb(o,e,n,t,r,i);return s!==at&&sv(o,dn(),s),di}function sv(e,n,t){let r=_u(n,e);GE(e[pe],r,t)}function G(e,n,t){tf(n)&&(n=n());let r=q(),i=mr();if(Wt(r,i,n)){let o=Le(),s=oa();Eg(s,r,e,n,r[pe],t)}return G}function W(e,n){let t=tf(e);return t&&e.set(n),t}function z(e,n){let t=q(),r=Le(),i=Ve();return iv(r,t,t[pe],i,e,n),z}function Kt(e,n,t=""){return ov(q(),e,n,t)}function wm(e,n,t){let r=Le();r.firstCreatePass&&av(n,r.data,r.blueprint,$t(e),t)}function av(e,n,t,r,i){if(e=Fe(e),Array.isArray(e))for(let o=0;o>20;if(or(e)||!e.multi){let v=new vr(f,i,k,null),b=nd(l,n,i?p:p+y,m);b===-1?(id(Ca(a,s),o,l),td(o,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,i&&(a.providerIndexes+=1048576),t.push(v),s.push(v)):(t[b]=v,s[b]=v)}else{let v=nd(l,n,p+y,m),b=nd(l,n,p,p+y),F=v>=0&&t[v],N=b>=0&&t[b];if(i&&!N||!i&&!F){id(Ca(a,s),o,l);let M=Bb(i?jb:Vb,t.length,i,r,f,e);!i&&N&&(t[b].providerFactory=M),td(o,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,i&&(a.providerIndexes+=1048576),t.push(M),s.push(M)}else{let M=lv(t[i?b:v],f,!i&&r);td(o,e,v>-1?v:b,M)}!i&&r&&N&&t[b].componentProviders++}}}function td(e,n,t,r){let i=or(n),o=Ch(n);if(i||o){let l=(o?Fe(n.useClass):n).prototype.ngOnDestroy;if(l){let f=e.destroyHooks||(e.destroyHooks=[]);if(!i&&n.multi){let p=f.indexOf(t);p===-1?f.push(t,[r,l]):f[p+1].push(r,l)}else f.push(t,l)}}}function lv(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function nd(e,n,t,r){for(let i=t;i{t.providersResolver=(r,i)=>wm(r,i?i(e):e,!1),n&&(t.viewProvidersResolver=(r,i)=>wm(r,i?i(n):n,!0))}}function U(e,n,t){let r=ea()+e,i=q();return i[r]===at?Jd(i,r,t?n.call(t):n()):b_(i,r)}function Fn(e,n,t,r){return Ub(q(),ea(),e,n,t,r)}function uf(e,n,t,r,i){return Hb(q(),ea(),e,n,t,r,i)}function cv(e,n){let t=e[n];return t===at?void 0:t}function Ub(e,n,t,r,i,o){let s=n+t;return Wt(e,s,i)?Jd(e,s+1,o?r.call(o,i):r(i)):cv(e,s+1)}function Hb(e,n,t,r,i,o,s){let a=n+t;return Hg(e,a,i,o)?Jd(e,a+2,s?r.call(s,i,o):r(i,o)):cv(e,a+2)}var ka=class{ngModuleFactory;componentFactories;constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}},df=(()=>{class e{compileModuleSync(t){return new Ta(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){let r=this.compileModuleSync(t),i=fu(t),o=ag(i.declarations).reduce((s,a)=>{let l=cn(a);return l&&s.push(new Er(l)),s},[]);return new ka(r,o)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var uv=(()=>{class e{applicationErrorHandler=C(Et);appRef=C(Yt);taskService=C(zt);ngZone=C(ce);zonelessEnabled=C(ti);tracing=C(pn,{optional:!0});zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new _e;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(Xi):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(C(ca,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()}))}notify(t){if(!this.zonelessEnabled&&t===5)return;switch(t){case 0:{this.appRef.dirtyFlags|=2;break}case 3:case 2:case 4:case 5:case 1:{this.appRef.dirtyFlags|=4;break}case 6:{this.appRef.dirtyFlags|=2;break}case 12:{this.appRef.dirtyFlags|=16;break}case 13:{this.appRef.dirtyFlags|=2;break}case 11:break;case 9:case 8:case 7:case 10:default:this.appRef.dirtyFlags|=8}if(this.appRef.tracingSnapshot=this.tracing?.snapshot(this.appRef.tracingSnapshot)??null,!this.shouldScheduleTick())return;let r=this.useMicrotaskScheduler?Hu:Uu;this.pendingRenderTaskId=this.taskService.add(),this.scheduleInRootZone?this.cancelScheduledCallback=Zone.root.run(()=>r(()=>this.tick())):this.cancelScheduledCallback=this.ngZone.runOutsideAngular(()=>r(()=>this.tick()))}shouldScheduleTick(){return!(this.appRef.destroyed||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(Xi+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;if(this.appRef.dirtyFlags===0){this.cleanup();return}!this.zonelessEnabled&&this.appRef.dirtyFlags&7&&(this.appRef.dirtyFlags|=1);let t=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(r){this.taskService.remove(t),this.applicationErrorHandler(r)}finally{this.cleanup()}this.useMicrotaskScheduler=!0,Hu(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(t)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let t=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(t)}}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function dv(){return[{provide:ln,useExisting:uv},{provide:ce,useClass:eo},{provide:ti,useValue:!0}]}function $b(){return typeof $localize<"u"&&$localize.locale||xo}var ff=new S("",{factory:()=>C(ff,{optional:!0,skipSelf:!0})||$b()});function fi(e,n){return ps(e,n?.equal)}var mv=Symbol("InputSignalNode#UNSET"),Yb=Y(D({},hs),{transformFn:void 0,applyValueToInputSignal(e,n){zi(e,n)}});function gv(e,n){let t=Object.create(Yb);t.value=e,t.transformFn=n?.transform;function r(){if(Hi(t),t.value===mv){let i=null;throw new T(-950,i)}return t.value}return r[ze]=t,r}var Ja=class{attributeName;constructor(n){this.attributeName=n}__NG_ELEMENT_ID__=()=>Do(this.attributeName);toString(){return`HostAttributeToken ${this.attributeName}`}};function fv(e,n){return gv(e,n)}function Qb(e){return gv(mv,e)}var vv=(fv.required=Qb,fv);var Kb=(()=>{class e{zone=C(ce);changeDetectionScheduler=C(ln);applicationRef=C(Yt);applicationErrorHandler=C(Et);_onMicrotaskEmptySubscription;initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{try{this.applicationRef.dirtyFlags|=1,this.applicationRef._tick()}catch(t){this.applicationErrorHandler(t)}})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Jb=new S("",{factory:()=>!1});function Xb({ngZoneFactory:e,scheduleInRootZone:n}){return e??=()=>new ce(Y(D({},Cv()),{scheduleInRootZone:n})),[{provide:ti,useValue:!1},{provide:ce,useFactory:e},{provide:Tn,multi:!0,useFactory:()=>{let t=C(Kb,{optional:!0});return()=>t.initialize()}},{provide:Tn,multi:!0,useFactory:()=>{let t=C(ew);return()=>{t.initialize()}}},{provide:ca,useValue:n??Bu}]}function yv(e){let n=e?.scheduleInRootZone,t=Xb({ngZoneFactory:()=>{let r=Cv(e);return r.scheduleInRootZone=n,r.shouldCoalesceEventChangeDetection&&Nt("NgZone_CoalesceEvent"),new ce(r)},scheduleInRootZone:n});return Mn([{provide:Jb,useValue:!0},t])}function Cv(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}var ew=(()=>{class e{subscription=new _e;initialized=!1;zone=C(ce);pendingTasks=C(zt);initialize(){if(this.initialized)return;this.initialized=!0;let t=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(t=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{ce.assertNotInAngularZone(),queueMicrotask(()=>{t!==null&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(t),t=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{ce.assertInAngularZone(),t??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var pf=new S(""),tw=new S("");function Mo(e){return!e.moduleRef}function nw(e){let n=Mo(e)?e.r3Injector:e.moduleRef.injector,t=n.get(ce);return t.run(()=>{Mo(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();let r=n.get(Et),i;if(t.runOutsideAngular(()=>{i=t.onError.subscribe({next:r})}),Mo(e)){let o=()=>n.destroy(),s=e.platformInjector.get(pf);s.add(o),n.onDestroy(()=>{i.unsubscribe(),s.delete(o)})}else{let o=()=>e.moduleRef.destroy(),s=e.platformInjector.get(pf);s.add(o),e.moduleRef.onDestroy(()=>{po(e.allPlatformModules,e.moduleRef),i.unsubscribe(),s.delete(o)})}return iw(r,t,()=>{let o=n.get(zt),s=o.add(),a=n.get(of);return a.runInitializers(),a.donePromise.then(()=>{let l=n.get(ff,xo);if(rv(l||xo),!n.get(tw,!0))return Mo(e)?n.get(Yt):(e.allPlatformModules.push(e.moduleRef),e.moduleRef);if(Mo(e)){let p=n.get(Yt);return e.rootComponent!==void 0&&p.bootstrap(e.rootComponent),p}else return rw?.(e.moduleRef,e.allPlatformModules),e.moduleRef}).finally(()=>void o.remove(s))})})}var rw;function iw(e,n,t){try{let r=t();return wr(r)?r.catch(i=>{throw n.runOutsideAngular(()=>e(i)),i}):r}catch(r){throw n.runOutsideAngular(()=>e(r)),r}}var Ka=null;function ow(e=[],n){return We.create({name:n,providers:[{provide:ro,useValue:"platform"},{provide:pf,useValue:new Set([()=>Ka=null])},...e]})}function sw(e=[]){if(Ka)return Ka;let n=ow(e);return Ka=n,ev(),aw(n),n}function aw(e){let n=e.get(Pa,null);Ae(e,()=>{n?.forEach(t=>t())})}var hn=(()=>{class e{static __NG_ELEMENT_ID__=lw}return e})();function lw(e){return cw(Ve(),q(),(e&16)===16)}function cw(e,n,t){if(Rn(e)&&!t){let r=yt(e.index,n);return new On(r,r)}else if(e.type&175){let r=n[it];return new On(r,n)}return null}var Ev=(()=>{class e{constructor(t){}static \u0275fac=function(r){return new(r||e)(A(Yt))};static \u0275mod=Ye({type:e});static \u0275inj=Be({})}return e})();function Dv(e){let{rootComponent:n,appProviders:t,platformProviders:r,platformRef:i}=e;oe(J.BootstrapApplicationStart);try{let o=i?.injector??sw(r),s=[dv(),Yh,...t||[]],a=new yo({providers:s,parent:o,debugName:"",runEnvironmentInitializers:!1});return nw({r3Injector:a.injector,platformInjector:o,rootComponent:n})}catch(o){return Promise.reject(o)}finally{oe(J.BootstrapApplicationEnd)}}function mn(e){return typeof e=="boolean"?e:e!=null&&e!=="false"}function _v(e){let n=cn(e);if(!n)return null;let t=new Er(n);return{get selector(){return t.selector},get type(){return t.componentType},get inputs(){return t.inputs},get outputs(){return t.outputs},get ngContentSelectors(){return t.ngContentSelectors},get isStandalone(){return n.standalone},get isSignal(){return n.signals}}}var ee={production:!0,apiBaseUrl:"https://www.palmmedia.de/api/",loginUrl:"https://github.com/login/oauth/authorize",clientId:"ecab9484932b59a12fd4",redirectUri:"/pro",scope:null,paddleEnvironment:null,paddleVendorId:144162,paddleIndividualLicense:762579,paddleTeamLicense:762580,paddleEnterpriseLicense:762581,paddleIndividualLifetimeLicense:833943,paddleTeamLifetimeLicense:833944,paddleEnterpriseLifetimeLicense:833945};var bv=null;function ut(){return bv}function hf(e){bv??=e}var Ao=class{},Ln=(()=>{class e{historyGo(t){throw new Error("")}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:()=>C(wv),providedIn:"platform"})}return e})(),mf=new S(""),wv=(()=>{class e extends Ln{_location;_history;_doc=C(ue);constructor(){super(),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return ut().getBaseHref(this._doc)}onPopState(t){let r=ut().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",t,!1),()=>r.removeEventListener("popstate",t)}onHashChange(t){let r=ut().getGlobalEventTarget(this._doc,"window");return r.addEventListener("hashchange",t,!1),()=>r.removeEventListener("hashchange",t)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(t){this._location.pathname=t}pushState(t,r,i){this._history.pushState(t,r,i)}replaceState(t,r,i){this._history.replaceState(t,r,i)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:()=>new e,providedIn:"platform"})}return e})();function Xa(e,n){return e?n?e.endsWith("/")?n.startsWith("/")?e+n.slice(1):e+n:n.startsWith("/")?e+n:`${e}/${n}`:e:n}function Sv(e){let n=e.search(/#|\?|$/);return e[n-1]==="/"?e.slice(0,n-1)+e.slice(n):e}function Rt(e){return e&&e[0]!=="?"?`?${e}`:e}var kt=(()=>{class e{historyGo(t){throw new Error("")}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:()=>C(tl),providedIn:"root"})}return e})(),el=new S(""),tl=(()=>{class e extends kt{_platformLocation;_baseHref;_removeListenerFns=[];constructor(t,r){super(),this._platformLocation=t,this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??C(ue).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return Xa(this._baseHref,t)}path(t=!1){let r=this._platformLocation.pathname+Rt(this._platformLocation.search),i=this._platformLocation.hash;return i&&t?`${r}${i}`:r}pushState(t,r,i,o){let s=this.prepareExternalUrl(i+Rt(o));this._platformLocation.pushState(t,r,s)}replaceState(t,r,i,o){let s=this.prepareExternalUrl(i+Rt(o));this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static \u0275fac=function(r){return new(r||e)(A(Ln),A(el,8))};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Vn=(()=>{class e{_subject=new Ce;_basePath;_locationStrategy;_urlChangeListeners=[];_urlChangeSubscription=null;constructor(t){this._locationStrategy=t;let r=this._locationStrategy.getBaseHref();this._basePath=fw(Sv(Iv(r))),this._locationStrategy.onPopState(i=>{this._subject.next({url:this.path(!0),pop:!0,state:i.state,type:i.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,r=""){return this.path()==this.normalize(t+Rt(r))}normalize(t){return e.stripTrailingSlash(dw(this._basePath,Iv(t)))}prepareExternalUrl(t){return t&&t[0]!=="/"&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,r="",i=null){this._locationStrategy.pushState(i,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Rt(r)),i)}replaceState(t,r="",i=null){this._locationStrategy.replaceState(i,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Rt(r)),i)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription??=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)}),()=>{let r=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(r,1),this._urlChangeListeners.length===0&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",r){this._urlChangeListeners.forEach(i=>i(t,r))}subscribe(t,r,i){return this._subject.subscribe({next:t,error:r??void 0,complete:i??void 0})}static normalizeQueryParams=Rt;static joinWithSlash=Xa;static stripTrailingSlash=Sv;static \u0275fac=function(r){return new(r||e)(A(kt))};static \u0275prov=_({token:e,factory:()=>uw(),providedIn:"root"})}return e})();function uw(){return new Vn(A(kt))}function dw(e,n){if(!e||!n.startsWith(e))return n;let t=n.substring(e.length);return t===""||["/",";","?","#"].includes(t[0])?t:n}function Iv(e){return e.replace(/\/index.html$/,"")}function fw(e){if(new RegExp("^(https?:)?//").test(e)){let[,t]=e.split(/\/\/[^\/]+/);return t}return e}var vf=(()=>{class e extends kt{_platformLocation;_baseHref="";_removeListenerFns=[];constructor(t,r){super(),this._platformLocation=t,r!=null&&(this._baseHref=r)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let r=this._platformLocation.hash??"#";return r.length>0?r.substring(1):r}prepareExternalUrl(t){let r=Xa(this._baseHref,t);return r.length>0?"#"+r:r}pushState(t,r,i,o){let s=this.prepareExternalUrl(i+Rt(o))||this._platformLocation.pathname;this._platformLocation.pushState(t,r,s)}replaceState(t,r,i,o){let s=this.prepareExternalUrl(i+Rt(o))||this._platformLocation.pathname;this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static \u0275fac=function(r){return new(r||e)(A(Ln),A(el,8))};static \u0275prov=_({token:e,factory:e.\u0275fac})}return e})();var gf=/\s+/,xv=[],Ir=(()=>{class e{_ngEl;_renderer;initialClasses=xv;rawClass;stateMap=new Map;constructor(t,r){this._ngEl=t,this._renderer=r}set klass(t){this.initialClasses=t!=null?t.trim().split(gf):xv}set ngClass(t){this.rawClass=typeof t=="string"?t.trim().split(gf):t}ngDoCheck(){for(let r of this.initialClasses)this._updateState(r,!0);let t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(let r of t)this._updateState(r,!0);else if(t!=null)for(let r of Object.keys(t))this._updateState(r,!!t[r]);this._applyStateDiff()}_updateState(t,r){let i=this.stateMap.get(t);i!==void 0?(i.enabled!==r&&(i.changed=!0,i.enabled=r),i.touched=!0):this.stateMap.set(t,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(let t of this.stateMap){let r=t[0],i=t[1];i.changed?(this._toggleClass(r,i.enabled),i.changed=!1):i.touched||(i.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),i.touched=!1}}_toggleClass(t,r){t=t.trim(),t.length>0&&t.split(gf).forEach(i=>{r?this._renderer.addClass(this._ngEl.nativeElement,i):this._renderer.removeClass(this._ngEl.nativeElement,i)})}static \u0275fac=function(r){return new(r||e)(k(Se),k(lt))};static \u0275dir=se({type:e,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"}})}return e})();var yf=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=Ye({type:e});static \u0275inj=Be({})}return e})();function No(e,n){n=encodeURIComponent(n);for(let t of e.split(";")){let r=t.indexOf("="),[i,o]=r==-1?[t,""]:[t.slice(0,r),t.slice(r+1)];if(i.trim()===n)return decodeURIComponent(o)}return null}var xr=class{};var Tv="browser";var Mv=(()=>{class e{static \u0275prov=_({token:e,providedIn:"root",factory:()=>new Cf(C(ue),window)})}return e})(),Cf=class{document;window;offset=()=>[0,0];constructor(n,t){this.document=n,this.window=t}setOffset(n){Array.isArray(n)?this.offset=()=>n:this.offset=n}getScrollPosition(){return[this.window.scrollX,this.window.scrollY]}scrollToPosition(n,t){this.window.scrollTo(Y(D({},t),{left:n[0],top:n[1]}))}scrollToAnchor(n,t){let r=hw(this.document,n);r&&(this.scrollToElement(r,t),r.focus())}setHistoryScrollRestoration(n){try{this.window.history.scrollRestoration=n}catch{console.warn(In(2400,!1))}}scrollToElement(n,t){let r=n.getBoundingClientRect(),i=r.left+this.window.pageXOffset,o=r.top+this.window.pageYOffset,s=this.offset();this.window.scrollTo(Y(D({},t),{left:i-s[0],top:o-s[1]}))}};function hw(e,n){let t=e.getElementById(n)||e.getElementsByName(n)[0];if(t)return t;if(typeof e.createTreeWalker=="function"&&e.body&&typeof e.body.attachShadow=="function"){let r=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT),i=r.currentNode;for(;i;){let o=i.shadowRoot;if(o){let s=o.getElementById(n)||o.querySelector(`[name="${n}"]`);if(s)return s}i=r.nextNode()}}return null}var Ro=class{_doc;constructor(n){this._doc=n}manager},nl=(()=>{class e extends Ro{constructor(t){super(t)}supports(t){return!0}addEventListener(t,r,i,o){return t.addEventListener(r,i,o),()=>this.removeEventListener(t,r,i,o)}removeEventListener(t,r,i,o){return t.removeEventListener(r,i,o)}static \u0275fac=function(r){return new(r||e)(A(ue))};static \u0275prov=_({token:e,factory:e.\u0275fac})}return e})(),ol=new S(""),bf=(()=>{class e{_zone;_plugins;_eventNameToPlugin=new Map;constructor(t,r){this._zone=r,t.forEach(s=>{s.manager=this});let i=t.filter(s=>!(s instanceof nl));this._plugins=i.slice().reverse();let o=t.find(s=>s instanceof nl);o&&this._plugins.push(o)}addEventListener(t,r,i,o){return this._findPluginFor(r).addEventListener(t,r,i,o)}getZone(){return this._zone}_findPluginFor(t){let r=this._eventNameToPlugin.get(t);if(r)return r;if(r=this._plugins.find(o=>o.supports(t)),!r)throw new T(5101,!1);return this._eventNameToPlugin.set(t,r),r}static \u0275fac=function(r){return new(r||e)(A(ol),A(ce))};static \u0275prov=_({token:e,factory:e.\u0275fac})}return e})(),Ef="ng-app-id";function Av(e){for(let n of e)n.remove()}function Nv(e,n){let t=n.createElement("style");return t.textContent=e,t}function gw(e,n,t,r){let i=e.head?.querySelectorAll(`style[${Ef}="${n}"],link[${Ef}="${n}"]`);if(i)for(let o of i)o.removeAttribute(Ef),o instanceof HTMLLinkElement?r.set(o.href.slice(o.href.lastIndexOf("/")+1),{usage:0,elements:[o]}):o.textContent&&t.set(o.textContent,{usage:0,elements:[o]})}function _f(e,n){let t=n.createElement("link");return t.setAttribute("rel","stylesheet"),t.setAttribute("href",e),t}var wf=(()=>{class e{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(t,r,i,o={}){this.doc=t,this.appId=r,this.nonce=i,gw(t,r,this.inline,this.external),this.hosts.add(t.head)}addStyles(t,r){for(let i of t)this.addUsage(i,this.inline,Nv);r?.forEach(i=>this.addUsage(i,this.external,_f))}removeStyles(t,r){for(let i of t)this.removeUsage(i,this.inline);r?.forEach(i=>this.removeUsage(i,this.external))}addUsage(t,r,i){let o=r.get(t);o?o.usage++:r.set(t,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,i(t,this.doc)))})}removeUsage(t,r){let i=r.get(t);i&&(i.usage--,i.usage<=0&&(Av(i.elements),r.delete(t)))}ngOnDestroy(){for(let[,{elements:t}]of[...this.inline,...this.external])Av(t);this.hosts.clear()}addHost(t){this.hosts.add(t);for(let[r,{elements:i}]of this.inline)i.push(this.addElement(t,Nv(r,this.doc)));for(let[r,{elements:i}]of this.external)i.push(this.addElement(t,_f(r,this.doc)))}removeHost(t){this.hosts.delete(t)}addElement(t,r){return this.nonce&&r.setAttribute("nonce",this.nonce),t.appendChild(r)}static \u0275fac=function(r){return new(r||e)(A(ue),A(Oa),A(Fa,8),A(_o))};static \u0275prov=_({token:e,factory:e.\u0275fac})}return e})(),Df={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},Sf=/%COMP%/g;var kv="%COMP%",vw=`_nghost-${kv}`,yw=`_ngcontent-${kv}`,Cw=!0,Ew=new S("",{factory:()=>Cw});function Dw(e){return yw.replace(Sf,e)}function _w(e){return vw.replace(Sf,e)}function Ov(e,n){return n.map(t=>t.replace(Sf,e))}var If=(()=>{class e{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;platformIsServer;constructor(t,r,i,o,s,a,l=null,f=null){this.eventManager=t,this.sharedStylesHost=r,this.appId=i,this.removeStylesOnCompDestroy=o,this.doc=s,this.ngZone=a,this.nonce=l,this.tracingService=f,this.platformIsServer=!1,this.defaultRenderer=new ko(t,s,a,this.platformIsServer,this.tracingService)}createRenderer(t,r){if(!t||!r)return this.defaultRenderer;let i=this.getOrCreateRenderer(t,r);return i instanceof il?i.applyToHost(t):i instanceof Oo&&i.applyStyles(),i}getOrCreateRenderer(t,r){let i=this.rendererByCompId,o=i.get(r.id);if(!o){let s=this.doc,a=this.ngZone,l=this.eventManager,f=this.sharedStylesHost,p=this.removeStylesOnCompDestroy,m=this.platformIsServer,y=this.tracingService;switch(r.encapsulation){case At.Emulated:o=new il(l,f,r,this.appId,p,s,a,m,y);break;case At.ShadowDom:return new rl(l,t,r,s,a,this.nonce,m,y,f);case At.ExperimentalIsolatedShadowDom:return new rl(l,t,r,s,a,this.nonce,m,y);default:o=new Oo(l,f,r,p,s,a,m,y);break}i.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(t){this.rendererByCompId.delete(t)}static \u0275fac=function(r){return new(r||e)(A(bf),A(wf),A(Oa),A(Ew),A(ue),A(ce),A(Fa),A(pn,8))};static \u0275prov=_({token:e,factory:e.\u0275fac})}return e})(),ko=class{eventManager;doc;ngZone;platformIsServer;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(n,t,r,i,o){this.eventManager=n,this.doc=t,this.ngZone=r,this.platformIsServer=i,this.tracingService=o}destroy(){}destroyNode=null;createElement(n,t){return t?this.doc.createElementNS(Df[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(Rv(n)?n.content:n).appendChild(t)}insertBefore(n,t,r){n&&(Rv(n)?n.content:n).insertBefore(t,r)}removeChild(n,t){t.remove()}selectRootElement(n,t){let r=typeof n=="string"?this.doc.querySelector(n):n;if(!r)throw new T(-5104,!1);return t||(r.textContent=""),r}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,r,i){if(i){t=i+":"+t;let o=Df[i];o?n.setAttributeNS(o,t,r):n.setAttribute(t,r)}else n.setAttribute(t,r)}removeAttribute(n,t,r){if(r){let i=Df[r];i?n.removeAttributeNS(i,t):n.removeAttribute(`${r}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,r,i){i&(fn.DashCase|fn.Important)?n.style.setProperty(t,r,i&fn.Important?"important":""):n.style[t]=r}removeStyle(n,t,r){r&fn.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,r){n!=null&&(n[t]=r)}setValue(n,t){n.nodeValue=t}listen(n,t,r,i){if(typeof n=="string"&&(n=ut().getGlobalEventTarget(this.doc,n),!n))throw new T(5102,!1);let o=this.decoratePreventDefault(r);return this.tracingService?.wrapEventListener&&(o=this.tracingService.wrapEventListener(n,t,o)),this.eventManager.addEventListener(n,t,o,i)}decoratePreventDefault(n){return t=>{if(t==="__ngUnwrap__")return n;n(t)===!1&&t.preventDefault()}}};function Rv(e){return e.tagName==="TEMPLATE"&&e.content!==void 0}var rl=class extends ko{hostEl;sharedStylesHost;shadowRoot;constructor(n,t,r,i,o,s,a,l,f){super(n,i,o,a,l),this.hostEl=t,this.sharedStylesHost=f,this.shadowRoot=t.attachShadow({mode:"open"}),this.sharedStylesHost&&this.sharedStylesHost.addHost(this.shadowRoot);let p=r.styles;p=Ov(r.id,p);for(let y of p){let v=document.createElement("style");s&&v.setAttribute("nonce",s),v.textContent=y,this.shadowRoot.appendChild(v)}let m=r.getExternalStyles?.();if(m)for(let y of m){let v=_f(y,i);s&&v.setAttribute("nonce",s),this.shadowRoot.appendChild(v)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,r){return super.insertBefore(this.nodeOrShadowRoot(n),t,r)}removeChild(n,t){return super.removeChild(null,t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost&&this.sharedStylesHost.removeHost(this.shadowRoot)}},Oo=class extends ko{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(n,t,r,i,o,s,a,l,f){super(n,o,s,a,l),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=i;let p=r.styles;this.styles=f?Ov(f,p):p,this.styleUrls=r.getExternalStyles?.(f)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&yr.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},il=class extends Oo{contentAttr;hostAttr;constructor(n,t,r,i,o,s,a,l,f){let p=i+"-"+r.id;super(n,t,r,o,s,a,l,f,p),this.contentAttr=Dw(p),this.hostAttr=_w(p)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){let r=super.createElement(n,t);return super.setAttribute(r,this.contentAttr,""),r}};var sl=class e extends Ao{supportsDOMEvents=!0;static makeCurrent(){hf(new e)}onAndCancel(n,t,r,i){return n.addEventListener(t,r,i),()=>{n.removeEventListener(t,r,i)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.remove()}createElement(n,t){return t=t||this.getDefaultDocument(),t.createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return t==="window"?window:t==="document"?n:t==="body"?n.body:null}getBaseHref(n){let t=bw();return t==null?null:ww(t)}resetBaseElement(){Po=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return No(document.cookie,n)}},Po=null;function bw(){return Po=Po||document.head.querySelector("base"),Po?Po.getAttribute("href"):null}function ww(e){return new URL(e,document.baseURI).pathname}var al=class{addToWindow(n){ht.getAngularTestability=(r,i=!0)=>{let o=n.findTestabilityInTree(r,i);if(o==null)throw new T(5103,!1);return o},ht.getAllAngularTestabilities=()=>n.getAllTestabilities(),ht.getAllAngularRootElements=()=>n.getAllRootElements();let t=r=>{let i=ht.getAllAngularTestabilities(),o=i.length,s=function(){o--,o==0&&r()};i.forEach(a=>{a.whenStable(s)})};ht.frameworkStabilizers||(ht.frameworkStabilizers=[]),ht.frameworkStabilizers.push(t)}findTestabilityInTree(n,t,r){if(t==null)return null;let i=n.getTestability(t);return i??(r?ut().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},Sw=(()=>{class e{build(){return new XMLHttpRequest}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:e.\u0275fac})}return e})(),Pv=["alt","control","meta","shift"],Iw={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},xw={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey},Fv=(()=>{class e extends Ro{constructor(t){super(t)}supports(t){return e.parseEventName(t)!=null}addEventListener(t,r,i,o){let s=e.parseEventName(r),a=e.eventCallback(s.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ut().onAndCancel(t,s.domEventName,a,o))}static parseEventName(t){let r=t.toLowerCase().split("."),i=r.shift();if(r.length===0||!(i==="keydown"||i==="keyup"))return null;let o=e._normalizeKey(r.pop()),s="",a=r.indexOf("code");if(a>-1&&(r.splice(a,1),s="code."),Pv.forEach(f=>{let p=r.indexOf(f);p>-1&&(r.splice(p,1),s+=f+".")}),s+=o,r.length!=0||o.length===0)return null;let l={};return l.domEventName=i,l.fullKey=s,l}static matchEventFullKeyCode(t,r){let i=Iw[t.key]||t.key,o="";return r.indexOf("code.")>-1&&(i=t.code,o="code."),i==null||!i?!1:(i=i.toLowerCase(),i===" "?i="space":i==="."&&(i="dot"),Pv.forEach(s=>{if(s!==i){let a=xw[s];a(t)&&(o+=s+".")}}),o+=i,o===r)}static eventCallback(t,r,i){return o=>{e.matchEventFullKeyCode(o,t)&&i.runGuarded(()=>r(o))}}static _normalizeKey(t){return t==="esc"?"escape":t}static \u0275fac=function(r){return new(r||e)(A(ue))};static \u0275prov=_({token:e,factory:e.\u0275fac})}return e})();function xf(e,n,t){let r=D({rootComponent:e,platformRef:t?.platformRef},Tw(n));return Dv(r)}function Tw(e){return{appProviders:[...Lv,...e?.providers??[]],platformProviders:Rw}}function Mw(){sl.makeCurrent()}function Aw(){return new jt}function Nw(){return Rd(document),document}var Rw=[{provide:_o,useValue:Tv},{provide:Pa,useValue:Mw,multi:!0},{provide:ue,useFactory:Nw}];var kw=[{provide:Za,useClass:al},{provide:Wa,useClass:Io},{provide:Io,useClass:Io}],Lv=[{provide:ro,useValue:"root"},{provide:jt,useFactory:Aw},{provide:ol,useClass:nl,multi:!0},{provide:ol,useClass:Fv,multi:!0},If,wf,bf,{provide:Cr,useExisting:If},{provide:xr,useClass:Sw},[]],Tf=(()=>{class e{constructor(){}static \u0275fac=function(r){return new(r||e)};static \u0275mod=Ye({type:e});static \u0275inj=Be({providers:[...Lv,...kw],imports:[yf,Ev]})}return e})();var jn=class e{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(n){n?typeof n=="string"?this.lazyInit=()=>{this.headers=new Map,n.split(` +`).forEach(t=>{let r=t.indexOf(":");if(r>0){let i=t.slice(0,r),o=t.slice(r+1).trim();this.addHeaderEntry(i,o)}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((t,r)=>{this.addHeaderEntry(r,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([t,r])=>{this.setHeaderEntries(t,r)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();let t=this.headers.get(n.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,t){return this.clone({name:n,value:t,op:"a"})}set(n,t){return this.clone({name:n,value:t,op:"s"})}delete(n,t){return this.clone({name:n,value:t,op:"d"})}maybeSetNormalizedName(n,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,n)}init(){this.lazyInit&&(this.lazyInit instanceof e?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(t=>{this.headers.set(t,n.headers.get(t)),this.normalizedNames.set(t,n.normalizedNames.get(t))})}clone(n){let t=new e;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof e?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){let t=n.name.toLowerCase();switch(n.op){case"a":case"s":let r=n.value;if(typeof r=="string"&&(r=[r]),r.length===0)return;this.maybeSetNormalizedName(n.name,t);let i=(n.op==="a"?this.headers.get(t):void 0)||[];i.push(...r),this.headers.set(t,i);break;case"d":let o=n.value;if(!o)this.headers.delete(t),this.normalizedNames.delete(t);else{let s=this.headers.get(t);if(!s)return;s=s.filter(a=>o.indexOf(a)===-1),s.length===0?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}break}}addHeaderEntry(n,t){let r=n.toLowerCase();this.maybeSetNormalizedName(n,r),this.headers.has(r)?this.headers.get(r).push(t):this.headers.set(r,[t])}setHeaderEntries(n,t){let r=(Array.isArray(t)?t:[t]).map(o=>o.toString()),i=n.toLowerCase();this.headers.set(i,r),this.maybeSetNormalizedName(n,i)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}};var cl=class{map=new Map;set(n,t){return this.map.set(n,t),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}},ul=class{encodeKey(n){return Vv(n)}encodeValue(n){return Vv(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}};function Ow(e,n){let t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(i=>{let o=i.indexOf("="),[s,a]=o==-1?[n.decodeKey(i),""]:[n.decodeKey(i.slice(0,o)),n.decodeValue(i.slice(o+1))],l=t.get(s)||[];l.push(a),t.set(s,l)}),t}var Pw=/%(\d[a-f0-9])/gi,Fw={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Vv(e){return encodeURIComponent(e).replace(Pw,(n,t)=>Fw[t]??n)}function ll(e){return`${e}`}var gn=class e{map;encoder;updates=null;cloneFrom=null;constructor(n={}){if(this.encoder=n.encoder||new ul,n.fromString){if(n.fromObject)throw new T(2805,!1);this.map=Ow(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{let r=n.fromObject[t],i=Array.isArray(r)?r.map(ll):[ll(r)];this.map.set(t,i)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();let t=this.map.get(n);return t?t[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,t){return this.clone({param:n,value:t,op:"a"})}appendAll(n){let t=[];return Object.keys(n).forEach(r=>{let i=n[r];Array.isArray(i)?i.forEach(o=>{t.push({param:r,value:o,op:"a"})}):t.push({param:r,value:i,op:"a"})}),this.clone(t)}set(n,t){return this.clone({param:n,value:t,op:"s"})}delete(n,t){return this.clone({param:n,value:t,op:"d"})}toString(){return this.init(),this.keys().map(n=>{let t=this.encoder.encodeKey(n);return this.map.get(n).map(r=>t+"="+this.encoder.encodeValue(r)).join("&")}).filter(n=>n!=="").join("&")}clone(n){let t=new e({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":let t=(n.op==="a"?this.map.get(n.param):void 0)||[];t.push(ll(n.value)),this.map.set(n.param,t);break;case"d":if(n.value!==void 0){let r=this.map.get(n.param)||[],i=r.indexOf(ll(n.value));i!==-1&&r.splice(i,1),r.length>0?this.map.set(n.param,r):this.map.delete(n.param)}else{this.map.delete(n.param);break}}}),this.cloneFrom=this.updates=null)}};function Lw(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function jv(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function Bv(e){return typeof Blob<"u"&&e instanceof Blob}function Uv(e){return typeof FormData<"u"&&e instanceof FormData}function Vw(e){return typeof URLSearchParams<"u"&&e instanceof URLSearchParams}var Hv="Content-Type",$v="Accept",zv="text/plain",qv="application/json",jw=`${qv}, ${zv}, */*`,pi=class e{url;body=null;headers;context;reportProgress=!1;withCredentials=!1;credentials;keepalive=!1;cache;priority;mode;redirect;referrer;integrity;referrerPolicy;responseType="json";method;params;urlWithParams;transferCache;timeout;constructor(n,t,r,i){this.url=t,this.method=n.toUpperCase();let o;if(Lw(this.method)||i?(this.body=r!==void 0?r:null,o=i):o=r,o){if(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,this.keepalive=!!o.keepalive,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params),o.priority&&(this.priority=o.priority),o.cache&&(this.cache=o.cache),o.credentials&&(this.credentials=o.credentials),typeof o.timeout=="number"){if(o.timeout<1||!Number.isInteger(o.timeout))throw new T(2822,"");this.timeout=o.timeout}o.mode&&(this.mode=o.mode),o.redirect&&(this.redirect=o.redirect),o.integrity&&(this.integrity=o.integrity),o.referrer&&(this.referrer=o.referrer),o.referrerPolicy&&(this.referrerPolicy=o.referrerPolicy),this.transferCache=o.transferCache}if(this.headers??=new jn,this.context??=new cl,!this.params)this.params=new gn,this.urlWithParams=t;else{let s=this.params.toString();if(s.length===0)this.urlWithParams=t;else{let a=t.indexOf("?"),l=a===-1?"?":aBi.set(Kn,n.setHeaders[Kn]),pt)),n.setParams&&(Me=Object.keys(n.setParams).reduce((Bi,Kn)=>Bi.set(Kn,n.setParams[Kn]),Me)),new e(t,r,N,{params:Me,headers:pt,context:ji,reportProgress:De,responseType:i,withCredentials:M,transferCache:b,keepalive:o,cache:a,priority:s,timeout:F,mode:l,redirect:f,credentials:p,referrer:m,integrity:y,referrerPolicy:v})}},Tr=(function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e})(Tr||{}),mi=class{headers;status;statusText;url;ok;type;redirected;responseType;constructor(n,t=200,r="OK"){this.headers=n.headers||new jn,this.status=n.status!==void 0?n.status:t,this.statusText=n.statusText||r,this.url=n.url||null,this.redirected=n.redirected,this.responseType=n.responseType,this.ok=this.status>=200&&this.status<300}},dl=class e extends mi{constructor(n={}){super(n)}type=Tr.ResponseHeader;clone(n={}){return new e({headers:n.headers||this.headers,status:n.status!==void 0?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}},Fo=class e extends mi{body;constructor(n={}){super(n),this.body=n.body!==void 0?n.body:null}type=Tr.Response;clone(n={}){return new e({body:n.body!==void 0?n.body:this.body,headers:n.headers||this.headers,status:n.status!==void 0?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0,redirected:n.redirected??this.redirected,responseType:n.responseType??this.responseType})}},hi=class extends mi{name="HttpErrorResponse";message;error;ok=!1;constructor(n){super(n,0,"Unknown Error"),this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${n.url||"(unknown url)"}`:this.message=`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}},Bw=200,Uw=204;var Hw=new S("");var $w=/^\)\]\}',?\n/;var Af=(()=>{class e{xhrFactory;tracingService=C(pn,{optional:!0});constructor(t){this.xhrFactory=t}maybePropagateTrace(t){return this.tracingService?.propagate?this.tracingService.propagate(t):t}handle(t){if(t.method==="JSONP")throw new T(-2800,!1);let r=this.xhrFactory;return B(null).pipe(tt(()=>new Q(o=>{let s=r.build();if(s.open(t.method,t.urlWithParams),t.withCredentials&&(s.withCredentials=!0),t.headers.forEach((N,M)=>s.setRequestHeader(N,M.join(","))),t.headers.has($v)||s.setRequestHeader($v,jw),!t.headers.has(Hv)){let N=t.detectContentTypeHeader();N!==null&&s.setRequestHeader(Hv,N)}if(t.timeout&&(s.timeout=t.timeout),t.responseType){let N=t.responseType.toLowerCase();s.responseType=N!=="json"?N:"text"}let a=t.serializeBody(),l=null,f=()=>{if(l!==null)return l;let N=s.statusText||"OK",M=new jn(s.getAllResponseHeaders()),De=s.responseURL||t.url;return l=new dl({headers:M,status:s.status,statusText:N,url:De}),l},p=this.maybePropagateTrace(()=>{let{headers:N,status:M,statusText:De,url:pt}=f(),Me=null;M!==Uw&&(Me=typeof s.response>"u"?s.responseText:s.response),M===0&&(M=Me?Bw:0);let ji=M>=200&&M<300;if(t.responseType==="json"&&typeof Me=="string"){let Bi=Me;Me=Me.replace($w,"");try{Me=Me!==""?JSON.parse(Me):null}catch(Kn){Me=Bi,ji&&(ji=!1,Me={error:Kn,text:Me})}}ji?(o.next(new Fo({body:Me,headers:N,status:M,statusText:De,url:pt||void 0})),o.complete()):o.error(new hi({error:Me,headers:N,status:M,statusText:De,url:pt||void 0}))}),m=this.maybePropagateTrace(N=>{let{url:M}=f(),De=new hi({error:N,status:s.status||0,statusText:s.statusText||"Unknown Error",url:M||void 0});o.error(De)}),y=m;t.timeout&&(y=this.maybePropagateTrace(N=>{let{url:M}=f(),De=new hi({error:new DOMException("Request timed out","TimeoutError"),status:s.status||0,statusText:s.statusText||"Request timeout",url:M||void 0});o.error(De)}));let v=!1,b=this.maybePropagateTrace(N=>{v||(o.next(f()),v=!0);let M={type:Tr.DownloadProgress,loaded:N.loaded};N.lengthComputable&&(M.total=N.total),t.responseType==="text"&&s.responseText&&(M.partialText=s.responseText),o.next(M)}),F=this.maybePropagateTrace(N=>{let M={type:Tr.UploadProgress,loaded:N.loaded};N.lengthComputable&&(M.total=N.total),o.next(M)});return s.addEventListener("load",p),s.addEventListener("error",m),s.addEventListener("timeout",y),s.addEventListener("abort",m),t.reportProgress&&(s.addEventListener("progress",b),a!==null&&s.upload&&s.upload.addEventListener("progress",F)),s.send(a),o.next({type:Tr.Sent}),()=>{s.removeEventListener("error",m),s.removeEventListener("abort",m),s.removeEventListener("load",p),s.removeEventListener("timeout",y),t.reportProgress&&(s.removeEventListener("progress",b),a!==null&&s.upload&&s.upload.removeEventListener("progress",F)),s.readyState!==s.DONE&&s.abort()}})))}static \u0275fac=function(r){return new(r||e)(A(xr))};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Wv(e,n){return n(e)}function Gw(e,n){return(t,r)=>n.intercept(t,{handle:i=>e(i,r)})}function zw(e,n,t){return(r,i)=>Ae(t,()=>n(r,o=>e(o,i)))}var Zv=new S(""),Nf=new S("",{factory:()=>[]}),Yv=new S(""),Rf=new S("",{providedIn:"root",factory:()=>!0});function qw(){let e=null;return(n,t)=>{e===null&&(e=(C(Zv,{optional:!0})??[]).reduceRight(Gw,Wv));let r=C(uo);if(C(Rf)){let o=r.add();return e(n,t).pipe(zr(o))}else return e(n,t)}}var kf=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:function(r){let i=null;return r?i=new(r||e):i=A(Af),i},providedIn:"root"})}return e})();var fl=(()=>{class e{backend;injector;chain=null;pendingTasks=C(uo);contributeToStability=C(Rf);constructor(t,r){this.backend=t,this.injector=r}handle(t){if(this.chain===null){let r=Array.from(new Set([...this.injector.get(Nf),...this.injector.get(Yv,[])]));this.chain=r.reduceRight((i,o)=>zw(i,o,this.injector),Wv)}if(this.contributeToStability){let r=this.pendingTasks.add();return this.chain(t,i=>this.backend.handle(i)).pipe(zr(r))}else return this.chain(t,r=>this.backend.handle(r))}static \u0275fac=function(r){return new(r||e)(A(kf),A(me))};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Of=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:function(r){let i=null;return r?i=new(r||e):i=A(fl),i},providedIn:"root"})}return e})();function Mf(e,n){return{body:n,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials,credentials:e.credentials,transferCache:e.transferCache,timeout:e.timeout,keepalive:e.keepalive,priority:e.priority,cache:e.cache,mode:e.mode,redirect:e.redirect,integrity:e.integrity,referrer:e.referrer,referrerPolicy:e.referrerPolicy}}var gi=(()=>{class e{handler;constructor(t){this.handler=t}request(t,r,i={}){let o;if(t instanceof pi)o=t;else{let l;i.headers instanceof jn?l=i.headers:l=new jn(i.headers);let f;i.params&&(i.params instanceof gn?f=i.params:f=new gn({fromObject:i.params})),o=new pi(t,r,i.body!==void 0?i.body:null,{headers:l,context:i.context,params:f,reportProgress:i.reportProgress,responseType:i.responseType||"json",withCredentials:i.withCredentials,transferCache:i.transferCache,keepalive:i.keepalive,priority:i.priority,cache:i.cache,mode:i.mode,redirect:i.redirect,credentials:i.credentials,referrer:i.referrer,referrerPolicy:i.referrerPolicy,integrity:i.integrity,timeout:i.timeout})}let s=B(o).pipe(wn(l=>this.handler.handle(l)));if(t instanceof pi||i.observe==="events")return s;let a=s.pipe(Pe(l=>l instanceof Fo));switch(i.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(K(l=>{if(l.body!==null&&!(l.body instanceof ArrayBuffer))throw new T(2806,!1);return l.body}));case"blob":return a.pipe(K(l=>{if(l.body!==null&&!(l.body instanceof Blob))throw new T(2807,!1);return l.body}));case"text":return a.pipe(K(l=>{if(l.body!==null&&typeof l.body!="string")throw new T(2808,!1);return l.body}));case"json":default:return a.pipe(K(l=>l.body))}case"response":return a;default:throw new T(2809,!1)}}delete(t,r={}){return this.request("DELETE",t,r)}get(t,r={}){return this.request("GET",t,r)}head(t,r={}){return this.request("HEAD",t,r)}jsonp(t,r){return this.request("JSONP",t,{params:new gn().append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,r={}){return this.request("OPTIONS",t,r)}patch(t,r,i={}){return this.request("PATCH",t,Mf(i,r))}post(t,r,i={}){return this.request("POST",t,Mf(i,r))}put(t,r,i={}){return this.request("PUT",t,Mf(i,r))}static \u0275fac=function(r){return new(r||e)(A(Of))};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var Ww=new S("",{factory:()=>!0}),Zw="XSRF-TOKEN",Yw=new S("",{providedIn:"root",factory:()=>Zw}),Qw="X-XSRF-TOKEN",Kw=new S("",{providedIn:"root",factory:()=>Qw}),Jw=(()=>{class e{cookieName=C(Yw);doc=C(ue);lastCookieString="";lastToken=null;parseCount=0;getToken(){let t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=No(t,this.cookieName),this.lastCookieString=t),this.lastToken}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Qv=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:function(r){let i=null;return r?i=new(r||e):i=A(Jw),i},providedIn:"root"})}return e})();function Xw(e,n){if(!C(Ww)||e.method==="GET"||e.method==="HEAD")return n(e);try{let i=C(Ln).href,{origin:o}=new URL(i),{origin:s}=new URL(e.url,o);if(o!==s)return n(e)}catch{return n(e)}let t=C(Qv).getToken(),r=C(Kw);return t!=null&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,t)})),n(e)}var Pf=(function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e})(Pf||{});function eS(e,n){return{\u0275kind:e,\u0275providers:n}}function Ff(...e){let n=[gi,fl,{provide:Of,useExisting:fl},{provide:kf,useFactory:()=>C(Hw,{optional:!0})??C(Af)},{provide:Nf,useValue:Xw,multi:!0}];for(let t of e)n.push(...t.\u0275providers);return Mn(n)}var Gv=new S("");function Lf(){return eS(Pf.LegacyInterceptors,[{provide:Gv,useFactory:qw},{provide:Nf,useExisting:Gv,multi:!0}])}var Jv=(()=>{class e{_doc;constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}static \u0275fac=function(r){return new(r||e)(A(ue))};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var H="primary",Wo=Symbol("RouteTitle"),Hf=class{params;constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){let t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){let t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}};function Rr(e){return new Hf(e)}function ay(e,n,t){let r=t.path.split("/");if(r.length>e.length||t.pathMatch==="full"&&(n.hasChildren()||r.length{e.pipe(on()).subscribe({next:r=>n(r),error:r=>t(r)})})}function nS(e,n){if(e.length!==n.length)return!1;for(let t=0;tr[o]===i)}else return e===n}function cy(e){return e.length>0?e[e.length-1]:null}function kr(e){return ks(e)?e:wr(e)?fe(Promise.resolve(e)):B(e)}function uy(e){return ks(e)?yl(e):Promise.resolve(e)}var rS={exact:fy,subset:py},dy={exact:iS,subset:oS,ignored:()=>!0};function Xv(e,n,t){return rS[t.paths](e.root,n.root,t.matrixParams)&&dy[t.queryParams](e.queryParams,n.queryParams)&&!(t.fragment==="exact"&&e.fragment!==n.fragment)}function iS(e,n){return Jt(e,n)}function fy(e,n,t){if(!Ar(e.segments,n.segments)||!ml(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(let r in n.children)if(!e.children[r]||!fy(e.children[r],n.children[r],t))return!1;return!0}function oS(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>ly(e[t],n[t]))}function py(e,n,t){return hy(e,n,n.segments,t)}function hy(e,n,t,r){if(e.segments.length>t.length){let i=e.segments.slice(0,t.length);return!(!Ar(i,t)||n.hasChildren()||!ml(i,t,r))}else if(e.segments.length===t.length){if(!Ar(e.segments,t)||!ml(e.segments,t,r))return!1;for(let i in n.children)if(!e.children[i]||!py(e.children[i],n.children[i],r))return!1;return!0}else{let i=t.slice(0,e.segments.length),o=t.slice(e.segments.length);return!Ar(e.segments,i)||!ml(e.segments,i,r)||!e.children[H]?!1:hy(e.children[H],n,o,r)}}function ml(e,n,t){return n.every((r,i)=>dy[t](e[i].parameters,r.parameters))}var Pt=class{root;queryParams;fragment;_queryParamMap;constructor(n=new te([],{}),t={},r=null){this.root=n,this.queryParams=t,this.fragment=r}get queryParamMap(){return this._queryParamMap??=Rr(this.queryParams),this._queryParamMap}toString(){return lS.serialize(this)}},te=class{segments;children;parent=null;constructor(n,t){this.segments=n,this.children=t,Object.values(t).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return gl(this)}},Bn=class{path;parameters;_parameterMap;constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap??=Rr(this.parameters),this._parameterMap}toString(){return gy(this)}};function sS(e,n){return Ar(e,n)&&e.every((t,r)=>Jt(t.parameters,n[r].parameters))}function Ar(e,n){return e.length!==n.length?!1:e.every((t,r)=>t.path===n[r].path)}function aS(e,n){let t=[];return Object.entries(e.children).forEach(([r,i])=>{r===H&&(t=t.concat(n(i,r)))}),Object.entries(e.children).forEach(([r,i])=>{r!==H&&(t=t.concat(n(i,r)))}),t}var Or=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:()=>new vn,providedIn:"root"})}return e})(),vn=class{parse(n){let t=new zf(n);return new Pt(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){let t=`/${Lo(n.root,!0)}`,r=dS(n.queryParams),i=typeof n.fragment=="string"?`#${cS(n.fragment)}`:"";return`${t}${r}${i}`}},lS=new vn;function gl(e){return e.segments.map(n=>gy(n)).join("/")}function Lo(e,n){if(!e.hasChildren())return gl(e);if(n){let t=e.children[H]?Lo(e.children[H],!1):"",r=[];return Object.entries(e.children).forEach(([i,o])=>{i!==H&&r.push(`${i}:${Lo(o,!1)}`)}),r.length>0?`${t}(${r.join("//")})`:t}else{let t=aS(e,(r,i)=>i===H?[Lo(e.children[H],!1)]:[`${i}:${Lo(r,!1)}`]);return Object.keys(e.children).length===1&&e.children[H]!=null?`${gl(e)}/${t[0]}`:`${gl(e)}/(${t.join("//")})`}}function my(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function pl(e){return my(e).replace(/%3B/gi,";")}function cS(e){return encodeURI(e)}function Gf(e){return my(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function vl(e){return decodeURIComponent(e)}function ey(e){return vl(e.replace(/\+/g,"%20"))}function gy(e){return`${Gf(e.path)}${uS(e.parameters)}`}function uS(e){return Object.entries(e).map(([n,t])=>`;${Gf(n)}=${Gf(t)}`).join("")}function dS(e){let n=Object.entries(e).map(([t,r])=>Array.isArray(r)?r.map(i=>`${pl(t)}=${pl(i)}`).join("&"):`${pl(t)}=${pl(r)}`).filter(t=>t);return n.length?`?${n.join("&")}`:""}var fS=/^[^\/()?;#]+/;function Vf(e){let n=e.match(fS);return n?n[0]:""}var pS=/^[^\/()?;=#]+/;function hS(e){let n=e.match(pS);return n?n[0]:""}var mS=/^[^=?&#]+/;function gS(e){let n=e.match(mS);return n?n[0]:""}var vS=/^[^&#]+/;function yS(e){let n=e.match(vS);return n?n[0]:""}var zf=class{url;remaining;constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new te([],{}):new te([],this.parseChildren())}parseQueryParams(){let n={};if(this.consumeOptional("?"))do this.parseQueryParam(n);while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let r={};return this.peekStartsWith("(")&&(r=this.parseParens(!1)),(n.length>0||Object.keys(t).length>0)&&(r[H]=new te(n,t)),r}parseSegment(){let n=Vf(this.remaining);if(n===""&&this.peekStartsWith(";"))throw new T(4009,!1);return this.capture(n),new Bn(vl(n),this.parseMatrixParams())}parseMatrixParams(){let n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){let t=hS(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){let i=Vf(this.remaining);i&&(r=i,this.capture(r))}n[vl(t)]=vl(r)}parseQueryParam(n){let t=gS(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){let s=yS(this.remaining);s&&(r=s,this.capture(r))}let i=ey(t),o=ey(r);if(n.hasOwnProperty(i)){let s=n[i];Array.isArray(s)||(s=[s],n[i]=s),s.push(o)}else n[i]=o}parseParens(n){let t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let r=Vf(this.remaining),i=this.remaining[r.length];if(i!=="/"&&i!==")"&&i!==";")throw new T(4010,!1);let o;r.indexOf(":")>-1?(o=r.slice(0,r.indexOf(":")),this.capture(o),this.capture(":")):n&&(o=H);let s=this.parseChildren();t[o??H]=Object.keys(s).length===1&&s[H]?s[H]:new te([],s),this.consumeOptional("//")}return t}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return this.peekStartsWith(n)?(this.remaining=this.remaining.substring(n.length),!0):!1}capture(n){if(!this.consumeOptional(n))throw new T(4011,!1)}};function vy(e){return e.segments.length>0?new te([],{[H]:e}):e}function yy(e){let n={};for(let[r,i]of Object.entries(e.children)){let o=yy(i);if(r===H&&o.segments.length===0&&o.hasChildren())for(let[s,a]of Object.entries(o.children))n[s]=a;else(o.segments.length>0||o.hasChildren())&&(n[r]=o)}let t=new te(e.segments,n);return CS(t)}function CS(e){if(e.numberOfChildren===1&&e.children[H]){let n=e.children[H];return new te(e.segments.concat(n.segments),n.children)}return e}function Un(e){return e instanceof Pt}function Cy(e,n,t=null,r=null,i=new vn){let o=Ey(e);return Dy(o,n,t,r,i)}function Ey(e){let n;function t(o){let s={};for(let l of o.children){let f=t(l);s[l.outlet]=f}let a=new te(o.url,s);return o===e&&(n=a),a}let r=t(e.root),i=vy(r);return n??i}function Dy(e,n,t,r,i){let o=e;for(;o.parent;)o=o.parent;if(n.length===0)return jf(o,o,o,t,r,i);let s=ES(n);if(s.toRoot())return jf(o,o,new te([],{}),t,r,i);let a=DS(s,o,e),l=a.processChildren?jo(a.segmentGroup,a.index,s.commands):by(a.segmentGroup,a.index,s.commands);return jf(o,a.segmentGroup,l,t,r,i)}function Cl(e){return typeof e=="object"&&e!=null&&!e.outlets&&!e.segmentPath}function Uo(e){return typeof e=="object"&&e!=null&&e.outlets}function ty(e,n,t){e||="\u0275";let r=new Pt;return r.queryParams={[e]:n},t.parse(t.serialize(r)).queryParams[e]}function jf(e,n,t,r,i,o){let s={};for(let[f,p]of Object.entries(r??{}))s[f]=Array.isArray(p)?p.map(m=>ty(f,m,o)):ty(f,p,o);let a;e===n?a=t:a=_y(e,n,t);let l=vy(yy(a));return new Pt(l,s,i)}function _y(e,n,t){let r={};return Object.entries(e.children).forEach(([i,o])=>{o===n?r[i]=t:r[i]=_y(o,n,t)}),new te(e.segments,r)}var El=class{isAbsolute;numberOfDoubleDots;commands;constructor(n,t,r){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=r,n&&r.length>0&&Cl(r[0]))throw new T(4003,!1);let i=r.find(Uo);if(i&&i!==cy(r))throw new T(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function ES(e){if(typeof e[0]=="string"&&e.length===1&&e[0]==="/")return new El(!0,0,e);let n=0,t=!1,r=e.reduce((i,o,s)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let a={};return Object.entries(o.outlets).forEach(([l,f])=>{a[l]=typeof f=="string"?f.split("/"):f}),[...i,{outlets:a}]}if(o.segmentPath)return[...i,o.segmentPath]}return typeof o!="string"?[...i,o]:s===0?(o.split("/").forEach((a,l)=>{l==0&&a==="."||(l==0&&a===""?t=!0:a===".."?n++:a!=""&&i.push(a))}),i):[...i,o]},[]);return new El(t,n,r)}var yi=class{segmentGroup;processChildren;index;constructor(n,t,r){this.segmentGroup=n,this.processChildren=t,this.index=r}};function DS(e,n,t){if(e.isAbsolute)return new yi(n,!0,0);if(!t)return new yi(n,!1,NaN);if(t.parent===null)return new yi(t,!0,0);let r=Cl(e.commands[0])?0:1,i=t.segments.length-1+r;return _S(t,i,e.numberOfDoubleDots)}function _S(e,n,t){let r=e,i=n,o=t;for(;o>i;){if(o-=i,r=r.parent,!r)throw new T(4005,!1);i=r.segments.length}return new yi(r,!1,i-o)}function bS(e){return Uo(e[0])?e[0].outlets:{[H]:e}}function by(e,n,t){if(e??=new te([],{}),e.segments.length===0&&e.hasChildren())return jo(e,n,t);let r=wS(e,n,t),i=t.slice(r.commandIndex);if(r.match&&r.pathIndexo!==H)&&e.children[H]&&e.numberOfChildren===1&&e.children[H].segments.length===0){let o=jo(e.children[H],n,t);return new te(e.segments,o.children)}return Object.entries(r).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(i[o]=by(e.children[o],n,s))}),Object.entries(e.children).forEach(([o,s])=>{r[o]===void 0&&(i[o]=s)}),new te(e.segments,i)}}function wS(e,n,t){let r=0,i=n,o={match:!1,pathIndex:0,commandIndex:0};for(;i=t.length)return o;let s=e.segments[i],a=t[r];if(Uo(a))break;let l=`${a}`,f=r0&&l===void 0)break;if(l&&f&&typeof f=="object"&&f.outlets===void 0){if(!ry(l,f,s))return o;r+=2}else{if(!ry(l,{},s))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}function qf(e,n,t){let r=e.segments.slice(0,n),i=0;for(;i{typeof r=="string"&&(r=[r]),r!==null&&(n[t]=qf(new te([],{}),0,r))}),n}function ny(e){let n={};return Object.entries(e).forEach(([t,r])=>n[t]=`${r}`),n}function ry(e,n,t){return e==t.path&&Jt(n,t.parameters)}var Ci="imperative",Te=(function(e){return e[e.NavigationStart=0]="NavigationStart",e[e.NavigationEnd=1]="NavigationEnd",e[e.NavigationCancel=2]="NavigationCancel",e[e.NavigationError=3]="NavigationError",e[e.RoutesRecognized=4]="RoutesRecognized",e[e.ResolveStart=5]="ResolveStart",e[e.ResolveEnd=6]="ResolveEnd",e[e.GuardsCheckStart=7]="GuardsCheckStart",e[e.GuardsCheckEnd=8]="GuardsCheckEnd",e[e.RouteConfigLoadStart=9]="RouteConfigLoadStart",e[e.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",e[e.ChildActivationStart=11]="ChildActivationStart",e[e.ChildActivationEnd=12]="ChildActivationEnd",e[e.ActivationStart=13]="ActivationStart",e[e.ActivationEnd=14]="ActivationEnd",e[e.Scroll=15]="Scroll",e[e.NavigationSkipped=16]="NavigationSkipped",e})(Te||{}),ft=class{id;url;constructor(n,t){this.id=n,this.url=t}},Hn=class extends ft{type=Te.NavigationStart;navigationTrigger;restoredState;constructor(n,t,r="imperative",i=null){super(n,t),this.navigationTrigger=r,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},Ke=class extends ft{urlAfterRedirects;type=Te.NavigationEnd;constructor(n,t,r){super(n,t),this.urlAfterRedirects=r}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},Qe=(function(e){return e[e.Redirect=0]="Redirect",e[e.SupersededByNewNavigation=1]="SupersededByNewNavigation",e[e.NoDataFromResolver=2]="NoDataFromResolver",e[e.GuardRejected=3]="GuardRejected",e[e.Aborted=4]="Aborted",e})(Qe||{}),Di=(function(e){return e[e.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",e[e.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",e})(Di||{}),Xt=class extends ft{reason;code;type=Te.NavigationCancel;constructor(n,t,r,i){super(n,t),this.reason=r,this.code=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},en=class extends ft{reason;code;type=Te.NavigationSkipped;constructor(n,t,r,i){super(n,t),this.reason=r,this.code=i}},_i=class extends ft{error;target;type=Te.NavigationError;constructor(n,t,r,i){super(n,t),this.error=r,this.target=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},Ho=class extends ft{urlAfterRedirects;state;type=Te.RoutesRecognized;constructor(n,t,r,i){super(n,t),this.urlAfterRedirects=r,this.state=i}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Dl=class extends ft{urlAfterRedirects;state;type=Te.GuardsCheckStart;constructor(n,t,r,i){super(n,t),this.urlAfterRedirects=r,this.state=i}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},_l=class extends ft{urlAfterRedirects;state;shouldActivate;type=Te.GuardsCheckEnd;constructor(n,t,r,i,o){super(n,t),this.urlAfterRedirects=r,this.state=i,this.shouldActivate=o}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},bl=class extends ft{urlAfterRedirects;state;type=Te.ResolveStart;constructor(n,t,r,i){super(n,t),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},wl=class extends ft{urlAfterRedirects;state;type=Te.ResolveEnd;constructor(n,t,r,i){super(n,t),this.urlAfterRedirects=r,this.state=i}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Sl=class{route;type=Te.RouteConfigLoadStart;constructor(n){this.route=n}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},Il=class{route;type=Te.RouteConfigLoadEnd;constructor(n){this.route=n}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},xl=class{snapshot;type=Te.ChildActivationStart;constructor(n){this.snapshot=n}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Tl=class{snapshot;type=Te.ChildActivationEnd;constructor(n){this.snapshot=n}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Ml=class{snapshot;type=Te.ActivationStart;constructor(n){this.snapshot=n}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Al=class{snapshot;type=Te.ActivationEnd;constructor(n){this.snapshot=n}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},bi=class{routerEvent;position;anchor;type=Te.Scroll;constructor(n,t,r){this.routerEvent=n,this.position=t,this.anchor=r}toString(){let n=this.position?`${this.position[0]}, ${this.position[1]}`:null;return`Scroll(anchor: '${this.anchor}', position: '${n}')`}},$o=class{},wi=class{url;navigationBehaviorOptions;constructor(n,t){this.url=n,this.navigationBehaviorOptions=t}};function IS(e){return!(e instanceof $o)&&!(e instanceof wi)}function xS(e,n){return e.providers&&!e._injector&&(e._injector=ui(e.providers,n,`Route: ${e.path}`)),e._injector??n}function Ot(e){return e.outlet||H}function TS(e,n){let t=e.filter(r=>Ot(r)===n);return t.push(...e.filter(r=>Ot(r)!==n)),t}function xi(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){let t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}var Nl=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){return xi(this.route?.snapshot)??this.rootInjector}constructor(n){this.rootInjector=n,this.children=new Pr(this.rootInjector)}},Pr=(()=>{class e{rootInjector;contexts=new Map;constructor(t){this.rootInjector=t}onChildOutletCreated(t,r){let i=this.getOrCreateContext(t);i.outlet=r,this.contexts.set(t,i)}onChildOutletDestroyed(t){let r=this.getContext(t);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){let t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let r=this.getContext(t);return r||(r=new Nl(this.rootInjector),this.contexts.set(t,r)),r}getContext(t){return this.contexts.get(t)||null}static \u0275fac=function(r){return new(r||e)(A(me))};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Rl=class{_root;constructor(n){this._root=n}get root(){return this._root.value}parent(n){let t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){let t=Wf(n,this._root);return t?t.children.map(r=>r.value):[]}firstChild(n){let t=Wf(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){let t=Zf(n,this._root);return t.length<2?[]:t[t.length-2].children.map(i=>i.value).filter(i=>i!==n)}pathFromRoot(n){return Zf(n,this._root).map(t=>t.value)}};function Wf(e,n){if(e===n.value)return n;for(let t of n.children){let r=Wf(e,t);if(r)return r}return null}function Zf(e,n){if(e===n.value)return[n];for(let t of n.children){let r=Zf(e,t);if(r.length)return r.unshift(n),r}return[]}var dt=class{value;children;constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}};function vi(e){let n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}var Go=class extends Rl{snapshot;constructor(n,t){super(n),this.snapshot=t,ep(this,n)}toString(){return this.snapshot.toString()}};function wy(e){let n=MS(e),t=new Oe([new Bn("",{})]),r=new Oe({}),i=new Oe({}),o=new Oe({}),s=new Oe(""),a=new Ft(t,r,o,s,i,H,e,n.root);return a.snapshot=n.root,new Go(new dt(a,[]),n)}function MS(e){let n={},t={},r={},o=new Nr([],n,r,"",t,H,e,null,{});return new zo("",new dt(o,[]))}var Ft=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(n,t,r,i,o,s,a,l){this.urlSubject=n,this.paramsSubject=t,this.queryParamsSubject=r,this.fragmentSubject=i,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(K(f=>f[Wo]))??B(void 0),this.url=n,this.params=t,this.queryParams=r,this.fragment=i,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(K(n=>Rr(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(K(n=>Rr(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function kl(e,n,t="emptyOnly"){let r,{routeConfig:i}=e;return n!==null&&(t==="always"||i?.path===""||!n.component&&!n.routeConfig?.loadComponent)?r={params:D(D({},n.params),e.params),data:D(D({},n.data),e.data),resolve:D(D(D(D({},e.data),n.data),i?.data),e._resolvedData)}:r={params:D({},e.params),data:D({},e.data),resolve:D(D({},e.data),e._resolvedData??{})},i&&Iy(i)&&(r.resolve[Wo]=i.title),r}var Nr=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;get title(){return this.data?.[Wo]}constructor(n,t,r,i,o,s,a,l,f){this.url=n,this.params=t,this.queryParams=r,this.fragment=i,this.data=o,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=f}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=Rr(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=Rr(this.queryParams),this._queryParamMap}toString(){let n=this.url.map(r=>r.toString()).join("/"),t=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${n}', path:'${t}')`}},zo=class extends Rl{url;constructor(n,t){super(t),this.url=n,ep(this,t)}toString(){return Sy(this._root)}};function ep(e,n){n.value._routerState=e,n.children.forEach(t=>ep(e,t))}function Sy(e){let n=e.children.length>0?` { ${e.children.map(Sy).join(", ")} } `:"";return`${e.value}${n}`}function Bf(e){if(e.snapshot){let n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,Jt(n.queryParams,t.queryParams)||e.queryParamsSubject.next(t.queryParams),n.fragment!==t.fragment&&e.fragmentSubject.next(t.fragment),Jt(n.params,t.params)||e.paramsSubject.next(t.params),nS(n.url,t.url)||e.urlSubject.next(t.url),Jt(n.data,t.data)||e.dataSubject.next(t.data)}else e.snapshot=e._futureSnapshot,e.dataSubject.next(e._futureSnapshot.data)}function Yf(e,n){let t=Jt(e.params,n.params)&&sS(e.url,n.url),r=!e.parent!=!n.parent;return t&&!r&&(!e.parent||Yf(e.parent,n.parent))}function Iy(e){return typeof e.title=="string"||e.title===null}var xy=new S(""),Zo=(()=>{class e{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=H;activateEvents=new ve;deactivateEvents=new ve;attachEvents=new ve;detachEvents=new ve;routerOutletData=vv();parentContexts=C(Pr);location=C(br);changeDetector=C(hn);inputBinder=C(Yo,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(t){if(t.name){let{firstChange:r,previousValue:i}=t.name;if(r)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new T(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new T(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new T(4012,!1);this.location.detach();let t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,r){this.activated=t,this._activatedRoute=r,this.location.insert(t.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){let t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,r){if(this.isActivated)throw new T(4013,!1);this._activatedRoute=t;let i=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new Qf(t,a,i.injector,this.routerOutletData);this.activated=i.createComponent(s,{index:i.length,injector:l,environmentInjector:r}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(r){return new(r||e)};static \u0275dir=se({type:e,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[Zt]})}return e})(),Qf=class{route;childContexts;parent;outletData;constructor(n,t,r,i){this.route=n,this.childContexts=t,this.parent=r,this.outletData=i}get(n,t){return n===Ft?this.route:n===Pr?this.childContexts:n===xy?this.outletData:this.parent.get(n,t)}},Yo=new S(""),tp=(()=>{class e{outletDataSubscriptions=new Map;bindActivatedRouteToOutletComponent(t){this.unsubscribeFromRouteData(t),this.subscribeToRouteData(t)}unsubscribeFromRouteData(t){this.outletDataSubscriptions.get(t)?.unsubscribe(),this.outletDataSubscriptions.delete(t)}subscribeToRouteData(t){let{activatedRoute:r}=t,i=Ls([r.queryParams,r.params,r.data]).pipe(tt(([o,s,a],l)=>(a=D(D(D({},o),s),a),l===0?B(a):Promise.resolve(a)))).subscribe(o=>{if(!t.isActivated||!t.activatedComponentRef||t.activatedRoute!==r||r.component===null){this.unsubscribeFromRouteData(t);return}let s=_v(r.component);if(!s){this.unsubscribeFromRouteData(t);return}for(let{templateName:a}of s.inputs)t.activatedComponentRef.setInput(a,o[a])});this.outletDataSubscriptions.set(t,i)}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:e.\u0275fac})}return e})(),np=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275cmp=le({type:e,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(r,i){r&1&&h(0,"router-outlet")},dependencies:[Zo],encapsulation:2})}return e})();function rp(e){let n=e.children&&e.children.map(rp),t=n?Y(D({},e),{children:n}):D({},e);return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==H&&(t.component=np),t}function AS(e,n,t){let r=qo(e,n._root,t?t._root:void 0);return new Go(r,n)}function qo(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){let r=t.value;r._futureSnapshot=n.value;let i=NS(e,n,t);return new dt(r,i)}else{if(e.shouldAttach(n.value)){let o=e.retrieve(n.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>qo(e,a)),s}}let r=RS(n.value),i=n.children.map(o=>qo(e,o));return new dt(r,i)}}function NS(e,n,t){return n.children.map(r=>{for(let i of t.children)if(e.shouldReuseRoute(r.value,i.value.snapshot))return qo(e,r,i);return qo(e,r)})}function RS(e){return new Ft(new Oe(e.url),new Oe(e.params),new Oe(e.queryParams),new Oe(e.fragment),new Oe(e.data),e.outlet,e.component,e)}var Si=class{redirectTo;navigationBehaviorOptions;constructor(n,t){this.redirectTo=n,this.navigationBehaviorOptions=t}},Ty="ngNavigationCancelingError";function Ol(e,n){let{redirectTo:t,navigationBehaviorOptions:r}=Un(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,i=My(!1,Qe.Redirect);return i.url=t,i.navigationBehaviorOptions=r,i}function My(e,n){let t=new Error(`NavigationCancelingError: ${e||""}`);return t[Ty]=!0,t.cancellationCode=n,t}function kS(e){return Ay(e)&&Un(e.url)}function Ay(e){return!!e&&e[Ty]}var OS=(e,n,t,r)=>K(i=>(new Kf(n,i.targetRouterState,i.currentRouterState,t,r).activate(e),i)),Kf=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(n,t,r,i,o){this.routeReuseStrategy=n,this.futureState=t,this.currState=r,this.forwardEvent=i,this.inputBindingEnabled=o}activate(n){let t=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,r,n),Bf(this.futureState.root),this.activateChildRoutes(t,r,n)}deactivateChildRoutes(n,t,r){let i=vi(t);n.children.forEach(o=>{let s=o.value.outlet;this.deactivateRoutes(o,i[s],r),delete i[s]}),Object.values(i).forEach(o=>{this.deactivateRouteAndItsChildren(o,r)})}deactivateRoutes(n,t,r){let i=n.value,o=t?t.value:null;if(i===o)if(i.component){let s=r.getContext(i.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,r);else o&&this.deactivateRouteAndItsChildren(t,r)}deactivateRouteAndItsChildren(n,t){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,t):this.deactivateRouteAndOutlet(n,t)}detachAndStoreRouteSubtree(n,t){let r=t.getContext(n.value.outlet),i=r&&n.value.component?r.children:t,o=vi(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);if(r&&r.outlet){let s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){let r=t.getContext(n.value.outlet),i=r&&n.value.component?r.children:t,o=vi(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.route=null)}activateChildRoutes(n,t,r){let i=vi(t);n.children.forEach(o=>{this.activateRoutes(o,i[o.value.outlet],r),this.forwardEvent(new Al(o.value.snapshot))}),n.children.length&&this.forwardEvent(new Tl(n.value.snapshot))}activateRoutes(n,t,r){let i=n.value,o=t?t.value:null;if(Bf(i),i===o)if(i.component){let s=r.getOrCreateContext(i.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,r);else if(i.component){let s=r.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let a=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),Bf(a.route.value),this.activateChildRoutes(n,null,s.children)}else s.attachRef=null,s.route=i,s.outlet&&s.outlet.activateWith(i,s.injector),this.activateChildRoutes(n,null,s.children)}else this.activateChildRoutes(n,null,r)}},Pl=class{path;route;constructor(n){this.path=n,this.route=this.path[this.path.length-1]}},Ei=class{component;route;constructor(n,t){this.component=n,this.route=t}};function PS(e,n,t){let r=e._root,i=n?n._root:null;return Vo(r,i,t,[r.value])}function FS(e){let n=e.routeConfig?e.routeConfig.canActivateChild:null;return!n||n.length===0?null:{node:e,guards:n}}function Ti(e,n){let t=Symbol(),r=n.get(e,t);return r===t?typeof e=="function"&&!tu(e)?e:n.get(e):r}function Vo(e,n,t,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=vi(n);return e.children.forEach(s=>{LS(s,o[s.value.outlet],t,r.concat([s.value]),i),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>Bo(a,t.getContext(s),i)),i}function LS(e,n,t,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let l=VS(s,o,o.routeConfig.runGuardsAndResolvers);l?i.canActivateChecks.push(new Pl(r)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?Vo(e,n,a?a.children:null,r,i):Vo(e,n,t,r,i),l&&a&&a.outlet&&a.outlet.isActivated&&i.canDeactivateChecks.push(new Ei(a.outlet.component,s))}else s&&Bo(n,a,i),i.canActivateChecks.push(new Pl(r)),o.component?Vo(e,null,a?a.children:null,r,i):Vo(e,null,t,r,i);return i}function VS(e,n,t){if(typeof t=="function")return t(e,n);switch(t){case"pathParamsChange":return!Ar(e.url,n.url);case"pathParamsOrQueryParamsChange":return!Ar(e.url,n.url)||!Jt(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Yf(e,n)||!Jt(e.queryParams,n.queryParams);case"paramsChange":default:return!Yf(e,n)}}function Bo(e,n,t){let r=vi(e),i=e.value;Object.entries(r).forEach(([o,s])=>{i.component?n?Bo(s,n.children.getContext(o),t):Bo(s,null,t):Bo(s,n,t)}),i.component?n&&n.outlet&&n.outlet.isActivated?t.canDeactivateChecks.push(new Ei(n.outlet.component,i)):t.canDeactivateChecks.push(new Ei(null,i)):t.canDeactivateChecks.push(new Ei(null,i))}function Qo(e){return typeof e=="function"}function jS(e){return typeof e=="boolean"}function BS(e){return e&&Qo(e.canLoad)}function US(e){return e&&Qo(e.canActivate)}function HS(e){return e&&Qo(e.canActivateChild)}function $S(e){return e&&Qo(e.canDeactivate)}function GS(e){return e&&Qo(e.canMatch)}function Ny(e){return e instanceof tr||e?.name==="EmptyError"}var hl=Symbol("INITIAL_VALUE");function Ii(){return tt(e=>Ls(e.map(n=>n.pipe(rn(1),Lc(hl)))).pipe(K(n=>{for(let t of n)if(t!==!0){if(t===hl)return hl;if(t===!1||zS(t))return t}return!0}),Pe(n=>n!==hl),rn(1)))}function zS(e){return Un(e)||e instanceof Si}function Ry(e){return e.aborted?B(void 0).pipe(rn(1)):new Q(n=>{let t=()=>{n.next(),n.complete()};return e.addEventListener("abort",t),()=>e.removeEventListener("abort",t)})}function ky(e){return Yi(Ry(e))}function qS(e,n){return be(t=>{let{targetSnapshot:r,currentSnapshot:i,guards:{canActivateChecks:o,canDeactivateChecks:s}}=t;return s.length===0&&o.length===0?B(Y(D({},t),{guardsResult:!0})):WS(s,r,i,e).pipe(be(a=>a&&jS(a)?ZS(r,o,e,n):B(a)),K(a=>Y(D({},t),{guardsResult:a})))})}function WS(e,n,t,r){return fe(e).pipe(be(i=>XS(i.component,i.route,t,n,r)),on(i=>i!==!0,!0))}function ZS(e,n,t,r){return fe(n).pipe(wn(i=>$r(QS(i.route.parent,r),YS(i.route,r),JS(e,i.path,t),KS(e,i.route,t))),on(i=>i!==!0,!0))}function YS(e,n){return e!==null&&n&&n(new Ml(e)),B(!0)}function QS(e,n){return e!==null&&n&&n(new xl(e)),B(!0)}function KS(e,n,t){let r=n.routeConfig?n.routeConfig.canActivate:null;if(!r||r.length===0)return B(!0);let i=r.map(o=>Zi(()=>{let s=xi(n)??t,a=Ti(o,s),l=US(a)?a.canActivate(n,e):Ae(s,()=>a(n,e));return kr(l).pipe(on())}));return B(i).pipe(Ii())}function JS(e,n,t){let r=n[n.length-1],o=n.slice(0,n.length-1).reverse().map(s=>FS(s)).filter(s=>s!==null).map(s=>Zi(()=>{let a=s.guards.map(l=>{let f=xi(s.node)??t,p=Ti(l,f),m=HS(p)?p.canActivateChild(r,e):Ae(f,()=>p(r,e));return kr(m).pipe(on())});return B(a).pipe(Ii())}));return B(o).pipe(Ii())}function XS(e,n,t,r,i){let o=n&&n.routeConfig?n.routeConfig.canDeactivate:null;if(!o||o.length===0)return B(!0);let s=o.map(a=>{let l=xi(n)??i,f=Ti(a,l),p=$S(f)?f.canDeactivate(e,n,t,r):Ae(l,()=>f(e,n,t,r));return kr(p).pipe(on())});return B(s).pipe(Ii())}function eI(e,n,t,r,i){let o=n.canLoad;if(o===void 0||o.length===0)return B(!0);let s=o.map(a=>{let l=Ti(a,e),f=BS(l)?l.canLoad(n,t):Ae(e,()=>l(n,t)),p=kr(f);return i?p.pipe(ky(i)):p});return B(s).pipe(Ii(),Oy(r))}function Oy(e){return Nc(qe(n=>{if(typeof n!="boolean")throw Ol(e,n)}),K(n=>n===!0))}function tI(e,n,t,r,i){let o=n.canMatch;if(!o||o.length===0)return B(!0);let s=o.map(a=>{let l=Ti(a,e),f=GS(l)?l.canMatch(n,t):Ae(e,()=>l(n,t)),p=kr(f);return i?p.pipe(ky(i)):p});return B(s).pipe(Ii(),Oy(r))}var Mr=class Py extends Error{segmentGroup;constructor(n){super(),this.segmentGroup=n||null,Object.setPrototypeOf(this,Py.prototype)}},Jf=class Fy extends Error{urlTree;constructor(n){super(),this.urlTree=n,Object.setPrototypeOf(this,Fy.prototype)}};function nI(e){throw new T(4e3,!1)}function rI(e){throw My(!1,Qe.GuardRejected)}var iI=class{urlSerializer;urlTree;constructor(n,t){this.urlSerializer=n,this.urlTree=t}lineralizeSegments(n,t){return de(this,null,function*(){let r=[],i=t.root;for(;;){if(r=r.concat(i.segments),i.numberOfChildren===0)return r;if(i.numberOfChildren>1||!i.children[H])throw nI(`${n.redirectTo}`);i=i.children[H]}})}applyRedirectCommands(n,t,r,i,o){return de(this,null,function*(){let s=yield oI(t,i,o);if(s instanceof Pt)throw new Jf(s);let a=this.applyRedirectCreateUrlTree(s,this.urlSerializer.parse(s),n,r);if(s[0]==="/")throw new Jf(a);return a})}applyRedirectCreateUrlTree(n,t,r,i){let o=this.createSegmentGroup(n,t.root,r,i);return new Pt(o,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){let r={};return Object.entries(n).forEach(([i,o])=>{if(typeof o=="string"&&o[0]===":"){let a=o.substring(1);r[i]=t[a]}else r[i]=o}),r}createSegmentGroup(n,t,r,i){let o=this.createSegments(n,t.segments,r,i),s={};return Object.entries(t.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(n,l,r,i)}),new te(o,s)}createSegments(n,t,r,i){return t.map(o=>o.path[0]===":"?this.findPosParam(n,o,i):this.findOrReturn(o,r))}findPosParam(n,t,r){let i=r[t.path.substring(1)];if(!i)throw new T(4001,!1);return i}findOrReturn(n,t){let r=0;for(let i of t){if(i.path===n.path)return t.splice(r),i;r++}return n}};function oI(e,n,t){if(typeof e=="string")return Promise.resolve(e);let r=e,{queryParams:i,fragment:o,routeConfig:s,url:a,outlet:l,params:f,data:p,title:m}=n;return yl(kr(Ae(t,()=>r({params:f,data:p,queryParams:i,fragment:o,routeConfig:s,url:a,outlet:l,title:m}))))}var Xf={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function sI(e,n,t,r,i,o){let s=Ly(e,n,t);return s.matched?(r=xS(n,r),tI(r,n,t,i,o).pipe(K(a=>a===!0?s:D({},Xf)))):B(s)}function Ly(e,n,t){if(n.path==="**")return aI(t);if(n.path==="")return n.pathMatch==="full"&&(e.hasChildren()||t.length>0)?D({},Xf):{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};let i=(n.matcher||ay)(t,e,n);if(!i)return D({},Xf);let o={};Object.entries(i.posParams??{}).forEach(([a,l])=>{o[a]=l.path});let s=i.consumed.length>0?D(D({},o),i.consumed[i.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:i.consumed,remainingSegments:t.slice(i.consumed.length),parameters:s,positionalParamSegments:i.posParams??{}}}function aI(e){return{matched:!0,parameters:e.length>0?cy(e).parameters:{},consumedSegments:e,remainingSegments:[],positionalParamSegments:{}}}function iy(e,n,t,r){return t.length>0&&uI(e,t,r)?{segmentGroup:new te(n,cI(r,new te(t,e.children))),slicedSegments:[]}:t.length===0&&dI(e,t,r)?{segmentGroup:new te(e.segments,lI(e,t,r,e.children)),slicedSegments:t}:{segmentGroup:new te(e.segments,e.children),slicedSegments:t}}function lI(e,n,t,r){let i={};for(let o of t)if(Ll(e,n,o)&&!r[Ot(o)]){let s=new te([],{});i[Ot(o)]=s}return D(D({},r),i)}function cI(e,n){let t={};t[H]=n;for(let r of e)if(r.path===""&&Ot(r)!==H){let i=new te([],{});t[Ot(r)]=i}return t}function uI(e,n,t){return t.some(r=>Ll(e,n,r)&&Ot(r)!==H)}function dI(e,n,t){return t.some(r=>Ll(e,n,r))}function Ll(e,n,t){return(e.hasChildren()||n.length>0)&&t.pathMatch==="full"?!1:t.path===""}function fI(e,n,t){return n.length===0&&!e.children[t]}var pI=class{};function hI(e,n,t,r,i,o,s="emptyOnly",a){return de(this,null,function*(){return new gI(e,n,t,r,i,s,o,a).recognize()})}var mI=31,gI=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;abortSignal;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(n,t,r,i,o,s,a,l){this.injector=n,this.configLoader=t,this.rootComponentType=r,this.config=i,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.abortSignal=l,this.applyRedirects=new iI(this.urlSerializer,this.urlTree)}noMatchError(n){return new T(4002,`'${n.segmentGroup}'`)}recognize(){return de(this,null,function*(){let n=iy(this.urlTree.root,[],[],this.config).segmentGroup,{children:t,rootSnapshot:r}=yield this.match(n),i=new dt(r,t),o=new zo("",i),s=Cy(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}})}match(n){return de(this,null,function*(){let t=new Nr([],Object.freeze({}),Object.freeze(D({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),H,this.rootComponentType,null,{});try{return{children:yield this.processSegmentGroup(this.injector,this.config,n,H,t),rootSnapshot:t}}catch(r){if(r instanceof Jf)return this.urlTree=r.urlTree,this.match(r.urlTree.root);throw r instanceof Mr?this.noMatchError(r):r}})}processSegmentGroup(n,t,r,i,o){return de(this,null,function*(){if(r.segments.length===0&&r.hasChildren())return this.processChildren(n,t,r,o);let s=yield this.processSegment(n,t,r,r.segments,i,!0,o);return s instanceof dt?[s]:[]})}processChildren(n,t,r,i){return de(this,null,function*(){let o=[];for(let l of Object.keys(r.children))l==="primary"?o.unshift(l):o.push(l);let s=[];for(let l of o){let f=r.children[l],p=TS(t,l),m=yield this.processSegmentGroup(n,p,f,l,i);s.push(...m)}let a=Vy(s);return vI(a),a})}processSegment(n,t,r,i,o,s,a){return de(this,null,function*(){for(let l of t)try{return yield this.processSegmentAgainstRoute(l._injector??n,t,l,r,i,o,s,a)}catch(f){if(f instanceof Mr||Ny(f))continue;throw f}if(fI(r,i,o))return new pI;throw new Mr(r)})}processSegmentAgainstRoute(n,t,r,i,o,s,a,l){return de(this,null,function*(){if(Ot(r)!==s&&(s===H||!Ll(i,o,r)))throw new Mr(i);if(r.redirectTo===void 0)return this.matchSegmentAgainstRoute(n,i,r,o,s,l);if(this.allowRedirects&&a)return this.expandSegmentAgainstRouteUsingRedirect(n,i,t,r,o,s,l);throw new Mr(i)})}expandSegmentAgainstRouteUsingRedirect(n,t,r,i,o,s,a){return de(this,null,function*(){let{matched:l,parameters:f,consumedSegments:p,positionalParamSegments:m,remainingSegments:y}=Ly(t,i,o);if(!l)throw new Mr(t);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>mI&&(this.allowRedirects=!1));let v=new Nr(o,f,Object.freeze(D({},this.urlTree.queryParams)),this.urlTree.fragment,oy(i),Ot(i),i.component??i._loadedComponent??null,i,sy(i)),b=kl(v,a,this.paramsInheritanceStrategy);if(v.params=Object.freeze(b.params),v.data=Object.freeze(b.data),this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let F=yield this.applyRedirects.applyRedirectCommands(p,i.redirectTo,m,v,n),N=yield this.applyRedirects.lineralizeSegments(i,F);return this.processSegment(n,r,t,N.concat(y),s,!1,a)})}matchSegmentAgainstRoute(n,t,r,i,o,s){return de(this,null,function*(){if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);let a=yield yl(sI(t,r,i,n,this.urlSerializer,this.abortSignal));if(r.path==="**"&&(t.children={}),!a?.matched)throw new Mr(t);n=r._injector??n;let{routes:l}=yield this.getChildConfig(n,r,i),f=r._loadedInjector??n,{parameters:p,consumedSegments:m,remainingSegments:y}=a,v=new Nr(m,p,Object.freeze(D({},this.urlTree.queryParams)),this.urlTree.fragment,oy(r),Ot(r),r.component??r._loadedComponent??null,r,sy(r)),b=kl(v,s,this.paramsInheritanceStrategy);v.params=Object.freeze(b.params),v.data=Object.freeze(b.data);let{segmentGroup:F,slicedSegments:N}=iy(t,m,y,l);if(N.length===0&&F.hasChildren()){let pt=yield this.processChildren(f,l,F,v);return new dt(v,pt)}if(l.length===0&&N.length===0)return new dt(v,[]);let M=Ot(r)===o,De=yield this.processSegment(f,l,F,N,M?H:o,!0,v);return new dt(v,De instanceof dt?[De]:[])})}getChildConfig(n,t,r){return de(this,null,function*(){if(t.children)return{routes:t.children,injector:n};if(t.loadChildren){if(t._loadedRoutes!==void 0)return{routes:t._loadedRoutes,injector:t._loadedInjector};if(this.abortSignal.aborted)throw new Error(this.abortSignal.reason);if(yield yl(eI(n,t,r,this.urlSerializer,this.abortSignal))){let o=yield this.configLoader.loadChildren(n,t);return t._loadedRoutes=o.routes,t._loadedInjector=o.injector,o}throw rI(t)}return{routes:[],injector:n}})}};function vI(e){e.sort((n,t)=>n.value.outlet===H?-1:t.value.outlet===H?1:n.value.outlet.localeCompare(t.value.outlet))}function yI(e){let n=e.value.routeConfig;return n&&n.path===""}function Vy(e){let n=[],t=new Set;for(let r of e){if(!yI(r)){n.push(r);continue}let i=n.find(o=>r.value.routeConfig===o.value.routeConfig);i!==void 0?(i.children.push(...r.children),t.add(i)):n.push(r)}for(let r of t){let i=Vy(r.children);n.push(new dt(r.value,i))}return n.filter(r=>!t.has(r))}function oy(e){return e.data||{}}function sy(e){return e.resolve||{}}var CI=new S("",{factory:()=>hI});function EI(e,n,t,r,i,o,s){let a=e.get(CI);return be(l=>B(l).pipe(tt(f=>a(e,n,t,r,f.extractedUrl,i,o,s)),K(({state:f,tree:p})=>Y(D({},l),{targetSnapshot:f,urlAfterRedirects:p}))))}function DI(e,n){return be(t=>{let{targetSnapshot:r,guards:{canActivateChecks:i}}=t;if(!i.length)return B(t);let o=new Set(i.map(l=>l.route)),s=new Set;for(let l of o)if(!s.has(l))for(let f of jy(l))s.add(f);let a=0;return fe(s).pipe(wn(l=>o.has(l)?_I(l,r,e,n):(l.data=kl(l,l.parent,e).resolve,B(void 0))),qe(()=>a++),Vs(1),be(l=>a===s.size?B(t):Je))})}function jy(e){let n=e.children.map(t=>jy(t)).flat();return[e,...n]}function _I(e,n,t,r){let i=e.routeConfig,o=e._resolve;return i?.title!==void 0&&!Iy(i)&&(o[Wo]=i.title),Zi(()=>(e.data=kl(e,e.parent,t).resolve,bI(o,e,n,r).pipe(K(s=>(e._resolvedData=s,e.data=D(D({},e.data),s),null)))))}function bI(e,n,t,r){let i=$f(e);if(i.length===0)return B({});let o={};return fe(i).pipe(be(s=>wI(e[s],n,t,r).pipe(on(),qe(a=>{if(a instanceof Si)throw Ol(new vn,a);o[s]=a}))),Vs(1),K(()=>o),Gr(s=>Ny(s)?Je:Oc(s)))}function wI(e,n,t,r){let i=xi(n)??r,o=Ti(e,i),s=o.resolve?o.resolve(n,t):Ae(i,()=>o(n,t));return kr(s)}function Uf(e){return tt(n=>{let t=e(n);return t?fe(t).pipe(K(()=>n)):B(n)})}var ip=(()=>{class e{buildTitle(t){let r,i=t.root;for(;i!==void 0;)r=this.getResolvedTitleForRoute(i)??r,i=i.children.find(o=>o.outlet===H);return r}getResolvedTitleForRoute(t){return t.data[Wo]}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:()=>C(By),providedIn:"root"})}return e})(),By=(()=>{class e extends ip{title;constructor(t){super(),this.title=t}updateTitle(t){let r=this.buildTitle(t);r!==void 0&&this.title.setTitle(r)}static \u0275fac=function(r){return new(r||e)(A(Jv))};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),$n=new S("",{factory:()=>({})}),Mi=new S(""),Vl=(()=>{class e{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=C(df);loadComponent(t,r){return de(this,null,function*(){if(this.componentLoaders.get(r))return this.componentLoaders.get(r);if(r._loadedComponent)return Promise.resolve(r._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(r);let i=de(this,null,function*(){try{let o=yield uy(Ae(t,()=>r.loadComponent())),s=yield $y(Hy(o));return this.onLoadEndListener&&this.onLoadEndListener(r),r._loadedComponent=s,s}finally{this.componentLoaders.delete(r)}});return this.componentLoaders.set(r,i),i})}loadChildren(t,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return Promise.resolve({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);let i=de(this,null,function*(){try{let o=yield Uy(r,this.compiler,t,this.onLoadEndListener);return r._loadedRoutes=o.routes,r._loadedInjector=o.injector,o}finally{this.childrenLoaders.delete(r)}});return this.childrenLoaders.set(r,i),i}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Uy(e,n,t,r){return de(this,null,function*(){let i=yield uy(Ae(t,()=>e.loadChildren())),o=yield $y(Hy(i)),s;o instanceof qa||Array.isArray(o)?s=o:s=yield n.compileModuleAsync(o),r&&r(e);let a,l,f=!1;return Array.isArray(s)?(l=s,f=!0):(a=s.create(t).injector,l=a.get(Mi,[],{optional:!0,self:!0}).flat()),{routes:l.map(rp),injector:a}})}function SI(e){return e&&typeof e=="object"&&"default"in e}function Hy(e){return SI(e)?e.default:e}function $y(e){return de(this,null,function*(){return e})}var jl=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:()=>C(II),providedIn:"root"})}return e})(),II=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,r){return t}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),op=new S(""),sp=new S("");function Gy(e,n,t){let r=e.get(sp),i=e.get(ue);if(!i.startViewTransition||r.skipNextTransition)return r.skipNextTransition=!1,new Promise(f=>setTimeout(f));let o,s=new Promise(f=>{o=f}),a=i.startViewTransition(()=>(o(),xI(e)));a.ready.catch(f=>{}),a.finished.catch(f=>{});let{onViewTransitionCreated:l}=r;return l&&Ae(e,()=>l({transition:a,from:n,to:t})),s}function xI(e){return new Promise(n=>{wo({read:()=>setTimeout(n)},{injector:e})})}var TI=()=>{},ap=new S(""),Bl=(()=>{class e{currentNavigation=Dt(null,{equal:()=>!1});currentTransition=null;lastSuccessfulNavigation=Dt(null);events=new Ce;transitionAbortWithErrorSubject=new Ce;configLoader=C(Vl);environmentInjector=C(me);destroyRef=C(Ct);urlSerializer=C(Or);rootContexts=C(Pr);location=C(Vn);inputBindingEnabled=C(Yo,{optional:!0})!==null;titleStrategy=C(ip);options=C($n,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=C(jl);createViewTransition=C(op,{optional:!0});navigationErrorHandler=C(ap,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>B(void 0);rootComponentType=null;destroyed=!1;constructor(){let t=i=>this.events.next(new Sl(i)),r=i=>this.events.next(new Il(i));this.configLoader.onLoadEndListener=r,this.configLoader.onLoadStartListener=t,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(t){let r=++this.navigationId;Re(()=>{this.transitions?.next(Y(D({},t),{extractedUrl:this.urlHandlingStrategy.extract(t.rawUrl),targetSnapshot:null,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null,id:r}))})}setupNavigations(t){return this.transitions=new Oe(null),this.transitions.pipe(Pe(r=>r!==null),tt(r=>{let i=!1,o=new AbortController;return B(r).pipe(tt(s=>{if(this.navigationId>r.id)return this.cancelNavigationTransition(r,"",Qe.SupersededByNewNavigation),Je;this.currentTransition=r;let a=this.lastSuccessfulNavigation();this.currentNavigation.set({id:s.id,initialUrl:s.rawUrl,extractedUrl:s.extractedUrl,targetBrowserUrl:typeof s.extras.browserUrl=="string"?this.urlSerializer.parse(s.extras.browserUrl):s.extras.browserUrl,trigger:s.source,extras:s.extras,previousNavigation:a?Y(D({},a),{previousNavigation:null}):null,abort:()=>o.abort()});let l=!t.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),f=s.extras.onSameUrlNavigation??t.onSameUrlNavigation;if(!l&&f!=="reload")return this.events.next(new en(s.id,this.urlSerializer.serialize(s.rawUrl),"",Di.IgnoredSameUrlNavigation)),s.resolve(!1),Je;if(this.urlHandlingStrategy.shouldProcessUrl(s.rawUrl))return B(s).pipe(tt(p=>(this.events.next(new Hn(p.id,this.urlSerializer.serialize(p.extractedUrl),p.source,p.restoredState)),p.id!==this.navigationId?Je:Promise.resolve(p))),EI(this.environmentInjector,this.configLoader,this.rootComponentType,t.config,this.urlSerializer,this.paramsInheritanceStrategy,o.signal),qe(p=>{r.targetSnapshot=p.targetSnapshot,r.urlAfterRedirects=p.urlAfterRedirects,this.currentNavigation.update(y=>(y.finalUrl=p.urlAfterRedirects,y));let m=new Ho(p.id,this.urlSerializer.serialize(p.extractedUrl),this.urlSerializer.serialize(p.urlAfterRedirects),p.targetSnapshot);this.events.next(m)}));if(l&&this.urlHandlingStrategy.shouldProcessUrl(s.currentRawUrl)){let{id:p,extractedUrl:m,source:y,restoredState:v,extras:b}=s,F=new Hn(p,this.urlSerializer.serialize(m),y,v);this.events.next(F);let N=wy(this.rootComponentType).snapshot;return this.currentTransition=r=Y(D({},s),{targetSnapshot:N,urlAfterRedirects:m,extras:Y(D({},b),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.update(M=>(M.finalUrl=m,M)),B(r)}else return this.events.next(new en(s.id,this.urlSerializer.serialize(s.extractedUrl),"",Di.IgnoredByUrlHandlingStrategy)),s.resolve(!1),Je}),qe(s=>{let a=new Dl(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(a)}),K(s=>(this.currentTransition=r=Y(D({},s),{guards:PS(s.targetSnapshot,s.currentSnapshot,this.rootContexts)}),r)),qS(this.environmentInjector,s=>this.events.next(s)),qe(s=>{if(r.guardsResult=s.guardsResult,s.guardsResult&&typeof s.guardsResult!="boolean")throw Ol(this.urlSerializer,s.guardsResult);let a=new _l(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot,!!s.guardsResult);this.events.next(a)}),Pe(s=>s.guardsResult?!0:(this.cancelNavigationTransition(s,"",Qe.GuardRejected),!1)),Uf(s=>{if(s.guards.canActivateChecks.length!==0)return B(s).pipe(qe(a=>{let l=new bl(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(l)}),tt(a=>{let l=!1;return B(a).pipe(DI(this.paramsInheritanceStrategy,this.environmentInjector),qe({next:()=>l=!0,complete:()=>{l||this.cancelNavigationTransition(a,"",Qe.NoDataFromResolver)}}))}),qe(a=>{let l=new wl(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(l)}))}),Uf(s=>{let a=f=>{let p=[];if(f.routeConfig?._loadedComponent)f.component=f.routeConfig?._loadedComponent;else if(f.routeConfig?.loadComponent){let m=xi(f)??this.environmentInjector;p.push(this.configLoader.loadComponent(m,f.routeConfig).then(y=>{f.component=y}))}for(let m of f.children)p.push(...a(m));return p},l=a(s.targetSnapshot.root);return l.length===0?B(s):fe(Promise.all(l).then(()=>s))}),Uf(()=>this.afterPreactivation()),tt(()=>{let{currentSnapshot:s,targetSnapshot:a}=r,l=this.createViewTransition?.(this.environmentInjector,s.root,a.root);return l?fe(l).pipe(K(()=>r)):B(r)}),K(s=>{let a=AS(t.routeReuseStrategy,s.targetSnapshot,s.currentRouterState);return this.currentTransition=r=Y(D({},s),{targetRouterState:a}),this.currentNavigation.update(l=>(l.targetRouterState=a,l)),r}),qe(()=>{this.events.next(new $o)}),OS(this.rootContexts,t.routeReuseStrategy,s=>this.events.next(s),this.inputBindingEnabled),rn(1),Yi(Ry(o.signal).pipe(Pe(()=>!i&&!r.targetRouterState),qe(()=>{this.cancelNavigationTransition(r,o.signal.reason+"",Qe.Aborted)}))),qe({next:s=>{i=!0,this.currentNavigation.update(a=>(a.abort=TI,a)),this.lastSuccessfulNavigation.set(Re(this.currentNavigation)),this.events.next(new Ke(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects))),this.titleStrategy?.updateTitle(s.targetRouterState.snapshot),s.resolve(!0)},complete:()=>{i=!0}}),Yi(this.transitionAbortWithErrorSubject.pipe(qe(s=>{throw s}))),zr(()=>{o.abort(),i||this.cancelNavigationTransition(r,"",Qe.SupersededByNewNavigation),this.currentTransition?.id===r.id&&(this.currentNavigation.set(null),this.currentTransition=null)}),Gr(s=>{if(this.destroyed)return r.resolve(!1),Je;if(i=!0,Ay(s))this.events.next(new Xt(r.id,this.urlSerializer.serialize(r.extractedUrl),s.message,s.cancellationCode)),kS(s)?this.events.next(new wi(s.url,s.navigationBehaviorOptions)):r.resolve(!1);else{let a=new _i(r.id,this.urlSerializer.serialize(r.extractedUrl),s,r.targetSnapshot??void 0);try{let l=Ae(this.environmentInjector,()=>this.navigationErrorHandler?.(a));if(l instanceof Si){let{message:f,cancellationCode:p}=Ol(this.urlSerializer,l);this.events.next(new Xt(r.id,this.urlSerializer.serialize(r.extractedUrl),f,p)),this.events.next(new wi(l.redirectTo,l.navigationBehaviorOptions))}else throw this.events.next(a),s}catch(l){this.options.resolveNavigationPromiseOnError?r.resolve(!1):r.reject(l)}}return Je}))}))}cancelNavigationTransition(t,r,i){let o=new Xt(t.id,this.urlSerializer.serialize(t.extractedUrl),r,i);this.events.next(o),t.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let t=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),r=Re(this.currentNavigation),i=r?.targetBrowserUrl??r?.extractedUrl;return t.toString()!==i?.toString()&&!r?.extras.skipLocationChange}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function MI(e){return e!==Ci}var zy=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:()=>C(AI),providedIn:"root"})}return e})(),Fl=class{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}},AI=(()=>{class e extends Fl{static \u0275fac=(()=>{let t;return function(i){return(t||(t=st(e)))(i||e)}})();static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),lp=(()=>{class e{urlSerializer=C(Or);options=C($n,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=C(Vn);urlHandlingStrategy=C(jl);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new Pt;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}createBrowserPath({finalUrl:t,initialUrl:r,targetBrowserUrl:i}){let o=t!==void 0?this.urlHandlingStrategy.merge(t,r):r,s=i??o;return s instanceof Pt?this.urlSerializer.serialize(s):s}commitTransition({targetRouterState:t,finalUrl:r,initialUrl:i}){r&&t?(this.currentUrlTree=r,this.rawUrlTree=this.urlHandlingStrategy.merge(r,i),this.routerState=t):this.rawUrlTree=i}routerState=wy(null);getRouterState(){return this.routerState}stateMemento=this.createStateMemento();updateStateMemento(){this.stateMemento=this.createStateMemento()}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}resetInternalState({finalUrl:t}){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t??this.rawUrlTree)}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:()=>C(qy),providedIn:"root"})}return e})(),qy=(()=>{class e extends lp{currentPageId=0;lastSuccessfulId=-1;restoredState(){return this.location.getState()}get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}registerNonRouterCurrentEntryChangeListener(t){return this.location.subscribe(r=>{r.type==="popstate"&&setTimeout(()=>{t(r.url,r.state,"popstate")})})}handleRouterEvent(t,r){t instanceof Hn?this.updateStateMemento():t instanceof en?this.commitTransition(r):t instanceof Ho?this.urlUpdateStrategy==="eager"&&(r.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(r),r)):t instanceof $o?(this.commitTransition(r),this.urlUpdateStrategy==="deferred"&&!r.extras.skipLocationChange&&this.setBrowserUrl(this.createBrowserPath(r),r)):t instanceof Xt&&t.code!==Qe.SupersededByNewNavigation&&t.code!==Qe.Redirect?this.restoreHistory(r):t instanceof _i?this.restoreHistory(r,!0):t instanceof Ke&&(this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId)}setBrowserUrl(t,{extras:r,id:i}){let{replaceUrl:o,state:s}=r;if(this.location.isCurrentPathEqualTo(t)||o){let a=this.browserPageId,l=D(D({},s),this.generateNgRouterState(i,a));this.location.replaceState(t,"",l)}else{let a=D(D({},s),this.generateNgRouterState(i,this.browserPageId+1));this.location.go(t,"",a)}}restoreHistory(t,r=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,o=this.currentPageId-i;o!==0?this.location.historyGo(o):this.getCurrentUrlTree()===t.finalUrl&&o===0&&(this.resetInternalState(t),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(r&&this.resetInternalState(t),this.resetUrlToCurrentUrlTree())}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,r){return this.canceledNavigationResolution==="computed"?{navigationId:t,\u0275routerPageId:r}:{navigationId:t}}static \u0275fac=(()=>{let t;return function(i){return(t||(t=st(e)))(i||e)}})();static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Ul(e,n){e.events.pipe(Pe(t=>t instanceof Ke||t instanceof Xt||t instanceof _i||t instanceof en),K(t=>t instanceof Ke||t instanceof en?0:(t instanceof Xt?t.code===Qe.Redirect||t.code===Qe.SupersededByNewNavigation:!1)?2:1),Pe(t=>t!==2),rn(1)).subscribe(()=>{n()})}var NI={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},RI={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},bt=(()=>{class e{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=C(ef);stateManager=C(lp);options=C($n,{optional:!0})||{};pendingTasks=C(zt);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=C(Bl);urlSerializer=C(Or);location=C(Vn);urlHandlingStrategy=C(jl);injector=C(me);_events=new Ce;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=C(zy);onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=C(Mi,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!C(Yo,{optional:!0});currentNavigation=this.navigationTransitions.currentNavigation.asReadonly();constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:t=>{this.console.warn(t)}}),this.subscribeToNavigationEvents()}eventsSubscription=new _e;subscribeToNavigationEvents(){let t=this.navigationTransitions.events.subscribe(r=>{try{let i=this.navigationTransitions.currentTransition,o=Re(this.navigationTransitions.currentNavigation);if(i!==null&&o!==null){if(this.stateManager.handleRouterEvent(r,o),r instanceof Xt&&r.code!==Qe.Redirect&&r.code!==Qe.SupersededByNewNavigation)this.navigated=!0;else if(r instanceof Ke)this.navigated=!0;else if(r instanceof wi){let s=r.navigationBehaviorOptions,a=this.urlHandlingStrategy.merge(r.url,i.currentRawUrl),l=D({browserUrl:i.extras.browserUrl,info:i.extras.info,skipLocationChange:i.extras.skipLocationChange,replaceUrl:i.extras.replaceUrl||this.urlUpdateStrategy==="eager"||MI(i.source)},s);this.scheduleNavigation(a,Ci,null,l,{resolve:i.resolve,reject:i.reject,promise:i.promise})}}IS(r)&&this._events.next(r)}catch(i){this.navigationTransitions.transitionAbortWithErrorSubject.next(i)}});this.eventsSubscription.add(t)}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Ci,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((t,r,i)=>{this.navigateToSyncWithBrowser(t,i,r)})}navigateToSyncWithBrowser(t,r,i){let o={replaceUrl:!0},s=i?.navigationId?i:null;if(i){let l=D({},i);delete l.navigationId,delete l.\u0275routerPageId,Object.keys(l).length!==0&&(o.state=l)}let a=this.parseUrl(t);this.scheduleNavigation(a,r,s,o).catch(l=>{this.disposed||this.injector.get(Et)(l)})}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return Re(this.navigationTransitions.currentNavigation)}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(t){this.config=t.map(rp),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this._events.unsubscribe(),this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(t,r={}){let{relativeTo:i,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:l}=r,f=l?this.currentUrlTree.fragment:s,p=null;switch(a??this.options.defaultQueryParamsHandling){case"merge":p=D(D({},this.currentUrlTree.queryParams),o);break;case"preserve":p=this.currentUrlTree.queryParams;break;default:p=o||null}p!==null&&(p=this.removeEmptyProps(p));let m;try{let y=i?i.snapshot:this.routerState.snapshot.root;m=Ey(y)}catch{(typeof t[0]!="string"||t[0][0]!=="/")&&(t=[]),m=this.currentUrlTree.root}return Dy(m,t,p,f??null,this.urlSerializer)}navigateByUrl(t,r={skipLocationChange:!1}){let i=Un(t)?t:this.parseUrl(t),o=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(o,Ci,null,r)}navigate(t,r={skipLocationChange:!1}){return kI(t),this.navigateByUrl(this.createUrlTree(t,r),r)}serializeUrl(t){return this.urlSerializer.serialize(t)}parseUrl(t){try{return this.urlSerializer.parse(t)}catch{return this.console.warn(In(4018,!1)),this.urlSerializer.parse("/")}}isActive(t,r){let i;if(r===!0?i=D({},NI):r===!1?i=D({},RI):i=r,Un(t))return Xv(this.currentUrlTree,t,i);let o=this.parseUrl(t);return Xv(this.currentUrlTree,o,i)}removeEmptyProps(t){return Object.entries(t).reduce((r,[i,o])=>(o!=null&&(r[i]=o),r),{})}scheduleNavigation(t,r,i,o,s){if(this.disposed)return Promise.resolve(!1);let a,l,f;s?(a=s.resolve,l=s.reject,f=s.promise):f=new Promise((m,y)=>{a=m,l=y});let p=this.pendingTasks.add();return Ul(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(p))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:t,extras:o,resolve:a,reject:l,promise:f,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),f.catch(m=>Promise.reject(m))}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function kI(e){for(let n=0;n{class e{router;route;tabIndexAttribute;renderer;el;locationStrategy;reactiveHref=Dt(null);get href(){return Re(this.reactiveHref)}set href(t){this.reactiveHref.set(t)}target;queryParams;fragment;queryParamsHandling;state;info;relativeTo;isAnchorElement;subscription;onChanges=new Ce;applicationErrorHandler=C(Et);options=C($n,{optional:!0});constructor(t,r,i,o,s,a){this.router=t,this.route=r,this.tabIndexAttribute=i,this.renderer=o,this.el=s,this.locationStrategy=a,this.reactiveHref.set(C(new Ja("href"),{optional:!0}));let l=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement=l==="a"||l==="area"||!!(typeof customElements=="object"&&customElements.get(l)?.observedAttributes?.includes?.("href")),this.isAnchorElement?this.setTabIndexIfNotOnNativeEl("0"):this.subscribeToNavigationEventsIfNecessary()}subscribeToNavigationEventsIfNecessary(){if(this.subscription!==void 0||!this.isAnchorElement)return;let t=this.preserveFragment,r=i=>i==="merge"||i==="preserve";t||=r(this.queryParamsHandling),t||=!this.queryParamsHandling&&!r(this.options?.defaultQueryParamsHandling),t&&(this.subscription=this.router.events.subscribe(i=>{i instanceof Ke&&this.updateHref()}))}preserveFragment=!1;skipLocationChange=!1;replaceUrl=!1;setTabIndexIfNotOnNativeEl(t){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",t)}ngOnChanges(t){this.isAnchorElement&&(this.updateHref(),this.subscribeToNavigationEventsIfNecessary()),this.onChanges.next(this)}routerLinkInput=null;set routerLink(t){t==null?(this.routerLinkInput=null,this.setTabIndexIfNotOnNativeEl(null)):(Un(t)?this.routerLinkInput=t:this.routerLinkInput=Array.isArray(t)?t:[t],this.setTabIndexIfNotOnNativeEl("0"))}onClick(t,r,i,o,s){let a=this.urlTree;if(a===null||this.isAnchorElement&&(t!==0||r||i||o||s||typeof this.target=="string"&&this.target!="_self"))return!0;let l={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(a,l)?.catch(f=>{this.applicationErrorHandler(f)}),!this.isAnchorElement}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){let t=this.urlTree;this.reactiveHref.set(t!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(t))??"":null)}applyAttributeValue(t,r){let i=this.renderer,o=this.el.nativeElement;r!==null?i.setAttribute(o,t,r):i.removeAttribute(o,t)}get urlTree(){return this.routerLinkInput===null?null:Un(this.routerLinkInput)?this.routerLinkInput:this.router.createUrlTree(this.routerLinkInput,{relativeTo:this.relativeTo!==void 0?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static \u0275fac=function(r){return new(r||e)(k(bt),k(Ft),Do("tabindex"),k(lt),k(Se),k(kt))};static \u0275dir=se({type:e,selectors:[["","routerLink",""]],hostVars:2,hostBindings:function(r,i){r&1&&R("click",function(s){return i.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),r&2&&et("href",i.reactiveHref(),Fd)("target",i.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",mn],skipLocationChange:[2,"skipLocationChange","skipLocationChange",mn],replaceUrl:[2,"replaceUrl","replaceUrl",mn],routerLink:"routerLink"},features:[Zt]})}return e})(),up=(()=>{class e{router;element;renderer;cdr;links;classes=[];routerEventsSubscription;linkInputChangesSubscription;_isActive=!1;get isActive(){return this._isActive}routerLinkActiveOptions={exact:!1};ariaCurrentWhenActive;isActiveChange=new ve;link=C(ke,{optional:!0});constructor(t,r,i,o){this.router=t,this.element=r,this.renderer=i,this.cdr=o,this.routerEventsSubscription=t.events.subscribe(s=>{s instanceof Ke&&this.update()})}ngAfterContentInit(){B(this.links.changes,B(null)).pipe(bn()).subscribe(t=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();let t=[...this.links.toArray(),this.link].filter(r=>!!r).map(r=>r.onChanges);this.linkInputChangesSubscription=fe(t).pipe(bn()).subscribe(r=>{this._isActive!==this.isLinkActive(this.router)(r)&&this.update()})}set routerLinkActive(t){let r=Array.isArray(t)?t:t.split(" ");this.classes=r.filter(i=>!!i)}ngOnChanges(t){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{let t=this.hasActiveLinks();this.classes.forEach(r=>{t?this.renderer.addClass(this.element.nativeElement,r):this.renderer.removeClass(this.element.nativeElement,r)}),t&&this.ariaCurrentWhenActive!==void 0?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this._isActive!==t&&(this._isActive=t,this.cdr.markForCheck(),this.isActiveChange.emit(t))})}isLinkActive(t){let r=OI(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return i=>{let o=i.urlTree;return o?t.isActive(o,r):!1}}hasActiveLinks(){let t=this.isLinkActive(this.router);return this.link&&t(this.link)||this.links.some(t)}static \u0275fac=function(r){return new(r||e)(k(bt),k(Se),k(lt),k(hn))};static \u0275dir=se({type:e,selectors:[["","routerLinkActive",""]],contentQueries:function(r,i,o){if(r&1&&af(o,ke,5),r&2){let s;lf(s=cf())&&(i.links=s)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],features:[Zt]})}return e})();function OI(e){return!!e.paths}var Ko=class{};var Wy=(()=>{class e{router;injector;preloadingStrategy;loader;subscription;constructor(t,r,i,o){this.router=t,this.injector=r,this.preloadingStrategy=i,this.loader=o}setUpPreloading(){this.subscription=this.router.events.pipe(Pe(t=>t instanceof Ke),wn(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,r){let i=[];for(let o of r){o.providers&&!o._injector&&(o._injector=ui(o.providers,t,`Route: ${o.path}`));let s=o._injector??t,a=o._loadedInjector??s;(o.loadChildren&&!o._loadedRoutes&&o.canLoad===void 0||o.loadComponent&&!o._loadedComponent)&&i.push(this.preloadConfig(s,o)),(o.children||o._loadedRoutes)&&i.push(this.processRoutes(a,o.children??o._loadedRoutes))}return fe(i).pipe(bn())}preloadConfig(t,r){return this.preloadingStrategy.preload(r,()=>{let i;r.loadChildren&&r.canLoad===void 0?i=fe(this.loader.loadChildren(t,r)):i=B(null);let o=i.pipe(be(s=>s===null?B(void 0):(r._loadedRoutes=s.routes,r._loadedInjector=s.injector,this.processRoutes(s.injector??t,s.routes))));if(r.loadComponent&&!r._loadedComponent){let s=this.loader.loadComponent(t,r);return fe([o,s]).pipe(bn())}else return o})}static \u0275fac=function(r){return new(r||e)(A(bt),A(me),A(Ko),A(Vl))};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Zy=new S(""),PI=(()=>{class e{urlSerializer;transitions;viewportScroller;zone;options;routerEventsSubscription;scrollEventsSubscription;lastId=0;lastSource=Ci;restoredId=0;store={};constructor(t,r,i,o,s={}){this.urlSerializer=t,this.transitions=r,this.viewportScroller=i,this.zone=o,this.options=s,s.scrollPositionRestoration||="disabled",s.anchorScrolling||="disabled"}init(){this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof Hn?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof Ke?(this.lastId=t.id,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.urlAfterRedirects).fragment)):t instanceof en&&t.code===Di.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(t=>{if(!(t instanceof bi))return;let r={behavior:"instant"};t.position?this.options.scrollPositionRestoration==="top"?this.viewportScroller.scrollToPosition([0,0],r):this.options.scrollPositionRestoration==="enabled"&&this.viewportScroller.scrollToPosition(t.position,r):t.anchor&&this.options.anchorScrolling==="enabled"?this.viewportScroller.scrollToAnchor(t.anchor):this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.scrollToPosition([0,0])})}scheduleScrollEvent(t,r){this.zone.runOutsideAngular(()=>de(this,null,function*(){yield new Promise(i=>{setTimeout(i),typeof requestAnimationFrame<"u"&&requestAnimationFrame(i)}),this.zone.run(()=>{this.transitions.events.next(new bi(t,this.lastSource==="popstate"?this.store[this.restoredId]:null,r))})}))}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static \u0275fac=function(r){Kd()};static \u0275prov=_({token:e,factory:e.\u0275fac})}return e})();function FI(){return C(bt).routerState.root}function Jo(e,n){return{\u0275kind:e,\u0275providers:n}}function LI(){let e=C(We);return n=>{let t=e.get(Yt);if(n!==t.components[0])return;let r=e.get(bt),i=e.get(Yy);e.get(dp)===1&&r.initialNavigation(),e.get(Jy,null,{optional:!0})?.setUpPreloading(),e.get(Zy,null,{optional:!0})?.init(),r.resetRootComponentType(t.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var Yy=new S("",{factory:()=>new Ce}),dp=new S("",{factory:()=>1});function Qy(){let e=[{provide:kd,useValue:!0},{provide:dp,useValue:0},Ya(()=>{let n=C(We);return n.get(mf,Promise.resolve()).then(()=>new Promise(r=>{let i=n.get(bt),o=n.get(Yy);Ul(i,()=>{r(!0)}),n.get(Bl).afterPreactivation=()=>(r(!0),o.closed?B(void 0):o),i.initialNavigation()}))})];return Jo(2,e)}function Ky(){let e=[Ya(()=>{C(bt).setUpLocationChangeListener()}),{provide:dp,useValue:2}];return Jo(3,e)}var Jy=new S("");function Xy(e){return Jo(0,[{provide:Jy,useExisting:Wy},{provide:Ko,useExisting:e}])}function e0(){return Jo(8,[tp,{provide:Yo,useExisting:tp}])}function t0(e){Nt("NgRouterViewTransitions");let n=[{provide:op,useValue:Gy},{provide:sp,useValue:D({skipNextTransition:!!e?.skipInitialTransition},e)}];return Jo(9,n)}var n0=[Vn,{provide:Or,useClass:vn},bt,Pr,{provide:Ft,useFactory:FI},Vl,[]],Hl=(()=>{class e{constructor(){}static forRoot(t,r){return{ngModule:e,providers:[n0,[],{provide:Mi,multi:!0,useValue:t},[],r?.errorHandler?{provide:ap,useValue:r.errorHandler}:[],{provide:$n,useValue:r||{}},r?.useHash?jI():BI(),VI(),r?.preloadingStrategy?Xy(r.preloadingStrategy).\u0275providers:[],r?.initialNavigation?UI(r):[],r?.bindToComponentInputs?e0().\u0275providers:[],r?.enableViewTransitions?t0().\u0275providers:[],HI()]}}static forChild(t){return{ngModule:e,providers:[{provide:Mi,multi:!0,useValue:t}]}}static \u0275fac=function(r){return new(r||e)};static \u0275mod=Ye({type:e});static \u0275inj=Be({})}return e})();function VI(){return{provide:Zy,useFactory:()=>{let e=C(Mv),n=C(ce),t=C($n),r=C(Bl),i=C(Or);return t.scrollOffset&&e.setOffset(t.scrollOffset),new PI(i,r,e,n,t)}}}function jI(){return{provide:kt,useClass:vf}}function BI(){return{provide:kt,useClass:tl}}function UI(e){return[e.initialNavigation==="disabled"?Ky().\u0275providers:[],e.initialNavigation==="enabledBlocking"?Qy().\u0275providers:[]]}var cp=new S("");function HI(){return[{provide:cp,useFactory:LI},{provide:Qa,multi:!0,useExisting:cp}]}var GI=()=>["/pro"],r0=(()=>{class e{constructor(){this.years=new Date().getFullYear()-2009}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=le({type:e,selectors:[["app-footer"]],decls:94,vars:3,consts:[[1,"container-fluid","mt-5"],[1,"p-5"],[1,"container"],[1,"row"],[1,"col-xs-12","col-md-4","text-center"],["src","resources/portrait_600.jpg","alt","Portrait",1,"img-fluid","img-thumbnail","mb-5","portrait"],[1,"col-xs-12","col-md-8"],[3,"routerLink"],[1,"fa-solid","fa-heart","githubheart"],["href","https://github.com/sponsors/danielpalme","target","_blank"],[1,"col-md-3","offset-md-2"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank"],["href","https://github.com/danielpalme/ReportGenerator/wiki","target","_blank"],["href","https://github.com/danielpalme/ReportGenerator/wiki/FAQ","target","_blank"],[1,"col-md-4","mt-4","mt-md-0"],["href","https://www.nuget.org/packages/ReportGenerator","target","_blank"],["href","https://www.nuget.org/packages/dotnet-reportgenerator-globaltool","target","_blank"],["href","https://www.nuget.org/packages/ReportGenerator.Core","target","_blank"],["href","https://github.com/marketplace/actions/reportgenerator","target","_blank"],["href","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator","target","_blank"],[1,"col-md-3","mt-4","mt-md-0"],[1,"fa-brands","fa-github"],["href","https://twitter.com/danielpalme","target","_blank"],[1,"fa-brands","fa-twitter"],["href","https://www.palmmedia.de/Privacy","target","_blank"],["href","https://www.palmmedia.de/Imprint","target","_blank"]],template:function(r,i){r&1&&(u(0,"footer",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"div",4),h(5,"img",5),d(),u(6,"div",6)(7,"h2"),c(8,"Who's behind"),d(),u(9,"p"),c(10,"My name is Daniel Palme. I'm a software developer from Germany."),d(),u(11,"p"),c(12," Back in 2009 I wanted to create code coverage reports based on "),u(13,"i"),c(14,"PartCover"),d(),c(15," files."),h(16,"br"),c(17," Since no existing tool was able to merge several coverage files and generate a visual appealing report, I decided to create my own."),h(18,"br"),c(19),u(20,"i"),c(21,"ReportGenerator"),d(),c(22,". "),d(),u(23,"p"),c(24," You can support the ongoing maintenance by buying a "),u(25,"a",7),c(26,"PRO license"),d(),c(27," or by becoming a "),h(28,"i",8),c(29,"\xA0"),u(30,"a",9),c(31,"GitHub sponsor"),d(),c(32,". "),d()()()()(),u(33,"div",2)(34,"div",3),h(35,"hr"),d()(),u(36,"div",1)(37,"div",2)(38,"div",3)(39,"div",10)(40,"p")(41,"b"),c(42,"GitHub"),d()(),u(43,"a",11),c(44,"Source code"),d(),h(45,"br"),u(46,"a",12),c(47,"Wiki"),d(),h(48,"br"),u(49,"a",13),c(50,"FAQ"),d()(),u(51,"div",14)(52,"p")(53,"b"),c(54,"Download"),d()(),u(55,"i"),c(56,"NuGet"),d(),h(57,"br"),u(58,"a",15),c(59,"ReportGenerator"),d(),h(60,"br"),u(61,"a",16),c(62,"dotnet-reportgenerator-globaltool"),d(),h(63,"br"),u(64,"a",17),c(65,"ReportGenerator.Core"),d(),h(66,"br")(67,"br"),u(68,"i"),c(69,"Integration"),d(),h(70,"br"),u(71,"a",18),c(72,"GitHub actions"),d(),h(73,"br"),u(74,"a",19),c(75,"Azure DevOps"),d()(),u(76,"div",20)(77,"p")(78,"b"),c(79,"Community"),d()(),u(80,"a",11),h(81,"i",21),c(82," GitHub"),d(),h(83,"br"),u(84,"a",22),h(85,"i",23),c(86," Twitter"),d(),h(87,"br")(88,"br"),u(89,"a",24),c(90,"Privacy"),d(),h(91,"br"),u(92,"a",25),c(93,"Imprint"),d()()()()()()),r&2&&(g(19),$e(" Fast forward ",i.years," years, I'm still maintaining "),g(6),w("routerLink",U(2,GI)))},dependencies:[ke],styles:["footer[_ngcontent-%COMP%]{background-color:#464646}footer[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{color:#fff}.portrait[_ngcontent-%COMP%]{max-height:300px}"]})}}return e})();var i0=()=>["/"],zI=e=>({show:e}),Ai=()=>["link-active"],o0=()=>({exact:!0}),qI=()=>["/features"],WI=()=>["/getstarted"],ZI=()=>["/usage"],YI=()=>["/contact"],QI=()=>["/pro"],s0=(()=>{class e{constructor(){this.isExpanded=!1}collapse(){this.isExpanded=!1}toggle(){this.isExpanded=!this.isExpanded}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=le({type:e,selectors:[["app-nav-menu"]],decls:42,vars:34,consts:[[1,"mb-5"],[1,"navbar","fixed-top","navbar-expand-sm","navbar-toggleable-sm","navbar-light","bg-white","border-bottom","box-shadow","mb-3"],[1,"container-xxl","flex-wrap","flex-md-nowrap"],[1,"navbar-brand",3,"routerLink"],["src","resources/logo.svg","height","40","alt","Icon",1,"me-2"],[1,"d-sm-none","d-md-none","d-lg-inline","ms-2"],["type","button","data-toggle","collapse","data-target",".navbar-collapse","aria-label","Toggle navigation",1,"navbar-toggler",3,"click"],[1,"navbar-toggler-icon"],[1,"navbar-collapse","collapse","d-sm-inline-flex",3,"ngClass"],[1,"navbar-nav","flex-grow"],[1,"nav-item",3,"routerLinkActive","routerLinkActiveOptions"],[1,"nav-link","text-dark",3,"routerLink"],[1,"nav-item",3,"routerLinkActive"],[1,"nav-link","text-dark","text-nowrap",3,"routerLink"],[1,"pro-button"],[1,"d-md-none","text-secondary"],[1,"navbar-nav","flex-row","flex-wrap","ms-md-auto","d-sm-none","d-md-flex"],[1,"nav-item","col-6","col-md-auto"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank","title","GitHub",1,"nav-link","text-dark"],[1,"fa-brands","fa-github"],[1,"d-inline","d-sm-none","ms-2"],["href","https://twitter.com/danielpalme","target","_blank","title","Twitter",1,"nav-link","text-dark"],[1,"fa-brands","fa-twitter"]],template:function(r,i){r&1&&(u(0,"header",0)(1,"nav",1)(2,"div",2)(3,"a",3),h(4,"img",4),u(5,"span",5),c(6,"ReportGenerator"),d()(),u(7,"button",6),R("click",function(){return i.toggle()}),h(8,"span",7),d(),u(9,"div",8)(10,"ul",9)(11,"li",10)(12,"a",11),c(13,"Home"),d()(),u(14,"li",10)(15,"a",11),c(16,"Features"),d()(),u(17,"li",12)(18,"a",13),c(19,"Get started"),d()(),u(20,"li",12)(21,"a",11),c(22,"Usage"),d()(),u(23,"li",12)(24,"a",11),c(25,"Contact"),d()(),u(26,"li",12)(27,"a",11)(28,"span",14),c(29,"PRO"),d()()()(),h(30,"hr",15),u(31,"ul",16)(32,"li",17)(33,"a",18),h(34,"i",19),u(35,"span",20),c(36,"GitHub"),d()()(),u(37,"li",17)(38,"a",21),h(39,"i",22),u(40,"span",20),c(41,"Twitter"),d()()()()()()()()),r&2&&(g(3),w("routerLink",U(17,i0)),g(4),et("aria-expanded",i.isExpanded),g(2),w("ngClass",Fn(18,zI,i.isExpanded)),g(2),w("routerLinkActive",U(20,Ai))("routerLinkActiveOptions",U(21,o0)),g(),w("routerLink",U(22,i0)),g(2),w("routerLinkActive",U(23,Ai))("routerLinkActiveOptions",U(24,o0)),g(),w("routerLink",U(25,qI)),g(2),w("routerLinkActive",U(26,Ai)),g(),w("routerLink",U(27,WI)),g(2),w("routerLinkActive",U(28,Ai)),g(),w("routerLink",U(29,ZI)),g(2),w("routerLinkActive",U(30,Ai)),g(),w("routerLink",U(31,YI)),g(2),w("routerLinkActive",U(32,Ai)),g(),w("routerLink",U(33,QI)))},dependencies:[ke,Ir,up],styles:[".box-shadow[_ngcontent-%COMP%]{box-shadow:0 .25rem .75rem #0000000d}@keyframes _ngcontent-%COMP%_pro-button-animation{0%{background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}50%{background-color:vvar(--rg-primary-hover-color);background-image:linear-gradient(50deg,var(--rg-gradient-hover-from) 0%,var(--rg-gradient-hover-from) 100%);box-shadow:0 0 6px 1px var(--rg-primary-color)}to{background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}}.pro-button[_ngcontent-%COMP%]{animation-name:_ngcontent-%COMP%_pro-button-animation;animation-duration:2s;animation-iteration-count:2}.pro-button[_ngcontent-%COMP%]:hover, .link-active[_ngcontent-%COMP%] .pro-button[_ngcontent-%COMP%]{background-color:var(--rg-primary-hover-color);background-image:linear-gradient(50deg,var(--rg-gradient-hover-from) 0%,var(--rg-gradient-hover-from) 100%);box-shadow:0 0 6px 1px var(--rg-primary-color)}.nav-link[_ngcontent-%COMP%]{text-transform:uppercase;font-weight:500}.nav-link[_ngcontent-%COMP%]:hover{text-decoration:underline;text-underline-offset:2px}.link-active[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--rg-primary-hover-color)!important;font-weight:400}"]})}}return e})();var a0=(()=>{class e{constructor(t,r,i){this.dom=t,this.router=r,this.activatedRoute=i}ngOnInit(){this.router.events.pipe(Pe(t=>t instanceof Ke),K(()=>this.activatedRoute),K(t=>{for(;t.firstChild;)t=t.firstChild;return t}),Pe(t=>t.outlet==="primary"),be(t=>t.data)).subscribe(t=>{let r=`${window.location.protocol}//${window.location.hostname}`;t.canonical?this.updateCanonicalUrl(r+t.canonical):this.updateCanonicalUrl(r+this.router.url)})}updateCanonicalUrl(t){let r=this.dom.getElementsByTagName("head")[0];var i=this.dom.querySelector("link[rel='canonical']")||null;i==null&&(i=this.dom.createElement("link"),r.appendChild(i)),i.setAttribute("rel","canonical"),i.setAttribute("href",t)}static{this.\u0275fac=function(r){return new(r||e)(k(ue),k(bt),k(Ft))}}static{this.\u0275cmp=le({type:e,selectors:[["app-root"]],decls:3,vars:0,template:function(r,i){r&1&&h(0,"app-nav-menu")(1,"router-outlet")(2,"app-footer")},dependencies:[s0,Zo,r0],encapsulation:2})}}return e})();var g0=(()=>{class e{_renderer;_elementRef;onChange=t=>{};onTouched=()=>{};constructor(t,r){this._renderer=t,this._elementRef=r}setProperty(t,r){this._renderer.setProperty(this._elementRef.nativeElement,t,r)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static \u0275fac=function(r){return new(r||e)(k(lt),k(Se))};static \u0275dir=se({type:e})}return e})(),Kl=(()=>{class e extends g0{static \u0275fac=(()=>{let t;return function(i){return(t||(t=st(e)))(i||e)}})();static \u0275dir=se({type:e,features:[Ue]})}return e})(),is=new S("");var KI={provide:is,useExisting:Ze(()=>tn),multi:!0};function JI(){let e=ut()?ut().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}var XI=new S(""),tn=(()=>{class e extends g0{_compositionMode;_composing=!1;constructor(t,r,i){super(t,r),this._compositionMode=i,this._compositionMode==null&&(this._compositionMode=!JI())}writeValue(t){let r=t??"";this.setProperty("value",r)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static \u0275fac=function(r){return new(r||e)(k(lt),k(Se),k(XI,8))};static \u0275dir=se({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(r,i){r&1&&R("input",function(s){return i._handleInput(s.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(s){return i._compositionEnd(s.target.value)})},standalone:!1,features:[_t([KI]),Ue]})}return e})();function mp(e){return e==null||v0(e)===0}function v0(e){return e==null?null:Array.isArray(e)||typeof e=="string"?e.length:e instanceof Set?e.size:null}var Pi=new S(""),y0=new S(""),ex=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;function tx(e){return mp(e.value)?{required:!0}:null}function nx(e){return mp(e.value)||ex.test(e.value)?null:{email:!0}}function rx(e){return n=>{let t=n.value?.length??v0(n.value);return t!==null&&t>e?{maxlength:{requiredLength:e,actualLength:t}}:null}}function ix(e){if(!e)return fp;let n,t;return typeof e=="string"?(t="",e.charAt(0)!=="^"&&(t+="^"),t+=e,e.charAt(e.length-1)!=="$"&&(t+="$"),n=new RegExp(t)):(t=e.toString(),n=e),r=>{if(mp(r.value))return null;let i=r.value;return n.test(i)?null:{pattern:{requiredPattern:t,actualValue:i}}}}function fp(e){return null}function C0(e){return e!=null}function E0(e){return wr(e)?fe(e):e}function D0(e){let n={};return e.forEach(t=>{n=t!=null?D(D({},n),t):n}),Object.keys(n).length===0?null:n}function _0(e,n){return n.map(t=>t(e))}function ox(e){return!e.validate}function b0(e){return e.map(n=>ox(n)?n:t=>n.validate(t))}function sx(e){if(!e)return null;let n=e.filter(C0);return n.length==0?null:function(t){return D0(_0(t,n))}}function gp(e){return e!=null?sx(b0(e)):null}function ax(e){if(!e)return null;let n=e.filter(C0);return n.length==0?null:function(t){let r=_0(t,n).map(E0);return Pc(r).pipe(K(D0))}}function vp(e){return e!=null?ax(b0(e)):null}function l0(e,n){return e===null?[n]:Array.isArray(e)?[...e,n]:[e,n]}function lx(e){return e._rawValidators}function cx(e){return e._rawAsyncValidators}function pp(e){return e?Array.isArray(e)?e:[e]:[]}function Gl(e,n){return Array.isArray(e)?e.includes(n):e===n}function c0(e,n){let t=pp(n);return pp(e).forEach(i=>{Gl(t,i)||t.push(i)}),t}function u0(e,n){return pp(n).filter(t=>!Gl(e,t))}var zl=class{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=gp(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=vp(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return this.control?this.control.hasError(n,t):!1}getError(n,t){return this.control?this.control.getError(n,t):null}},ki=class extends zl{name;get formDirective(){return null}get path(){return null}},Oi=class extends zl{_parent=null;name=null;valueAccessor=null},ql=class{_cd;constructor(n){this._cd=n}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}};var zn=(()=>{class e extends ql{constructor(t){super(t)}static \u0275fac=function(r){return new(r||e)(k(Oi,2))};static \u0275dir=se({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(r,i){r&2&&To("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},standalone:!1,features:[Ue]})}return e})(),qn=(()=>{class e extends ql{constructor(t){super(t)}static \u0275fac=function(r){return new(r||e)(k(ki,10))};static \u0275dir=se({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["","formArray",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(r,i){r&2&&To("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)("ng-submitted",i.isSubmitted)},standalone:!1,features:[Ue]})}return e})();var Xo="VALID",$l="INVALID",Ni="PENDING",es="DISABLED",Gn=class{},Wl=class extends Gn{value;source;constructor(n,t){super(),this.value=n,this.source=t}},ns=class extends Gn{pristine;source;constructor(n,t){super(),this.pristine=n,this.source=t}},rs=class extends Gn{touched;source;constructor(n,t){super(),this.touched=n,this.source=t}},Ri=class extends Gn{status;source;constructor(n,t){super(),this.status=n,this.source=t}},hp=class extends Gn{source;constructor(n){super(),this.source=n}},Zl=class extends Gn{source;constructor(n){super(),this.source=n}};function w0(e){return(Jl(e)?e.validators:e)||null}function ux(e){return Array.isArray(e)?gp(e):e||null}function S0(e,n){return(Jl(n)?n.asyncValidators:e)||null}function dx(e){return Array.isArray(e)?vp(e):e||null}function Jl(e){return e!=null&&!Array.isArray(e)&&typeof e=="object"}function fx(e,n,t){let r=e.controls;if(!(n?Object.keys(r):r).length)throw new T(1e3,"");if(!r[t])throw new T(1001,"")}function px(e,n,t){e._forEachChild((r,i)=>{if(t[i]===void 0)throw new T(1002,"")})}var Yl=class{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(n,t){this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get status(){return Re(this.statusReactive)}set status(n){Re(()=>this.statusReactive.set(n))}_status=fi(()=>this.statusReactive());statusReactive=Dt(void 0);get valid(){return this.status===Xo}get invalid(){return this.status===$l}get pending(){return this.status==Ni}get disabled(){return this.status===es}get enabled(){return this.status!==es}errors;get pristine(){return Re(this.pristineReactive)}set pristine(n){Re(()=>this.pristineReactive.set(n))}_pristine=fi(()=>this.pristineReactive());pristineReactive=Dt(!0);get dirty(){return!this.pristine}get touched(){return Re(this.touchedReactive)}set touched(n){Re(()=>this.touchedReactive.set(n))}_touched=fi(()=>this.touchedReactive());touchedReactive=Dt(!1);get untouched(){return!this.touched}_events=new Ce;events=this._events.asObservable();valueChanges;statusChanges;get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(c0(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(c0(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(u0(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(u0(n,this._rawAsyncValidators))}hasValidator(n){return Gl(this._rawValidators,n)}hasAsyncValidator(n){return Gl(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){let t=this.touched===!1;this.touched=!0;let r=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsTouched(Y(D({},n),{sourceControl:r})),t&&n.emitEvent!==!1&&this._events.next(new rs(!0,r))}markAllAsDirty(n={}){this.markAsDirty({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:this}),this._forEachChild(t=>t.markAllAsDirty(n))}markAllAsTouched(n={}){this.markAsTouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:this}),this._forEachChild(t=>t.markAllAsTouched(n))}markAsUntouched(n={}){let t=this.touched===!0;this.touched=!1,this._pendingTouched=!1;let r=n.sourceControl??this;this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:r})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,r),t&&n.emitEvent!==!1&&this._events.next(new rs(!1,r))}markAsDirty(n={}){let t=this.pristine===!0;this.pristine=!1;let r=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsDirty(Y(D({},n),{sourceControl:r})),t&&n.emitEvent!==!1&&this._events.next(new ns(!1,r))}markAsPristine(n={}){let t=this.pristine===!1;this.pristine=!0,this._pendingDirty=!1;let r=n.sourceControl??this;this._forEachChild(i=>{i.markAsPristine({onlySelf:!0,emitEvent:n.emitEvent})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n,r),t&&n.emitEvent!==!1&&this._events.next(new ns(!0,r))}markAsPending(n={}){this.status=Ni;let t=n.sourceControl??this;n.emitEvent!==!1&&(this._events.next(new Ri(this.status,t)),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.markAsPending(Y(D({},n),{sourceControl:t}))}disable(n={}){let t=this._parentMarkedDirty(n.onlySelf);this.status=es,this.errors=null,this._forEachChild(i=>{i.disable(Y(D({},n),{onlySelf:!0}))}),this._updateValue();let r=n.sourceControl??this;n.emitEvent!==!1&&(this._events.next(new Wl(this.value,r)),this._events.next(new Ri(this.status,r)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Y(D({},n),{skipPristineCheck:t}),this),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){let t=this._parentMarkedDirty(n.onlySelf);this.status=Xo,this._forEachChild(r=>{r.enable(Y(D({},n),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors(Y(D({},n),{skipPristineCheck:t}),this),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(n,t){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine({},t),this._parent._updateTouched({},t))}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){let r=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Xo||this.status===Ni)&&this._runAsyncValidator(r,n.emitEvent)}let t=n.sourceControl??this;n.emitEvent!==!1&&(this._events.next(new Wl(this.value,t)),this._events.next(new Ri(this.status,t)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(Y(D({},n),{sourceControl:t}))}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?es:Xo}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n,t){if(this.asyncValidator){this.status=Ni,this._hasOwnPendingAsyncValidator={emitEvent:t!==!1,shouldHaveEmitted:n!==!1};let r=E0(this.asyncValidator(this));this._asyncValidationSubscription=r.subscribe(i=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(i,{emitEvent:t,shouldHaveEmitted:n})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();let n=(this._hasOwnPendingAsyncValidator?.emitEvent||this._hasOwnPendingAsyncValidator?.shouldHaveEmitted)??!1;return this._hasOwnPendingAsyncValidator=null,n}return!1}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(t.emitEvent!==!1,this,t.shouldHaveEmitted)}get(n){let t=n;return t==null||(Array.isArray(t)||(t=t.split(".")),t.length===0)?null:t.reduce((r,i)=>r&&r._find(i),this)}getError(n,t){let r=t?this.get(t):this;return r&&r.errors?r.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n,t,r){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),(n||r)&&this._events.next(new Ri(this.status,t)),this._parent&&this._parent._updateControlsErrors(n,t,r)}_initObservables(){this.valueChanges=new ve,this.statusChanges=new ve}_calculateStatus(){return this._allControlsDisabled()?es:this.errors?$l:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Ni)?Ni:this._anyControlsHaveStatus($l)?$l:Xo}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n,t){let r=!this._anyControlsDirty(),i=this.pristine!==r;this.pristine=r,this._parent&&!n.onlySelf&&this._parent._updatePristine(n,t),i&&this._events.next(new ns(this.pristine,t))}_updateTouched(n={},t){this.touched=this._anyControlsTouched(),this._events.next(new rs(this.touched,t)),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,t)}_onDisabledChange=[];_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Jl(n)&&n.updateOn!=null&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){let t=this._parent&&this._parent.dirty;return!n&&!!t&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=ux(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=dx(this._rawAsyncValidators)}},Ql=class extends Yl{constructor(n,t,r){super(w0(t),S0(r,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;registerControl(n,t){return this.controls[n]?this.controls[n]:(this.controls[n]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(n,t,r={}){this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}removeControl(n,t={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(n,t,r={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],t&&this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,t={}){px(this,!0,n),Object.keys(n).forEach(r=>{fx(this,!0,r),this.controls[r].setValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){n!=null&&(Object.keys(n).forEach(r=>{let i=this.controls[r];i&&i.patchValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((r,i)=>{r.reset(n?n[i]:null,Y(D({},t),{onlySelf:!0}))}),this._updatePristine(t,this),this._updateTouched(t,this),this.updateValueAndValidity(t),t?.emitEvent!==!1&&this._events.next(new Zl(this))}getRawValue(){return this._reduceChildren({},(n,t,r)=>(n[r]=t.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(t,r)=>r._syncPendingControls()?!0:t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{let r=this.controls[t];r&&n(r,t)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(let[t,r]of Object.entries(this.controls))if(this.contains(t)&&n(r))return!0;return!1}_reduceValue(){let n={};return this._reduceChildren(n,(t,r,i)=>((r.enabled||this.disabled)&&(t[i]=r.value),t))}_reduceChildren(n,t){let r=n;return this._forEachChild((i,o)=>{r=t(r,i,o)}),r}_allControlsDisabled(){for(let n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}};var Xl=new S("",{factory:()=>ec}),ec="always";function hx(e,n){return[...n.path,e]}function I0(e,n,t=ec){x0(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||t==="always")&&n.valueAccessor.setDisabledState?.(e.disabled),gx(e,n),yx(e,n),vx(e,n),mx(e,n)}function d0(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function mx(e,n){if(n.valueAccessor.setDisabledState){let t=r=>{n.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}function x0(e,n){let t=lx(e);n.validator!==null?e.setValidators(l0(t,n.validator)):typeof t=="function"&&e.setValidators([t]);let r=cx(e);n.asyncValidator!==null?e.setAsyncValidators(l0(r,n.asyncValidator)):typeof r=="function"&&e.setAsyncValidators([r]);let i=()=>e.updateValueAndValidity();d0(n._rawValidators,i),d0(n._rawAsyncValidators,i)}function gx(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,e.updateOn==="change"&&T0(e,n)})}function vx(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,e.updateOn==="blur"&&e._pendingChange&&T0(e,n),e.updateOn!=="submit"&&e.markAsTouched()})}function T0(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function yx(e,n){let t=(r,i)=>{n.valueAccessor.writeValue(r),i&&n.viewToModelUpdate(r)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}function Cx(e,n){e==null,x0(e,n)}function Ex(e,n){if(!e.hasOwnProperty("model"))return!1;let t=e.model;return t.isFirstChange()?!0:!Object.is(n,t.currentValue)}function Dx(e){return Object.getPrototypeOf(e.constructor)===Kl}function _x(e,n){e._syncPendingControls(),n.forEach(t=>{let r=t.control;r.updateOn==="submit"&&r._pendingChange&&(t.viewToModelUpdate(r._pendingValue),r._pendingChange=!1)})}function bx(e,n){if(!n)return null;Array.isArray(n);let t,r,i;return n.forEach(o=>{o.constructor===tn?t=o:Dx(o)?r=o:i=o}),i||r||t||null}var wx={provide:ki,useExisting:Ze(()=>yn)},ts=Promise.resolve(),yn=(()=>{class e extends ki{callSetDisabledState;get submitted(){return Re(this.submittedReactive)}_submitted=fi(()=>this.submittedReactive());submittedReactive=Dt(!1);_directives=new Set;form;ngSubmit=new ve;options;constructor(t,r,i){super(),this.callSetDisabledState=i,this.form=new Ql({},gp(t),vp(r))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){ts.then(()=>{let r=this._findContainer(t.path);t.control=r.registerControl(t.name,t.control),I0(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){ts.then(()=>{let r=this._findContainer(t.path);r&&r.removeControl(t.name),this._directives.delete(t)})}addFormGroup(t){ts.then(()=>{let r=this._findContainer(t.path),i=new Ql({});Cx(i,t),r.registerControl(t.name,i),i.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){ts.then(()=>{let r=this._findContainer(t.path);r&&r.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,r){ts.then(()=>{this.form.get(t.path).setValue(r)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submittedReactive.set(!0),_x(this.form,this._directives),this.ngSubmit.emit(t),this.form._events.next(new hp(this.control)),t?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this.submittedReactive.set(!1)}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}static \u0275fac=function(r){return new(r||e)(k(Pi,10),k(y0,10),k(Xl,8))};static \u0275dir=se({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup","",3,"formArray",""],["ng-form"],["","ngForm",""]],hostBindings:function(r,i){r&1&&R("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{options:[0,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[_t([wx]),Ue]})}return e})();function f0(e,n){let t=e.indexOf(n);t>-1&&e.splice(t,1)}function p0(e){return typeof e=="object"&&e!==null&&Object.keys(e).length===2&&"value"in e&&"disabled"in e}var Sx=class extends Yl{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(n=null,t,r){super(w0(t),S0(r,t)),this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Jl(t)&&(t.nonNullable||t.initialValueIsDefault)&&(p0(n)?this.defaultValue=n.value:this.defaultValue=n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&t.emitModelToViewChange!==!1&&this._onChange.forEach(r=>r(this.value,t.emitViewToModelChange!==!1)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),t.overwriteDefaultValue&&(this.defaultValue=this.value),this._pendingChange=!1,t?.emitEvent!==!1&&this._events.next(new Zl(this))}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){f0(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){f0(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return this.updateOn==="submit"&&(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),this._pendingChange)?(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0):!1}_applyFormState(n){p0(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}};var Ix={provide:Oi,useExisting:Ze(()=>Cn)},h0=Promise.resolve(),Cn=(()=>{class e extends Oi{_changeDetectorRef;callSetDisabledState;control=new Sx;static ngAcceptInputType_isDisabled;_registered=!1;viewModel;name="";isDisabled;model;options;update=new ve;constructor(t,r,i,o,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this._parent=t,this._setValidators(r),this._setAsyncValidators(i),this.valueAccessor=bx(this,o)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){let r=t.name.previousValue;this.formDirective.removeControl({name:r,path:this._getPath(r)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),Ex(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!!(this.options&&this.options.standalone)}_setUpStandalone(){I0(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._checkName()}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&this.name}_updateValue(t){h0.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){let r=t.isDisabled.currentValue,i=r!==0&&mn(r);h0.then(()=>{i&&!this.control.disabled?this.control.disable():!i&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?hx(t,this._parent):[t]}static \u0275fac=function(r){return new(r||e)(k(ki,9),k(Pi,10),k(y0,10),k(is,10),k(hn,8),k(Xl,8))};static \u0275dir=se({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:!1,features:[_t([Ix]),Ue,Zt]})}return e})();var Wn=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275dir=se({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""],standalone:!1})}return e})();var xx={provide:is,useExisting:Ze(()=>yp),multi:!0};var Tx=(()=>{class e{_accessors=[];add(t,r){this._accessors.push([t,r])}remove(t){for(let r=this._accessors.length-1;r>=0;--r)if(this._accessors[r][1]===t){this._accessors.splice(r,1);return}}select(t){this._accessors.forEach(r=>{this._isSameGroup(r,t)&&r[1]!==t&&r[1].fireUncheck(t.value)})}_isSameGroup(t,r){return t[0].control?t[0]._parent===r._control._parent&&t[1].name===r.name:!1}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),yp=(()=>{class e extends Kl{_registry;_injector;_state;_control;_fn;setDisabledStateFired=!1;onChange=()=>{};name;formControlName;value;callSetDisabledState=C(Xl,{optional:!0})??ec;constructor(t,r,i,o){super(t,r),this._registry=i,this._injector=o}ngOnInit(){this._control=this._injector.get(Oi),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(t){this._state=t===this.value,this.setProperty("checked",this._state)}registerOnChange(t){this._fn=t,this.onChange=()=>{t(this.value),this._registry.select(this)}}setDisabledState(t){(this.setDisabledStateFired||t||this.callSetDisabledState==="whenDisabledForLegacyCode")&&this.setProperty("disabled",t),this.setDisabledStateFired=!0}fireUncheck(t){this.writeValue(t)}_checkName(){this.name&&this.formControlName&&(this.name,this.formControlName),!this.name&&this.formControlName&&(this.name=this.formControlName)}static \u0275fac=function(r){return new(r||e)(k(lt),k(Se),k(Tx),k(We))};static \u0275dir=se({type:e,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(r,i){r&1&&R("change",function(){return i.onChange()})("blur",function(){return i.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},standalone:!1,features:[_t([xx]),Ue]})}return e})();var Mx={provide:is,useExisting:Ze(()=>Fi),multi:!0};function M0(e,n){return e==null?`${n}`:(n&&typeof n=="object"&&(n="Object"),`${e}: ${n}`.slice(0,50))}function Ax(e){return e.split(":")[0]}var Fi=(()=>{class e extends Kl{value;_optionMap=new Map;_idCounter=0;set compareWith(t){this._compareWith=t}_compareWith=Object.is;appRefInjector=C(Yt).injector;destroyRef=C(Ct);cdr=C(hn);_queuedWrite=!1;_writeValueAfterRender(){this._queuedWrite||this.appRefInjector.destroyed||(this._queuedWrite=!0,wo({write:()=>{this.destroyRef.destroyed||(this._queuedWrite=!1,this.writeValue(this.value))}},{injector:this.appRefInjector}))}writeValue(t){this.cdr.markForCheck(),this.value=t;let r=this._getOptionId(t),i=M0(r,t);this.setProperty("value",i)}registerOnChange(t){this.onChange=r=>{this.value=this._getOptionValue(r),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(let r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),t))return r;return null}_getOptionValue(t){let r=Ax(t);return this._optionMap.has(r)?this._optionMap.get(r):t}static \u0275fac=(()=>{let t;return function(i){return(t||(t=st(e)))(i||e)}})();static \u0275dir=se({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(r,i){r&1&&R("change",function(s){return i.onChange(s.target.value)})("blur",function(){return i.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[_t([Mx]),Ue]})}return e})(),tc=(()=>{class e{_element;_renderer;_select;id;constructor(t,r,i){this._element=t,this._renderer=r,this._select=i,this._select&&(this.id=this._select._registerOption())}set ngValue(t){this._select!=null&&(this._select._optionMap.set(this.id,t),this._setElementValue(M0(this.id,t)),this._select._writeValueAfterRender())}set value(t){this._setElementValue(t),this._select&&this._select._writeValueAfterRender()}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select._writeValueAfterRender())}static \u0275fac=function(r){return new(r||e)(k(Se),k(lt),k(Fi,9))};static \u0275dir=se({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return e})(),Nx={provide:is,useExisting:Ze(()=>A0),multi:!0};function m0(e,n){return e==null?`${n}`:(typeof n=="string"&&(n=`'${n}'`),n&&typeof n=="object"&&(n="Object"),`${e}: ${n}`.slice(0,50))}function Rx(e){return e.split(":")[0]}var A0=(()=>{class e extends Kl{value;_optionMap=new Map;_idCounter=0;set compareWith(t){this._compareWith=t}_compareWith=Object.is;writeValue(t){this.value=t;let r;if(Array.isArray(t)){let i=t.map(o=>this._getOptionId(o));r=(o,s)=>{o._setSelected(i.indexOf(s.toString())>-1)}}else r=(i,o)=>{i._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(t){this.onChange=r=>{let i=[],o=r.selectedOptions;if(o!==void 0){let s=o;for(let a=0;a{let t;return function(i){return(t||(t=st(e)))(i||e)}})();static \u0275dir=se({type:e,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(r,i){r&1&&R("change",function(s){return i.onChange(s.target)})("blur",function(){return i.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[_t([Nx]),Ue]})}return e})(),nc=(()=>{class e{_element;_renderer;_select;id;_value;constructor(t,r,i){this._element=t,this._renderer=r,this._select=i,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){this._select!=null&&(this._value=t,this._setElementValue(m0(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(m0(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}_setSelected(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(r){return new(r||e)(k(Se),k(lt),k(A0,9))};static \u0275dir=se({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return e})();function kx(e){return typeof e=="number"?e:parseInt(e,10)}var rc=(()=>{class e{_validator=fp;_onChange;_enabled;ngOnChanges(t){if(this.inputName in t){let r=this.normalizeInput(t[this.inputName].currentValue);this._enabled=this.enabled(r),this._validator=this._enabled?this.createValidator(r):fp,this._onChange&&this._onChange()}}validate(t){return this._validator(t)}registerOnValidatorChange(t){this._onChange=t}enabled(t){return t!=null}static \u0275fac=function(r){return new(r||e)};static \u0275dir=se({type:e,features:[Zt]})}return e})();var Ox={provide:Pi,useExisting:Ze(()=>En),multi:!0};var En=(()=>{class e extends rc{required;inputName="required";normalizeInput=mn;createValidator=t=>tx;enabled(t){return t}static \u0275fac=(()=>{let t;return function(i){return(t||(t=st(e)))(i||e)}})();static \u0275dir=se({type:e,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(r,i){r&2&&et("required",i._enabled?"":null)},inputs:{required:"required"},standalone:!1,features:[_t([Ox]),Ue]})}return e})();var Px={provide:Pi,useExisting:Ze(()=>os),multi:!0},os=(()=>{class e extends rc{email;inputName="email";normalizeInput=mn;createValidator=t=>nx;enabled(t){return t}static \u0275fac=(()=>{let t;return function(i){return(t||(t=st(e)))(i||e)}})();static \u0275dir=se({type:e,selectors:[["","email","","formControlName",""],["","email","","formControl",""],["","email","","ngModel",""]],inputs:{email:"email"},standalone:!1,features:[_t([Px]),Ue]})}return e})();var Fx={provide:Pi,useExisting:Ze(()=>ss),multi:!0},ss=(()=>{class e extends rc{maxlength;inputName="maxlength";normalizeInput=t=>kx(t);createValidator=t=>rx(t);static \u0275fac=(()=>{let t;return function(i){return(t||(t=st(e)))(i||e)}})();static \u0275dir=se({type:e,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(r,i){r&2&&et("maxlength",i._enabled?i.maxlength:null)},inputs:{maxlength:"maxlength"},standalone:!1,features:[_t([Fx]),Ue]})}return e})(),Lx={provide:Pi,useExisting:Ze(()=>Cp),multi:!0},Cp=(()=>{class e extends rc{pattern;inputName="pattern";normalizeInput=t=>t;createValidator=t=>ix(t);static \u0275fac=(()=>{let t;return function(i){return(t||(t=st(e)))(i||e)}})();static \u0275dir=se({type:e,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(r,i){r&2&&et("pattern",i._enabled?i.pattern:null)},inputs:{pattern:"pattern"},standalone:!1,features:[_t([Lx]),Ue]})}return e})();var Vx=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=Ye({type:e});static \u0275inj=Be({})}return e})();var nn=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:Xl,useValue:t.callSetDisabledState??ec}]}}static \u0275fac=function(r){return new(r||e)};static \u0275mod=Ye({type:e});static \u0275inj=Be({imports:[Vx]})}return e})();var oc=class{constructor(){this.name="",this.email="",this.message=""}};var sc=(()=>{class e{constructor(t){this.httpClient=t}postContactForm(t){return this.httpClient.post(`${ee.apiBaseUrl}contact`,t)}static{this.\u0275fac=function(r){return new(r||e)(A(gi))}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac})}}return e})();function Bx(e,n){if(e&1){let t=X();u(0,"form",5,0),R("ngSubmit",function(){I(t);let i=E();return x(i.submit())}),u(2,"div",6)(3,"label",7),c(4,"Name "),u(5,"span",8),c(6,"*"),d()(),u(7,"input",9),z("ngModelChange",function(i){I(t);let o=E();return W(o.contactViewModel.name,i)||(o.contactViewModel.name=i),x(i)}),d()(),u(8,"div",6)(9,"label",10),c(10,"Email address "),u(11,"span",8),c(12,"*"),d()(),u(13,"input",11),z("ngModelChange",function(i){I(t);let o=E();return W(o.contactViewModel.email,i)||(o.contactViewModel.email=i),x(i)}),d()(),u(14,"div",6)(15,"label",12),c(16,"Message "),u(17,"span",8),c(18,"*"),d()(),u(19,"textarea",13),z("ngModelChange",function(i){I(t);let o=E();return W(o.contactViewModel.message,i)||(o.contactViewModel.message=i),x(i)}),d()(),u(20,"button",14),c(21,"Submit"),d()()}if(e&2){let t=Sr(1),r=E();g(7),G("ngModel",r.contactViewModel.name),g(6),G("ngModel",r.contactViewModel.email),g(6),G("ngModel",r.contactViewModel.message),g(),w("disabled",!t.valid||r.enableFormCountDown>0)}}function Ux(e,n){e&1&&(u(0,"p"),c(1,"Thanks for your message."),d())}function Hx(e,n){e&1&&(u(0,"p",4),c(1,"Something went wrong. Please try again later."),d())}var N0=(()=>{class e{constructor(t){this.contactService=t,this.contactViewModel=new oc,this.success=!1,this.error=!1,this.enableFormCountDown=100,this.intervalId=null}ngOnInit(){this.intervalId=setInterval(()=>{this.enableFormCountDown-=1,this.enableFormCountDown===0&&clearInterval(this.intervalId)},50)}ngOnDestroy(){this.intervalId&&clearInterval(this.intervalId)}submit(){this.contactService.postContactForm(this.contactViewModel).subscribe({next:t=>{console.log("Submitted form"),this.success=!0},error:t=>{console.error(t),this.error=!0},complete:()=>console.info("complete")})}static{this.\u0275fac=function(r){return new(r||e)(k(sc))}}static{this.\u0275cmp=le({type:e,selectors:[["app-contact-component"]],decls:6,vars:3,consts:[["contactForm","ngForm"],[1,"container"],[1,"mb-4"],["method","post"],[1,"text-danger"],["method","post",3,"ngSubmit"],[1,"mb-3"],["for","Name"],[1,"required"],["type","text","id","Name","name","Name","required","",1,"form-control",3,"ngModelChange","ngModel"],["for","Email"],["type","email","id","Email","name","Email","email","","required","",1,"form-control",3,"ngModelChange","ngModel"],["for","Message"],["rows","7","id","Message","name","Message","required","",1,"form-control",3,"ngModelChange","ngModel"],["type","submit",1,"btn","btn-primary",3,"disabled"]],template:function(r,i){r&1&&(u(0,"div",1)(1,"h1",2),c(2,"Contact"),d(),O(3,Bx,22,4,"form",3),O(4,Ux,2,0,"p"),O(5,Hx,2,0,"p",4),d()),r&2&&(g(3),P(!i.success&&!i.error?3:-1),g(),P(i.success?4:-1),g(),P(i.error?5:-1))},dependencies:[nn,Wn,tn,zn,qn,En,os,Cn,yn],encapsulation:2})}}return e})();var Lt={paddleIndividualLicensePrice:"US$49",paddleTeamLicensePrice:"US$149",paddleEnterpriseLicensePrice:"US$299",paddleIndividualLifetimeLicensePrice:"US$79",paddleTeamLifetimeLicensePrice:"US$249",paddleEnterpriseLifetimeLicensePrice:"US$599",paddleIndividualLifetimeLicensePriceEuro:"\u20AC79",paddleTeamLifetimeLicensePriceEuro:"\u20AC249",paddleEnterpriseLifetimeLicensePriceEuro:"\u20AC599"};var Li=(()=>{class e{constructor(t){this.httpClient=t}getLicense(t){return this.httpClient.get(`${ee.apiBaseUrl}reportgenerator/license?code=${encodeURIComponent(t)}`)}getTrialLicense(t){return this.httpClient.post(`${ee.apiBaseUrl}reportgenerator/triallicense`,t)}getPaddleLicense(t){return this.httpClient.post(`${ee.apiBaseUrl}reportgenerator/paddlelicense`,t)}requestInvoice(t){return this.httpClient.post(`${ee.apiBaseUrl}reportgenerator/invoice`,t)}static{this.\u0275fac=function(r){return new(r||e)(A(gi))}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac})}}return e})();function $x(e,n){if(e&1){let t=X();u(0,"form",13,0),R("ngSubmit",function(){I(t);let i=E();return x(i.requestInvoice())}),u(2,"div",14)(3,"select",15),z("ngModelChange",function(i){I(t);let o=E();return W(o.requestInvoiceData.currency,i)||(o.requestInvoiceData.currency=i),x(i)}),u(4,"option",16),c(5,"EUR"),d(),u(6,"option",17),c(7,"US$"),d()(),u(8,"label",18),c(9,"Currency"),d()(),u(10,"div",14)(11,"select",19),z("ngModelChange",function(i){I(t);let o=E();return W(o.requestInvoiceData.product,i)||(o.requestInvoiceData.product=i),x(i)}),u(12,"option",20),c(13,"Select product"),d(),u(14,"option",21),c(15),d(),u(16,"option",22),c(17),d(),u(18,"option",23),c(19),d()(),u(20,"label",24),c(21,"Product "),u(22,"span",25),c(23,"*"),d()()(),u(24,"div",14)(25,"select",26),z("ngModelChange",function(i){I(t);let o=E();return W(o.requestInvoiceData.type,i)||(o.requestInvoiceData.type=i),x(i)}),u(26,"option",27),c(27,"Business"),d(),u(28,"option",28),c(29,"Single"),d()(),u(30,"label",29),c(31,"Type"),d()(),u(32,"div",14)(33,"input",30),z("ngModelChange",function(i){I(t);let o=E();return W(o.requestInvoiceData.name,i)||(o.requestInvoiceData.name=i),x(i)}),d(),u(34,"label",31),c(35,"Company name "),u(36,"span",25),c(37,"*"),d()()(),u(38,"div",14)(39,"input",32),z("ngModelChange",function(i){I(t);let o=E();return W(o.requestInvoiceData.country,i)||(o.requestInvoiceData.country=i),x(i)}),d(),u(40,"label",33),c(41,"Country "),u(42,"span",25),c(43,"*"),d()()(),u(44,"div",14)(45,"input",34),z("ngModelChange",function(i){I(t);let o=E();return W(o.requestInvoiceData.address,i)||(o.requestInvoiceData.address=i),x(i)}),d(),u(46,"label",35),c(47,"Address "),u(48,"span",25),c(49,"*"),d()()(),u(50,"div",14)(51,"input",36),z("ngModelChange",function(i){I(t);let o=E();return W(o.requestInvoiceData.city,i)||(o.requestInvoiceData.city=i),x(i)}),d(),u(52,"label",37),c(53,"City/town "),u(54,"span",25),c(55,"*"),d()()(),u(56,"div",14)(57,"input",38),z("ngModelChange",function(i){I(t);let o=E();return W(o.requestInvoiceData.state,i)||(o.requestInvoiceData.state=i),x(i)}),d(),u(58,"label",39),c(59,"State/province "),u(60,"span",25),c(61,"*"),d()()(),u(62,"div",14)(63,"input",40),z("ngModelChange",function(i){I(t);let o=E();return W(o.requestInvoiceData.postcode,i)||(o.requestInvoiceData.postcode=i),x(i)}),d(),u(64,"label",41),c(65,"Postcode "),u(66,"span",25),c(67,"*"),d()()(),u(68,"div",14)(69,"input",42),z("ngModelChange",function(i){I(t);let o=E();return W(o.requestInvoiceData.contactName,i)||(o.requestInvoiceData.contactName=i),x(i)}),d(),u(70,"label",43),c(71,"Contact name "),u(72,"span",25),c(73,"*"),d()()(),u(74,"div",14)(75,"input",44),z("ngModelChange",function(i){I(t);let o=E();return W(o.requestInvoiceData.email,i)||(o.requestInvoiceData.email=i),x(i)}),d(),u(76,"label",45),c(77,"Email "),u(78,"span",25),c(79,"*"),d()()(),u(80,"div",14)(81,"input",46),z("ngModelChange",function(i){I(t);let o=E();return W(o.requestInvoiceData.financeEmail,i)||(o.requestInvoiceData.financeEmail=i),x(i)}),d(),u(82,"label",47),c(83,"POC/finance email"),d()(),u(84,"div",14)(85,"input",48),z("ngModelChange",function(i){I(t);let o=E();return W(o.requestInvoiceData.vatNumber,i)||(o.requestInvoiceData.vatNumber=i),x(i)}),d(),u(86,"label",49),c(87,"Sales tax/VAT number"),d()(),u(88,"div",14)(89,"input",50),z("ngModelChange",function(i){I(t);let o=E();return W(o.requestInvoiceData.companyNumber,i)||(o.requestInvoiceData.companyNumber=i),x(i)}),d(),u(90,"label",51),c(91,"Company number"),d()(),u(92,"div",14)(93,"textarea",52),z("ngModelChange",function(i){I(t);let o=E();return W(o.requestInvoiceData.comment,i)||(o.requestInvoiceData.comment=i),x(i)}),d(),u(94,"label",53),c(95,"Comment"),d()(),u(96,"button",54),c(97,"Request invoice"),d()()}if(e&2){let t=Sr(1),r=E();g(3),G("ngModel",r.requestInvoiceData.currency),g(8),G("ngModel",r.requestInvoiceData.product),g(4),di("Individual - Lifetime license - ",r.requestInvoiceData.currency," ",r.paddleIndividualLifetimeLicensePriceEuro),g(2),di("Team - Lifetime license - ",r.requestInvoiceData.currency," ",r.paddleTeamLifetimeLicensePriceEuro),g(2),di("Enterprise - Lifetime license - ",r.requestInvoiceData.currency," ",r.paddleEnterpriseLifetimeLicensePriceEuro),g(6),G("ngModel",r.requestInvoiceData.type),g(8),G("ngModel",r.requestInvoiceData.name),g(6),G("ngModel",r.requestInvoiceData.country),g(6),G("ngModel",r.requestInvoiceData.address),g(6),G("ngModel",r.requestInvoiceData.city),g(6),G("ngModel",r.requestInvoiceData.state),g(6),G("ngModel",r.requestInvoiceData.postcode),g(6),G("ngModel",r.requestInvoiceData.contactName),g(6),G("ngModel",r.requestInvoiceData.email),g(6),G("ngModel",r.requestInvoiceData.financeEmail),g(4),G("ngModel",r.requestInvoiceData.vatNumber),g(4),G("ngModel",r.requestInvoiceData.companyNumber),g(4),G("ngModel",r.requestInvoiceData.comment),g(3),w("disabled",!t.valid)}}function Gx(e,n){e&1&&(u(0,"div",55)(1,"span",56),c(2,"Loading..."),d()(),u(3,"span",57),c(4,"Please wait."),d())}function zx(e,n){e&1&&(u(0,"div",12),c(1," Thanks for you request. You will receive an invoice as soon as possible. "),d())}var k0=(()=>{class e{constructor(t){this.licenseService=t,this.paddleIndividualLifetimeLicensePriceEuro=Lt.paddleIndividualLifetimeLicensePriceEuro,this.paddleTeamLifetimeLicensePriceEuro=Lt.paddleTeamLifetimeLicensePriceEuro,this.paddleEnterpriseLifetimeLicensePriceEuro=Lt.paddleEnterpriseLifetimeLicensePriceEuro,this.invoiceRequested=!1,this.invoiceSuccessResponse=!1,this.requestInvoiceData={product:"",currency:"EUR",type:"Business",name:"",country:"",address:"",city:"",state:"",postcode:"",contactName:"",email:"",financeEmail:null,vatNumber:null,companyNumber:null,comment:null}}requestInvoice(){this.licenseService.requestInvoice(this.requestInvoiceData).subscribe({next:t=>{this.invoiceRequested=!0},error:t=>{console.error(t)},complete:()=>{this.invoiceSuccessResponse=!0}})}static{this.\u0275fac=function(r){return new(r||e)(k(Li))}}static{this.\u0275cmp=le({type:e,selectors:[["app-enterprise-component"]],decls:53,vars:3,consts:[["requestInvoiceForm","ngForm"],[1,"container"],[1,"mb-4"],["href","https://www.paddle.com/about/procurement","target","_blank"],[1,"fa-solid","fa-image","text-secondary","me-1"],["href","resources/enterprise/email@2x.webp"],["href","resources/enterprise/confirmation@2x.webp"],["href","resources/enterprise/invoice@2x.webp"],[1,"fa-solid","fa-file-pdf","text-secondary","me-1"],["href","resources/enterprise/invoice.pdf"],[1,"mt-5"],["method","post"],[1,"col-xs-12","col-md-6"],["method","post",3,"ngSubmit"],[1,"form-floating","mb-3"],["id","currency","name","currency","placeholder","Currency",1,"form-select",3,"ngModelChange","ngModel"],["value","EUR"],["value","US$"],["for","currency"],["id","product","name","product","placeholder","Product","required","",1,"form-select",3,"ngModelChange","ngModel"],["value",""],["value","Individual"],["value","Team"],["value","Enterprise"],["for","product"],[1,"required"],["id","type","name","type","placeholder","Type",1,"form-select",3,"ngModelChange","ngModel"],["value","Business"],["value","Single"],["for","type"],["type","text","id","name","name","name","required","","maxlength","150","placeholder","Company name",1,"form-control",3,"ngModelChange","ngModel"],["for","name"],["type","text","id","country","name","country","required","","maxlength","150","placeholder","Country",1,"form-control",3,"ngModelChange","ngModel"],["for","country"],["type","text","id","address","name","address","required","","maxlength","150","placeholder","Address",1,"form-control",3,"ngModelChange","ngModel"],["for","address"],["type","text","id","city","name","city","required","","maxlength","150","placeholder","City/town",1,"form-control",3,"ngModelChange","ngModel"],["for","city"],["type","text","id","state","name","state","required","","maxlength","150","placeholder","State/province",1,"form-control",3,"ngModelChange","ngModel"],["for","state"],["type","text","id","postcode","name","postcode","required","","maxlength","150","placeholder","Postcode",1,"form-control",3,"ngModelChange","ngModel"],["for","postcode"],["type","text","id","contactName","name","contactName","required","","maxlength","150","placeholder","Contact name",1,"form-control",3,"ngModelChange","ngModel"],["for","contactName"],["type","email","id","email","name","email","required","","maxlength","150","placeholder","Email",1,"form-control",3,"ngModelChange","ngModel"],["for","email"],["type","email","id","financeEmail","name","financeEmail","maxlength","150","placeholder","POC/finance email",1,"form-control",3,"ngModelChange","ngModel"],["for","financeEmail"],["type","text","id","vatNumber","name","vatNumber","maxlength","150","placeholder","Sales tax/VAT number",1,"form-control",3,"ngModelChange","ngModel"],["for","vatNumber"],["type","text","id","companyNumber","name","companyNumber","maxlength","150","placeholder","Company number",1,"form-control",3,"ngModelChange","ngModel"],["for","companyNumber"],["id","comment","name","comment","placeholder","Comment",1,"form-control",2,"height","100px",3,"ngModelChange","ngModel"],["for","comment"],["type","submit",1,"btn","btn-primary",3,"disabled"],["role","status",1,"spinner-border","text-info"],[1,"visually-hidden"],[1,"position-relative","ms-4"]],template:function(r,i){r&1&&(u(0,"div",1)(1,"h1",2),c(2,"Enterprise"),d(),u(3,"p"),c(4," If you can't pay via credit card, you can also request an invoice which you can pay via bank/wire transfer."),h(5,"br"),d(),u(6,"p"),c(7," All invoices are issued by "),u(8,"i"),c(9,"Paddle.com"),d(),c(10," which acts as the Merchant of Record for all orders."),h(11,"br"),c(12," Here you can find additional "),u(13,"a",3),c(14,"procurement information"),d(),c(15,`. +`),d(),u(16,"p"),c(17,"The process is as follows:"),d(),u(18,"ol")(19,"li"),c(20,"Request invoice through the form below"),d(),u(21,"li"),c(22,"You will receive an email from "),u(23,"i"),c(24,"Paddle.com"),d(),c(25," ("),h(26,"i",4),u(27,"a",5),c(28,"Sample email"),d(),c(29,")"),d(),u(30,"li"),c(31,"You confirm the invoice ("),h(32,"i",4),u(33,"a",6),c(34,"Confirmation dialog"),d(),c(35,")"),d(),u(36,"li"),c(37,"You pay the invoice ("),h(38,"i",4),u(39,"a",7),c(40,"Sample invoice"),d(),c(41," | "),h(42,"i",8),u(43,"a",9),c(44,`Sample PDF +invoice`),d(),c(45,")"),d(),u(46,"li"),c(47,"After your payment is confirmed, you will receive your license key within one business day"),d()(),u(48,"h2",10),c(49,"Request invoice"),d(),O(50,$x,98,22,"form",11),O(51,Gx,5,0),O(52,zx,2,0,"div",12),d()),r&2&&(g(50),P(i.invoiceRequested?-1:50),g(),P(i.invoiceRequested&&!i.invoiceSuccessResponse?51:-1),g(),P(i.invoiceSuccessResponse?52:-1))},dependencies:[nn,Wn,tc,nc,tn,Fi,zn,qn,En,ss,Cn,yn],encapsulation:2})}}return e})();var Ep=()=>["/pro"],O0=(()=>{class e{scrollToAnchor(t){return document.querySelector(t)?.scrollIntoView(!0),!1}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=le({type:e,selectors:[["app-features-component"]],decls:198,vars:6,consts:[[1,"container"],[1,"mb-4"],["id","coveragequota"],[1,"pro-text"],["href","https://en.wikipedia.org/wiki/Code_coverage","target","_blank"],[1,"fa-solid","fa-arrow-up-right-from-square"],[3,"routerLink"],[1,"pro-button","pro-button-tiny"],["loading","lazy","srcset","resources/features/quota@1x.webp 1x, resources/features/quota@2x.webp 2x","src","resources/features/quota1x.webp","alt","Coverage quotas",1,"img-fluid"],["id","coveragehistory",1,"mt-5"],["loading","lazy","srcset","resources/features/history@1x.webp 1x, resources/features/history@2x.webp 2x","src","resources/features/history@1x.webp","alt","Coverage history",1,"img-fluid"],["id","summary",1,"mt-5"],["loading","lazy","srcset","resources/features/summary@1x.webp 1x, resources/features/summary@2x.webp 2x","src","resources/features/summary.webp","alt","Summary table / Overview",1,"img-fluid"],["id","details",1,"mt-5"],["loading","lazy","srcset","resources/features/details@1x.webp 1x, resources/features/details@2x.webp 2x","src","resources/features/details.webp","alt","Details",1,"img-fluid"],["id","metrics",1,"mt-5"],["href","https://github.com/danielpalme/ReportGenerator/wiki/FAQ#which-coverage-tool-supports-which-features-in-the-html-report","target","_blank"],["href","",3,"click"],["loading","lazy","srcset","resources/features/metrics_details@1x.webp 1x, resources/features/metrics_details@2x.webp 2x","src","resources/features/metrics_details.webp","alt","Metrics - Details",1,"img-fluid"],["loading","lazy","srcset","resources/features/metrics_summary@1x.webp 1x, resources/features/metrics_summary@2x.webp 2x","src","resources/features/metrics_summary.webp","alt","Metrics - Summary",1,"img-fluid"],["id","riskhotspots",1,"mt-5"],["href","https://en.wikipedia.org/wiki/Cyclomatic_complexity","target","_blank"],["href","https://modess.io/npath-complexity-cyclomatic-complexity-explained","target","_blank"],["href","https://testing.googleblog.com/2011/02/this-code-is-crap.html","target","_blank"],["loading","lazy","srcset","resources/features/riskhotspots@1x.webp 1x, resources/features/riskhotspots@2x.webp 2x","src","resources/features/riskhotspots.webp","alt","Risk Hotspots",1,"img-fluid"],["id","rawmode",1,"mt-5"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Settings#other-settings","target","_blank"],["id","ctc",1,"mt-5"],["href","https://verifysoft.com/en_ctcpp.html","target","_blank"],["href","https://verifysoft.com/en/","target","_blank"],[1,"text-dark","bg-light","p-2","border"],["loading","lazy","srcset","resources/features/ctc@1x.webp 1x, resources/features/ctc@2x.webp 2x","src","resources/features/ctc.webp","alt","CTC",1,"img-fluid"]],template:function(r,i){r&1&&(u(0,"div",0)(1,"h1",1),c(2,"Features"),d(),u(3,"h2",2),c(4,"Coverage quotas"),d(),u(5,"p"),c(6," The overiew cards provide a quick "),u(7,"span",3),c(8,"overview"),d(),c(9," of your coverage quotas."),h(10,"br"),c(11," You can use them to get a glimpse into the different "),u(12,"a",4),c(13,"coverage metrics"),d(),c(14,"\xA0"),u(15,"a",4),h(16,"i",5),d(),c(17,": "),d(),u(18,"ul")(19,"li"),c(20,"Line coverage"),d(),u(21,"li"),c(22,"Branch coverage"),d(),u(23,"li"),c(24,"Method coverage (at least one line covered) "),u(25,"a",6)(26,"span",7),c(27,"PRO"),d()()(),u(28,"li"),c(29,"Full method coverage (all lines covered) "),u(30,"a",6)(31,"span",7),c(32,"PRO"),d()()()(),h(33,"img",8)(34,"br"),u(35,"h2",9),c(36,"Coverage history"),d(),u(37,"p"),c(38," The history chart helps you to understand how your coverage quotas are "),u(39,"span",3),c(40,"evolving over time"),d(),c(41,". "),d(),h(42,"img",10)(43,"br"),u(44,"h2",11),c(45,"Summary table / Overview"),d(),u(46,"p"),c(47," The summary table helps you to identify classes with "),u(48,"span",3),c(49,"low test coverage"),d(),c(50,"."),h(51,"br"),c(52," The table offers various "),u(53,"span",3),c(54,"filter and sorting"),d(),c(55," options for quick navigation. "),d(),h(56,"img",12)(57,"br"),u(58,"h2",13),c(59,"Details page"),d(),u(60,"p"),c(61," The details page visualizes your "),u(62,"span",3),c(63,"line and branch coverage"),d(),c(64,". "),d(),u(65,"ul")(66,"li"),c(67,"Colors indicate the coverage status of each line."),d(),u(68,"li"),c(69,"Branch indicators help you to identity uncovered conditions."),d()(),h(70,"img",14)(71,"br"),u(72,"h2",15),c(73,"Metrics"),d(),u(74,"p"),c(75," Depending on your "),u(76,"a",16),c(77,"coverage tool"),d(),c(78,", metrics are provided to get further insigths in your "),u(79,"span",3),c(80,"code quality"),d(),c(81,". "),d(),u(82,"ul")(83,"li"),c(84,"The "),u(85,"a",17),R("click",function(){return i.scrollToAnchor("#details")}),c(86,"details page"),d(),c(87," contains information about the metrics of all methods of a class."),d(),u(88,"li"),c(89,"The "),u(90,"a",17),R("click",function(){return i.scrollToAnchor("#summary")}),c(91,"summary table"),d(),c(92," shows the lowest metrics of all methods of a class "),u(93,"a",6)(94,"span",7),c(95,"PRO"),d()()()(),u(96,"b"),c(97,"Details page"),d(),h(98,"br")(99,"img",18)(100,"br")(101,"br"),u(102,"b"),c(103,"Summary table"),d(),h(104,"br")(105,"img",19)(106,"br"),u(107,"h2",20),c(108,"Risk Hotspots"),d(),u(109,"p"),c(110," Based on the "),u(111,"a",17),R("click",function(){return i.scrollToAnchor("#metrics")}),c(112,"metrics"),d(),c(113," you get a list of potential risk hotspots."),h(114,"br"),c(115," The following metrics are analyzed if available, the warning thresholds are configurable: "),d(),u(116,"ul")(117,"li")(118,"a",21),c(119,"Cyclomatic complexity"),d(),c(120,"\xA0"),u(121,"a",21),h(122,"i",5),d()(),u(123,"li")(124,"a",22),c(125,"NPath complexity"),d(),c(126,"\xA0"),u(127,"a",22),h(128,"i",5),d()(),u(129,"li")(130,"a",23),c(131,"Crap score"),d(),c(132,"\xA0"),u(133,"a",23),h(134,"i",5),d()()(),h(135,"img",24),u(136,"h2",25),c(137,"Raw mode (for "),u(138,"i"),c(139,"Cobertura"),d(),c(140," and "),u(141,"i"),c(142,"dotCover"),d(),c(143,") "),u(144,"span",7),c(145,"PRO"),d()(),u(146,"p"),c(147,' With "raw mode" (settings:rawMode=true) you can disable that coverage data of nested or compiler generated classes is included in the parent class.'),h(148,"br"),c(149," This is useful to merge several "),u(150,"i"),c(151,"Cobertura"),d(),c(152," files into a single file, since the original class structure remains untouched. "),d(),u(153,"p"),c(154,"See "),u(155,"a",26),c(156,"Settings"),d(),c(157,"\xA0"),u(158,"a",26),h(159,"i",5),d()(),u(160,"p"),c(161,"Limitation: Raw mode is currently only supported for "),u(162,"i"),c(163,"Cobertura"),d(),c(164," and "),u(165,"i"),c(166,"dotCover"),d(),c(167," files."),d(),u(168,"h2",27),c(169,"Support for CTC coverage files (MC/DC) "),u(170,"span",7),c(171,"PRO"),d()(),u(172,"p")(173,"a",28),c(174,"Testwell CTC++"),d(),c(175," by "),u(176,"a",29),c(177,"Verifysoft"),d(),c(178," is a popular tool to measure MC/DC coverage for C and C++ code."),h(179,"br"),d(),u(180,"p")(181,"i"),c(182,"ReportGenerator"),d(),c(183,' supports CTC++ coverage files generated with a template named "xml_reportgenerator". The template is provided by '),u(184,"i"),c(185,"Verifysoft"),d(),c(186," in their download area."),h(187,"br"),c(188," The report for "),u(189,"i"),c(190,"ReportGenerator"),d(),c(191," based on this template can be generated with the following command:"),h(192,"br"),d(),u(193,"pre",30),c(194,"ctcreport -template xml_reportgenerator.zip"),d(),u(195,"p"),c(196,"Example output for MC/DC coverage:"),d(),h(197,"img",31),d()),r&2&&(g(25),w("routerLink",U(3,Ep)),g(5),w("routerLink",U(4,Ep)),g(63),w("routerLink",U(5,Ep)))},dependencies:[ke],encapsulation:2})}}return e})();var Ge={dotnetSDKVersion:"10.x",majorVersion:"5",version:"5.5.1"};var qx=()=>["/usage"],P0=(()=>{class e{constructor(){this.versions=Ge}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=le({type:e,selectors:[["app-getstarted"]],decls:75,vars:6,consts:[[1,"container"],[1,"mb-4"],[3,"routerLink"],["id","net",1,"mt-5"],["href","https://github.com/microsoft/codecoverage"],["href","https://github.com/coverlet-coverage/coverlet"],["href","https://github.com/SteveGilham/altcover"],[1,"text-dark","bg-light","p-2","border"],["id","java",1,"mt-5"],["href","https://github.com/jacoco/jacoco"],["id","nodejs",1,"mt-5"],["href","https://github.com/istanbuljs/nyc"]],template:function(r,i){r&1&&(u(0,"div",0)(1,"h1",1),c(2,"Get started"),d(),u(3,"h2"),c(4,"General"),d(),u(5,"p"),c(6,"In general you need a tool that instruments your test code and collects coverage information."),h(7,"br"),c(8,"This information is typically stored in a XML file (e.g. in Cobertura format)."),h(9,"br"),u(10,"em"),c(11,"ReportGenerator"),d(),c(12," uses this file and generates a report in HTML format (other formats are available)."),d(),u(13,"p"),c(14,"Use the online "),u(15,"a",2),c(16,"configuration tool"),d(),c(17," to get started quickly."),d(),u(18,"h2",3),c(19,".NET"),d(),u(20,"p"),c(21,"For .NET you can use "),u(22,"a",4),c(23,"Microsoft CodeCoverage"),d(),c(24,", "),u(25,"a",5),c(26,"coverlet"),d(),c(27," or "),u(28,"a",6),c(29,"altcover"),d(),c(30," for instrumenting your test code."),d(),u(31,"p"),c(32,"After adding the dependencies to your project, you can execute your tests and generate the coverage report."),d(),u(33,"p")(34,"strong"),c(35,"Add dependencies to your "),u(36,"code"),c(37,"*.csproj"),d(),c(38," file:"),d()(),u(39,"pre",7),c(40),d(),u(41,"p")(42,"strong"),c(43,"Execute tests and create coverage report"),d()(),u(44,"pre",7),c(45),d(),u(46,"h2",8),c(47,"Java"),d(),u(48,"p"),c(49,"For Java you can use "),u(50,"a",9),c(51,"JaCoCo"),d(),c(52,` for instrumenting your test code. +After adding JaCoCo to your project (here with Maven), you can execute your tests and generate the coverage report.`),d(),u(53,"p")(54,"strong"),c(55,"Add dependencies to your "),u(56,"code"),c(57,"pom.xml"),d(),c(58," file:"),d()(),u(59,"pre",7),c(60,` + + + + org.jacoco + jacoco-maven-plugin + 0.8.12 + + + + prepare-agent + + + + report + prepare-package + + report + + + + + + + + + + org.jacoco + jacoco-maven-plugin + + + + report + + + + + + + +`),d(),u(61,"p")(62,"strong"),c(63,"Execute tests and create coverage report"),d()(),u(64,"pre",7),c(65),d(),u(66,"h2",10),c(67,"NodeJS"),d(),u(68,"p"),c(69,"For NodeJS you can use "),u(70,"a",11),c(71,"Istanbul"),d(),c(72,` for instrumenting your test code. +After installing Istanbul, you can execute your tests and generate the coverage report.`),d(),u(73,"pre",7),c(74),d()()),r&2&&(g(15),w("routerLink",U(5,qx)),g(25),$e(` + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + all + runtime; build; native; contentfiles; analyzers + + +`),g(5),$e(`dotnet test --collect:"XPlat Code Coverage" +"%UserProfile%\\.nuget\\packages\\reportgenerator\\`,i.versions.version,`\\tools\\net8.0\\ReportGenerator.exe" -reports:*\\TestResults\\*\\coverage.cobertura.xml -targetdir:coveragereport +`),g(20),$e(`mvn test jacoco:report + +dotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version `,i.versions.version,` +tools\\reportgenerator -reports:target\\site\\jacoco\\jacoco.xml -targetdir:coveragereport -sourcedirs:src\\main\\java +`),g(9),$e(`npm i nyc --save-dev +nyc --reporter=cobertura mocha + +dotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version `,i.versions.version,` +tools\\reportgenerator -reports:coverage/cobertura-coverage.xml -targetdir:coveragereport +`))},dependencies:[ke],encapsulation:2})}}return e})();var ac=(()=>{class e{static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=le({type:e,selectors:[["app-testimonials"]],decls:30,vars:0,consts:[[1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"container"],[1,"text-center"],[1,"row","mt-5"],[1,"col","text-center"],[1,"fa-brands","fa-microsoft","h1","text-secondary"],["href","https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/code-coverage.md","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"fa-brands","fa-google","h1","text-secondary"],["href","https://github.com/GoogleCloudPlatform/iam-windows-authenticator","target","_blank","title","https://github.com/GoogleCloudPlatform/iam-federation-tools/blob/master/wwauth/Google.Solutions.WWAuth/Google.Solutions.WWAuth.csproj#L25",1,"text-dark","d-none","d-lg-block"],[1,"fa-brands","fa-aws","h1","text-secondary"],["href","https://github.com/aws/aws-encryption-sdk-dafny","target","_blank","title","https://github.com/aws/aws-encryption-sdk-dafny/blob/mainline/codebuild/dotnet/tests.yml#L31",1,"text-dark","d-none","d-lg-block"],[1,"col","text-center","d-none","d-lg-block"],[1,"fa-solid","fa-heart","h1","text-secondary"],["href","https://github.com/danielpalme/ReportGenerator/network/dependents","target","_blank",1,"text-dark"],["href","https://www.nuget.org/packages?q=ReportGenerator+danielpalme","target","_blank",1,"btn","btn-outline-secondary"],[1,"fa-solid","fa-download"]],template:function(r,i){r&1&&(He(0,"section",0)(1,"div",1)(2,"h2",2),c(3,"Code coverage reports trusted by"),ct(),He(4,"div",3)(5,"div",4),Qt(6,"i",5)(7,"br"),He(8,"a",6),c(9,".NET Runtime"),ct()(),He(10,"div",4),Qt(11,"i",7)(12,"br"),He(13,"a",8),c(14,"Google Cloud"),ct()(),He(15,"div",4),Qt(16,"i",9)(17,"br"),He(18,"a",10),c(19,"AWS Encryption SDK"),ct()(),He(20,"div",11),Qt(21,"i",12)(22,"br"),He(23,"a",13),c(24,"Many more"),ct()()(),He(25,"div",3)(26,"div",4)(27,"a",14),Qt(28,"i",15),c(29," Over 140 million downloads on Nuget"),ct()()()()())},encapsulation:2})}}return e})();var Wx=()=>["/pro"],Zx=()=>["/usage"],Yx=()=>["/getstarted"],Qx=()=>["/features"],F0=(()=>{class e{static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=le({type:e,selectors:[["app-home"]],decls:121,vars:8,consts:[[1,"container"],[1,"row"],[1,"col-4","col-md-3"],["src","resources/logo.svg","alt","Logo ReportGenerator",1,"img-fluid"],[1,"col-xs-12","col-md-9","ps-4"],[1,"mt-5"],[1,"line","btn-primary"],[1,"mt-4","h5"],[1,"pro-text"],["href","resources/reports/Html/index.html","target","_blank",1,"btn","btn-primary","me-2","mb-2"],[1,"fa-solid","fa-eye"],[1,"row","mt-5"],[1,"col-sm-12","col-md-4"],[1,"icon"],[1,"fa-solid","fa-scale-balanced"],[1,"h5","ms-3","mt-3"],[1,"mt-3"],[3,"routerLink"],[1,"col-sm-12","col-md-4","mt-4","mt-md-0"],[1,"fa-solid","fa-lightbulb"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Settings","target","_blank"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Integration","target","_blank"],[1,"fa-solid","fa-plug"],["href","https://github.com/marketplace/actions/reportgenerator","target","_blank"],["href","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator","target","_blank"],[1,"col"],[1,"btn","btn-primary","me-2","mb-2",3,"routerLink"],[1,"fa-solid","fa-wrench"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank",1,"btn","btn-outline-dark","mb-2"],[1,"fa-brands","fa-github"],[1,"container-fluid","mt-5","pt-5","pb-5"],["href","resources/reports/Html/index.html","target","_blank"],["href","https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip"],[1,"col-sm-12","col-md-6","pb-2"],["href","resources/screenshot1@2x.webp"],["loading","lazy","srcset","resources/screenshot1.webp 1x, resources/screenshot1@2x.webp 2x","src","resources/screenshot1.webp","alt","Screenshot",1,"img-fluid"],[1,"col-sm-12","col-md-6"],["href","resources/screenshot2@2x.webp"],["loading","lazy","srcset","resources/screenshot2.webp 1x, resources/screenshot2@2x.webp 2x","src","resources/screenshot2.webp","alt","Screenshot",1,"img-fluid"]],template:function(r,i){r&1&&(u(0,"section",0)(1,"div",1)(2,"div",2),h(3,"img",3),d(),u(4,"div",4)(5,"h1"),c(6,"ReportGenerator"),d(),u(7,"h2",5),c(8,"Powerful code coverage visualization"),d(),u(9,"div",6),c(10,"\xA0"),d(),u(11,"div",7)(12,"p")(13,"i"),c(14,"ReportGenerator"),d(),c(15," converts "),u(16,"span",8),c(17,"coverage reports"),d(),c(18," generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov or lcov into "),u(19,"span",8),c(20,"human readable reports in various formats"),d(),c(21,"."),d(),u(22,"p"),c(23,"The reports show the "),u(24,"span",8),c(25,"coverage quotas"),d(),c(26," and also visualize which lines of your source code have been covered."),d(),u(27,"p")(28,"a",9),h(29,"i",10),c(30," Browse example report"),d()()()()(),u(31,"div",11)(32,"div",12)(33,"div",13),h(34,"i",14),d(),u(35,"span",15),c(36,"Open source"),d(),u(37,"p",16)(38,"i"),c(39,"ReportGenerator"),d(),c(40," is open source under the permissive Apache License."),d(),u(41,"p"),c(42,"It's free to use."),h(43,"br"),c(44,"The "),u(45,"a",17),c(46,"PRO"),d(),c(47," version offers additional features."),d()(),u(48,"div",18)(49,"div",13),h(50,"i",19),d(),u(51,"span",15),c(52,"Easy to use"),d(),u(53,"p",16)(54,"i"),c(55,"ReportGenerator"),d(),c(56," is a command line tool which only requires a "),u(57,"a",17),c(58,"few parameters"),d(),c(59,"."),d(),u(60,"p"),c(61,"The more advanced settings are documented in the "),u(62,"a",20),c(63,"wiki"),d(),c(64,"."),d(),u(65,"p")(66,"a",21),c(67,"Integration"),d(),c(68," into your build pipeline will only take a couple of minutes."),d()(),u(69,"div",18)(70,"div",13),h(71,"i",22),d(),u(72,"span",15),c(73,"Integration"),d(),u(74,"p",16)(75,"i"),c(76,"ReportGenerator"),d(),c(77," works on Windows, Linux and macOS."),d(),u(78,"p"),c(79,"Support for "),u(80,"a",23),c(81,"GitHub actions"),d(),c(82," and "),u(83,"a",24),c(84,"Azure DevOps"),d(),c(85," is available."),d()()(),u(86,"div",11)(87,"div",25)(88,"a",26),h(89,"i",27),c(90," Learn how to use"),d(),u(91,"a",28),h(92,"i",29),c(93," GitHub"),d()()()(),h(94,"app-testimonials"),u(95,"section",30)(96,"div",0)(97,"h2"),c(98,"Screenshots"),d(),u(99,"p"),c(100,"The screenshots show two snippets of the generated code coverage reports."),d(),u(101,"p"),c(102," Have a look the "),u(103,"a",17),c(104,"features page"),d(),c(105," to explore the elements in a coverage report or "),u(106,"a",31),c(107,"browse the example report"),d(),c(108,". "),h(109,"br"),c(110," You can also download "),u(111,"a",32),c(112,"sample reports"),d(),c(113," of all supported output formats."),d(),u(114,"div",1)(115,"div",33)(116,"a",34),h(117,"img",35),d()(),u(118,"div",36)(119,"a",37),h(120,"img",38),d()()()()()),r&2&&(g(45),w("routerLink",U(4,Wx)),g(12),w("routerLink",U(5,Zx)),g(31),w("routerLink",U(6,Yx)),g(15),w("routerLink",U(7,Qx)))},dependencies:[ke,ac],styles:[".h5[_ngcontent-%COMP%]{font-weight:300}section[_ngcontent-%COMP%]:first-of-type{padding-top:120px;min-height:calc(100vh - 171px)}.icon[_ngcontent-%COMP%]{background-color:#2e89df;background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%);height:50px;width:50px;border-radius:8px;text-align:center;color:#fff;line-height:50px;font-size:1.5rem;display:inline-block}@media(max-width:767px){section[_ngcontent-%COMP%]:first-of-type{padding-top:40px}}"]})}}return e})();var L0=(()=>{class e{static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=le({type:e,selectors:[["app-not-found"]],decls:5,vars:0,consts:[[1,"container"],[1,"mb-4"],[1,"fa-solid","fa-triangle-exclamation","fs-1","me-4"]],template:function(r,i){r&1&&(He(0,"div",0)(1,"h1",1),c(2,"Not found"),ct(),Qt(3,"i",2),c(4,` The requested page does not exist. +`),ct())},encapsulation:2})}}return e})();var V0=(()=>{class e{constructor(t){this.elementRef=t}ngAfterViewInit(){let t=this.elementRef.nativeElement;this.tooltip=new bootstrap.Tooltip(t);let r=t.setAttribute;t.setAttribute=(i,o)=>{i==="data-bs-title"&&this.tooltip.setContent({".tooltip-inner":o}),r.call(t,i,o)}}ngOnDestroy(){this.tooltip.dispose()}static{this.\u0275fac=function(r){return new(r||e)(k(Se))}}static{this.\u0275dir=se({type:e,selectors:[["","bootstraptooltip",""]]})}}return e})();var as=class{constructor(){this.error=null,this.licenses=[]}};var lc=class{constructor(){this.error=null,this.isSponsor=!1,this.license=null}};var cc=(()=>{class e{initCodeFlow(){let t=this.createAndSaveNonce(),r=ee.scope!==null?`&scope=${ee.scope}`:"",i=`${ee.loginUrl}?response_type=code&client_id=${ee.clientId}&state=${t}&redirect_uri=${window.location.origin}${ee.redirectUri}${r}`;console.log("Redirecting to: "+i),location.href=i}validateStateAndExtractCode(){let t=location.href,r=t.indexOf("?");r>-1&&(t=t.substring(r+1));let i=this.parseQueryString(t);return!i.state||!i.code?null:this.validateNonce(i.state)?i.code:null}createAndSaveNonce(){let t=this.createNonce();return typeof window.localStorage<"u"&&localStorage.setItem("nonce",t),t}validateNonce(t){let r;return typeof window.localStorage<"u"&&(r=localStorage.getItem("nonce"),localStorage.removeItem("nonce")),!r||r.length===0?(console.error("Validating nonce failed. No saved nonce available.",r,t),!1):r!==t?(console.error("Validating nonce failed. Values do not match.",r,t),!1):!0}createNonce(){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",r=45,i="",o=typeof self>"u"?null:self.crypto||self.msCrypto;if(o){let a=new Uint8Array(r);o.getRandomValues(a),a.map||(a.map=Array.prototype.map);let l=[];for(var s=0;s0&&(f=decodeURIComponent(a),p=decodeURIComponent(l),f.substring(0,1)==="/"&&(f=f.substring(1)),r[f]=p);return r}base64UrlEncode(t){return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac})}}return e})();var j0=(()=>{class e{constructor(){this.isActive=!1,this.isActive=new Date["/features"],Dp=()=>["/contact"],B0=e=>({active:e});function Xx(e,n){if(e&1){let t=X();u(0,"span",24)(1,"span",77),R("click",function(){I(t);let i=E();return x(i.lifetimeLicense=!1)}),h(2,"i",78),c(3," Annual subscription"),d(),u(4,"span",77),R("click",function(){I(t);let i=E();return x(i.lifetimeLicense=!0)}),h(5,"i",79),c(6," Lifetime license"),d()()}if(e&2){let t=E();g(),w("ngClass",Fn(2,B0,!t.lifetimeLicense)),g(3),w("ngClass",Fn(4,B0,t.lifetimeLicense))}}function eT(e,n){if(e&1){let t=X();u(0,"button",99),R("click",function(){I(t);let i=E(2);return x(i.requestTrial())}),h(1,"i",32),c(2," Start trial"),d()}if(e&2){let t=E(2);w("disabled",t.trialDisabled)}}function tT(e,n){e&1&&(u(0,"button",87),c(1,"Coming soon"),d())}function nT(e,n){if(e&1){let t=X();c(0," + VAT "),u(1,"a",100),R("click",function(){I(t);let i=E(2);return x(i.handleTooltipClick())}),h(2,"i",101),d()}if(e&2){let t=E(2);g(),et("data-bs-title",t.getPriceTooltip(t.paddleIndividualLifetimeLicensePriceDetails,t.paddleIndividualLicensePriceDetails))}}function rT(e,n){e&1&&(h(0,"i",78),c(1," Annual subscription "))}function iT(e,n){e&1&&(h(0,"i",79),c(1," Lifetime license "))}function oT(e,n){if(e&1){let t=X();u(0,"button",102),R("click",function(){I(t);let i=E(2);return x(i.openPaddleCheckout("individual"))}),h(1,"i",103),c(2," Buy now"),d()}}function sT(e,n){e&1&&(u(0,"button",87),c(1,"Coming soon"),d())}function aT(e,n){if(e&1){let t=X();c(0," + VAT "),u(1,"a",100),R("click",function(){I(t);let i=E(2);return x(i.handleTooltipClick())}),h(2,"i",101),d()}if(e&2){let t=E(2);g(),et("data-bs-title",t.getPriceTooltip(t.paddleTeamLifetimeLicensePriceDetails,t.paddleTeamLicensePriceDetails))}}function lT(e,n){e&1&&(h(0,"i",78),c(1," Annual subscription "))}function cT(e,n){e&1&&(h(0,"i",79),c(1," Lifetime license "))}function uT(e,n){if(e&1){let t=X();u(0,"button",102),R("click",function(){I(t);let i=E(2);return x(i.openPaddleCheckout("team"))}),h(1,"i",103),c(2," Buy now"),d()}}function dT(e,n){e&1&&(u(0,"button",87),c(1,"Coming soon"),d())}function fT(e,n){if(e&1){let t=X();c(0," + VAT "),u(1,"a",100),R("click",function(){I(t);let i=E(2);return x(i.handleTooltipClick())}),h(2,"i",101),d()}if(e&2){let t=E(2);g(),et("data-bs-title",t.getPriceTooltip(t.paddleEnterpriseLifetimeLicensePriceDetails,t.paddleEnterpriseLicensePriceDetails))}}function pT(e,n){e&1&&(h(0,"i",78),c(1," Annual subscription "))}function hT(e,n){e&1&&(h(0,"i",79),c(1," Lifetime license "))}function mT(e,n){if(e&1){let t=X();u(0,"button",102),R("click",function(){I(t);let i=E(2);return x(i.openPaddleCheckout("enterprise"))}),h(1,"i",103),c(2," Buy now"),d()}}function gT(e,n){e&1&&(u(0,"button",87),c(1,"Coming soon"),d())}function vT(e,n){if(e&1&&(u(0,"div",3)(1,"div",80)(2,"div",81),h(3,"img",82),u(4,"h4",83),c(5,"Free"),h(6,"br"),c(7,"Trial"),d(),u(8,"p"),h(9,"i",84),c(10," Get full access"),h(11,"br")(12,"i",85),c(13," 10 day trial period "),d(),O(14,eT,3,1,"button",86),O(15,tT,2,0,"button",87),d()(),u(16,"div",88)(17,"div",89),h(18,"img",90),u(19,"h4",83),c(20,"Individual"),h(21,"br"),c(22),O(23,nT,3,1),d(),u(24,"p"),h(25,"i",91),c(26," Per developer license."),h(27,"br"),O(28,rT,2,0),O(29,iT,2,0),d(),O(30,oT,3,0,"button",92),O(31,sT,2,0,"button",87),d()(),u(32,"div",93)(33,"div",89),h(34,"img",94),u(35,"h4",83),c(36,"Team"),h(37,"br"),c(38),O(39,aT,3,1),d(),u(40,"p"),h(41,"i",95),c(42," Up to 10 developers."),h(43,"br"),O(44,lT,2,0),O(45,cT,2,0),d(),O(46,uT,3,0,"button",92),O(47,dT,2,0,"button",87),d()(),u(48,"div",96)(49,"div",89),h(50,"img",97),u(51,"h4",83),c(52,"Enterprise"),h(53,"br"),c(54),O(55,fT,3,1),d(),u(56,"p"),h(57,"i",98),c(58," Unlimited developers."),h(59,"br"),O(60,pT,2,0),O(61,hT,2,0),d(),O(62,mT,3,0,"button",92),O(63,gT,2,0,"button",87),d()()()),e&2){let t=E();g(14),P(t.enablePaddle?14:-1),g(),P(t.enablePaddle?-1:15),g(7),$e("",t.lifetimeLicense?t.paddleIndividualLifetimeLicensePrice:t.paddleIndividualLicensePrice," "),g(),P(t.includeVatInPrice?-1:23),g(5),P(t.lifetimeLicense?-1:28),g(),P(t.lifetimeLicense?29:-1),g(),P(t.enablePaddle?30:-1),g(),P(t.enablePaddle?-1:31),g(7),$e("",t.lifetimeLicense?t.paddleTeamLifetimeLicensePrice:t.paddleTeamLicensePrice," "),g(),P(t.includeVatInPrice?-1:39),g(5),P(t.lifetimeLicense?-1:44),g(),P(t.lifetimeLicense?45:-1),g(),P(t.enablePaddle?46:-1),g(),P(t.enablePaddle?-1:47),g(7),$e("",t.lifetimeLicense?t.paddleEnterpriseLifetimeLicensePrice:t.paddleEnterpriseLicensePrice," "),g(),P(t.includeVatInPrice?-1:55),g(5),P(t.lifetimeLicense?-1:60),g(),P(t.lifetimeLicense?61:-1),g(),P(t.enablePaddle?62:-1),g(),P(t.enablePaddle?-1:63)}}function yT(e,n){e&1&&(u(0,"div",104)(1,"div",33)(2,"span",105),c(3,"Loading..."),d()(),u(4,"span",106),c(5,"Your license is being generated. Please wait."),d()())}function CT(e,n){if(e&1&&(u(0,"div")(1,"p"),c(2),d(),u(3,"p"),c(4,"Please try again later or use the "),u(5,"a",21),c(6," contact form"),d(),c(7,"."),d()()),e&2){let t=E(3);g(2),he(t.paddleLicense.error),g(3),w("routerLink",U(2,Dp))}}function ET(e,n){e&1&&(u(0,"span"),h(1,"i",111),c(2," Copy"),d())}function DT(e,n){e&1&&(u(0,"span"),h(1,"i",112),c(2," Copied"),d())}function _T(e,n){if(e&1){let t=X();u(0,"div",108)(1,"textarea",109),c(2),d(),u(3,"button",110),R("click",function(){let i=I(t).$implicit,o=E(4);return x(o.copyPaddle(i))}),O(4,ET,3,0,"span"),O(5,DT,3,0,"span"),d()()}if(e&2){let t=n.$implicit,r=E(4);g(2),he(t),g(2),P(r.copiedPaddledLicenses.indexOf(t)===-1?4:-1),g(),P(r.copiedPaddledLicenses.indexOf(t)>-1?5:-1)}}function bT(e,n){if(e&1&&(u(0,"div")(1,"label",107),c(2,"Thank you! Please save your license key persistently:"),d(),Ie(3,_T,6,3,"div",108,Pn),d()),e&2){let t=E(3);g(3),xe(t.paddleLicense.licenses)}}function wT(e,n){if(e&1&&(u(0,"div",104),O(1,CT,8,3,"div"),O(2,bT,5,0,"div"),d()),e&2){let t=E(2);g(),P(t.paddleLicense.error?1:-1),g(),P(t.paddleLicense.error?-1:2)}}function ST(e,n){if(e&1&&(u(0,"div",3),O(1,yT,6,0,"div",104),O(2,wT,3,2,"div",104),d()),e&2){let t=E();g(),P(t.paddleLicenseRequested&&!t.paddleLicense?1:-1),g(),P(t.paddleLicense?2:-1)}}function IT(e,n){e&1&&(u(0,"p")(1,"i"),c(2,"ReportGenerator"),d(),c(3," subscription based licences are provided with a 30 day money back guarantee."),d())}function xT(e,n){e&1&&(u(0,"div",33)(1,"span",105),c(2,"Loading..."),d()())}function TT(e,n){e&1&&(u(0,"div",34),h(1,"i",113),d())}function MT(e,n){if(e&1&&(u(0,"div")(1,"p"),c(2),d(),u(3,"p"),c(4,"Please try again later or use the "),u(5,"a",21),c(6," contact form"),d(),c(7,"."),d()()),e&2){let t=E(2);g(2),he(t.license.error),g(3),w("routerLink",U(2,Dp))}}function AT(e,n){e&1&&(u(0,"div")(1,"p"),c(2,"Please become a "),u(3,"a",114),c(4,"GitHub sponsor"),d(),c(5," first."),d()())}function NT(e,n){e&1&&(u(0,"span"),h(1,"i",111),c(2," Copy"),d())}function RT(e,n){e&1&&(u(0,"span"),h(1,"i",112),c(2," Copied"),d())}function kT(e,n){if(e&1){let t=X();u(0,"div")(1,"label",115),c(2,"Thank you for becoming a sponsor. Here's your license:"),d(),u(3,"textarea",116),c(4),d(),u(5,"button",110),R("click",function(){I(t);let i=E(2);return x(i.copy())}),O(6,NT,3,0,"span"),O(7,RT,3,0,"span"),d()()}if(e&2){let t=E(2);g(4),he(t.license.license),g(2),P(t.licenseCopied?-1:6),g(),P(t.licenseCopied?7:-1)}}function OT(e,n){if(e&1&&(u(0,"div",27),O(1,MT,8,3,"div"),O(2,AT,6,0,"div"),O(3,kT,8,3,"div"),d()),e&2){let t=E();g(),P(t.license.error?1:-1),g(),P(!t.license.error&&!t.license.isSponsor?2:-1),g(),P(!t.license.error&&t.license.isSponsor&&t.license.license?3:-1)}}var U0=(()=>{class e{get lifetimeLicense(){return this._lifetimeLicense}set lifetimeLicense(t){this._lifetimeLicense=t,this.lifetimeLicenseChangeTracked||(this.lifetimeLicenseChangeTracked=!0,this.trackingService.track("Licensetype changed"))}constructor(t,r,i){this.oauthService=t,this.licenseService=r,this.trackingService=i,this.paddleIndividualLicensePrice=Lt.paddleIndividualLicensePrice,this.paddleTeamLicensePrice=Lt.paddleTeamLicensePrice,this.paddleEnterpriseLicensePrice=Lt.paddleEnterpriseLicensePrice,this.paddleIndividualLifetimeLicensePrice=Lt.paddleIndividualLifetimeLicensePrice,this.paddleTeamLifetimeLicensePrice=Lt.paddleTeamLifetimeLicensePrice,this.paddleEnterpriseLifetimeLicensePrice=Lt.paddleEnterpriseLifetimeLicensePrice,this.paddleIndividualLicensePriceDetails=null,this.paddleTeamLicensePriceDetails=null,this.paddleEnterpriseLicensePriceDetails=null,this.paddleIndividualLifetimeLicensePriceDetails=null,this.paddleTeamLifetimeLicensePriceDetails=null,this.paddleEnterpriseLifetimeLicensePriceDetails=null,this.licenseRequested=!1,this.licenseCopied=!1,this.license=null,this.enablePaddle=!0,this.trialDisabled=!1,this.includeVatInPrice=!0,this.requestTrialData={name:"",email:""},this.paddleLicenseRequested=!1,this.paddleLicense=null,this.copiedPaddledLicenses=[],this.self=this,this.lifetimeLicenseChangeTracked=!1,this._lifetimeLicense=!0,window.paddleCheckoutComplete=o=>{this.paddleCheckoutComplete(o)},ee.paddleEnvironment&&(window.Paddle.Environment.set(ee.paddleEnvironment),console.log("Paddle environment: "+ee.paddleEnvironment)),window.Paddle.Setup({vendor:ee.paddleVendorId}),window.Paddle.Product.Prices(ee.paddleIndividualLicense,o=>{this.paddleIndividualLicensePriceDetails=o.recurring.price,this.paddleIndividualLicensePrice=this.includeVatInPrice?o.recurring.price.gross:o.recurring.price.net}),window.Paddle.Product.Prices(ee.paddleTeamLicense,o=>{this.paddleTeamLicensePriceDetails=o.recurring.price,this.paddleTeamLicensePrice=this.includeVatInPrice?o.recurring.price.gross:o.recurring.price.net}),window.Paddle.Product.Prices(ee.paddleEnterpriseLicense,o=>{this.paddleEnterpriseLicensePriceDetails=o.recurring.price,this.paddleEnterpriseLicensePrice=this.includeVatInPrice?o.recurring.price.gross:o.recurring.price.net}),window.Paddle.Product.Prices(ee.paddleIndividualLifetimeLicense,o=>{this.paddleIndividualLifetimeLicensePriceDetails=o.price,this.paddleIndividualLifetimeLicensePrice=this.includeVatInPrice?o.price.gross:o.price.net}),window.Paddle.Product.Prices(ee.paddleTeamLifetimeLicense,o=>{this.paddleTeamLifetimeLicensePriceDetails=o.price,this.paddleTeamLifetimeLicensePrice=this.includeVatInPrice?o.price.gross:o.price.net}),window.Paddle.Product.Prices(ee.paddleEnterpriseLifetimeLicense,o=>{this.paddleEnterpriseLifetimeLicensePriceDetails=o.price,this.paddleEnterpriseLifetimeLicensePrice=this.includeVatInPrice?o.price.gross:o.price.net})}ngOnInit(){let t=this.oauthService.validateStateAndExtractCode();t!==null?(console.log("Code received",t),this.licenseRequested=!0,this.licenseService.getLicense(t).subscribe({next:r=>{console.log("Received license response"),this.license=r,this.scrollToGithub()},error:r=>{console.error(r),this.license=new lc,this.license.error="Unable to generate license.",this.scrollToGithub()},complete:()=>console.info("complete")})):console.log("No code available"),location.href.indexOf("?source=trial")>-1&&this.trackingService.track("Trial2Pro"),this.requestTrialModal=new window.bootstrap.Modal("#requestTrialModal");try{this.trialDisabled=window.localStorage.getItem("trialRequested")!==null}catch{}}requestLicense(){this.licenseRequested=!0,this.oauthService.initCodeFlow()}copy(){try{navigator.clipboard.writeText(this.license.license),this.licenseCopied=!0}catch(t){console.error("Failed to copy license",t)}}copyPaddle(t){try{navigator.clipboard.writeText(t),this.copiedPaddledLicenses.push(t)}catch(r){console.error("Failed to copy paddle license",r)}}scrollToGithub(){return document.querySelector("#github").scrollIntoView(!0),!1}scrollToPaddle(){return document.querySelector("#paddle").scrollIntoView(!0),!1}requestTrial(){this.requestTrialModal.show(),this.trackingService.track("Trial-Started")}completeTrial(){console.log("Trial completed"),this.requestTrialModal.hide(),this.paddleLicenseRequested=!0,this.licenseService.getTrialLicense(this.requestTrialData).subscribe({next:t=>{console.log("Received trial license response"),this.paddleLicense=t,this.scrollToPaddle();try{window.localStorage.setItem("trialRequested","true"),this.trialDisabled=!0}catch{}this.trackingService.track("Trial-Completed")},error:t=>{console.error(t),this.paddleLicense=new as,this.paddleLicense.error="Unable to generate trial license."},complete:()=>{console.info("complete"),this.requestTrialData={name:"",email:""}}})}openPaddleCheckout(t){t==="enterprise"?window.Paddle.Checkout.open({product:this.lifetimeLicense?ee.paddleEnterpriseLifetimeLicense:ee.paddleEnterpriseLicense,successCallback:"paddleCheckoutComplete"}):t==="team"?window.Paddle.Checkout.open({product:this.lifetimeLicense?ee.paddleTeamLifetimeLicense:ee.paddleTeamLicense,successCallback:"paddleCheckoutComplete"}):window.Paddle.Checkout.open({product:this.lifetimeLicense?ee.paddleIndividualLifetimeLicense:ee.paddleIndividualLicense,successCallback:"paddleCheckoutComplete"}),this.trackingService.track("Paddle-Started",{props:{product:t,lifetimeLicense:this.lifetimeLicense}})}paddleCheckoutComplete(t){console.log("Checkout completed",t),this.paddleLicenseRequested=!0,this.licenseService.getPaddleLicense(t).subscribe({next:r=>{console.log("Received paddle license response"),this.paddleLicense=r,this.scrollToPaddle(),this.trackingService.track("Paddle-Completed",{props:{product:t.product.name,lifetimeLicense:this.lifetimeLicense}})},error:r=>{console.error(r),this.paddleLicense=new as,this.paddleLicense.error="Unable to generate Paddle license."},complete:()=>console.info("complete")})}getPriceTooltip(t,r){return this.lifetimeLicense&&t?`Net: ${t.net}
+ VAT/Tax: ${t.tax}
+ Gross/Total: ${t.gross}`:!this.lifetimeLicense&&r?`Net: ${r.net}
+ VAT/Tax: ${r.tax}
+ Gross/Total: ${r.gross}`:"-"}handleTooltipClick(){return!1}static{this.\u0275fac=function(r){return new(r||e)(k(cc),k(Li),k(j0))}}static{this.\u0275cmp=le({type:e,selectors:[["app-pro-component"]],decls:287,vars:29,consts:[["trialForm","ngForm"],[1,"container"],[1,"mb-4"],[1,"row"],[1,"col-xs-12","col-md-6","order-2","order-md-1"],[1,"table"],["scope","col"],["scope","col",1,"text-center"],[1,"pro-button"],["scope","row"],["fragment","metrics","title","Show feature details",3,"routerLink"],[1,"fa-solid","fa-circle-info","text-secondary"],[1,"text-center"],[1,"fa-solid","fa-circle-check","text-secondary"],["fragment","riskhotspots","title","Show feature details",3,"routerLink"],["title","Show feature details",3,"routerLink"],[1,"fa-solid","fa-circle-check","pro-text"],["fragment","rawmode","title","Show feature details",3,"routerLink"],["fragment","ctc","title","Show feature details",3,"routerLink"],[1,"col-xs-12","col-md-6","order-1","order-md-2"],["href","",3,"click"],[3,"routerLink"],["id","paddle",1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"text-center","mb-3"],[1,"togglecontainer"],[1,"mt-5"],["id","github",1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"col-xs-12","col-md-6","pb-3"],[1,"fs-2","me-3","number"],["href","https://github.com/sponsors/danielpalme","target","_blank",1,"btn","btn-outline-dark"],[1,"fa-solid","fa-heart","githubheart"],["type","button",1,"btn","btn-primary","me-3",3,"click","disabled"],[1,"fa-solid","fa-rocket"],["role","status",1,"spinner-border","text-info"],[1,"col-md-6","pb-3","d-none","d-lg-block","position-relative"],[1,"container-fluid","mt-4","pt-5","pb-5","bg-light"],[1,"container","text-center"],[1,"row","mt-5","testimonial"],["href","https://twitter.com/fredyfx/status/1642807795828543488","target","_blank"],["loading","lazy","src","resources/twitter_light.webp","alt","Testimonial",1,"img-fluid"],["id","faq",1,"container","mt-5","pt-5","pb-5"],["id","accordionFaq",1,"accordion","accordion-flush"],[1,"accordion-item"],["id","headingOne",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseOne","aria-expanded","true","aria-controls","collapseOne",1,"accordion-button"],["id","collapseOne","aria-labelledby","headingOne","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse","show"],[1,"accordion-body"],["id","headingTwo",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseTwo","aria-expanded","false","aria-controls","collapseTwo",1,"accordion-button","collapsed"],["id","collapseTwo","aria-labelledby","headingTwo","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["id","headingThree",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseThree","aria-expanded","false","aria-controls","collapseThree",1,"accordion-button","collapsed"],["id","collapseThree","aria-labelledby","headingThree","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["id","headingFour",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseFour","aria-expanded","false","aria-controls","collapseFour",1,"accordion-button","collapsed"],["id","collapseFour","aria-labelledby","headingFour","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["id","headingFive",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseFive","aria-expanded","false","aria-controls","collapseFive",1,"accordion-button","collapsed"],["id","collapseFive","aria-labelledby","headingFive","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["href","https://www.paddle.com/about/procurement","target","_blank"],["tabindex","-1","id","requestTrialModal",1,"modal"],[1,"modal-dialog"],[1,"modal-content"],["method","post",3,"ngSubmit"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal","aria-label","Close",1,"btn-close"],[1,"modal-body"],[1,"form-floating","mb-3"],["type","text","id","name","name","name","required","","maxlength","150","placeholder","Name",1,"form-control",3,"ngModelChange","ngModel"],["for","name"],[1,"required"],["type","email","id","email","name","email","required","","email","","maxlength","150","placeholder","Email address",1,"form-control",3,"ngModelChange","ngModel"],["for","email"],[1,"modal-footer"],["type","button","data-bs-dismiss","modal",1,"btn","btn-secondary"],["type","submit",1,"btn","btn-primary",3,"disabled"],[1,"option",3,"click","ngClass"],[1,"fa-solid","fa-rotate-right"],[1,"fa-solid","fa-infinity"],[1,"col-xs-12","col-md-6","col-lg-3","mt-0","pb-3","text-center","paddle-container"],[1,"paddle","trial"],["src","resources/trial.svg","alt","Trial",1,"img-fluid"],[1,"mt-3"],[1,"fa-solid","fa-magnifying-glass"],[1,"fa-solid","fa-calendar-days"],["type","button",1,"btn","btn-primary",3,"disabled"],["type","button","disabled","",1,"btn","btn-primary"],[1,"col-xs-12","col-md-6","col-lg-3","mt-4","mt-md-0","pb-3","text-center","paddle-container"],[1,"paddle"],["src","resources/individual.svg","alt","Individual",1,"img-fluid"],[1,"fa-solid","fa-user"],["type","button",1,"btn","btn-primary"],[1,"col-xs-12","col-md-6","col-lg-3","mt-4","mt-lg-0","pb-3","text-center","paddle-container"],["src","resources/team.svg","alt","Team",1,"img-fluid"],[1,"fa-solid","fa-users"],[1,"col-xs-6","col-md-6","col-lg-3","mt-4","mt-lg-0","pb-3","text-center","paddle-container"],["src","resources/enterprise.svg","alt","Enterprise",1,"img-fluid"],[1,"fa-solid","fa-industry"],["type","button",1,"btn","btn-primary",3,"click","disabled"],["href","#","bootstraptooltip","","data-bs-html","true",1,"text-secondary","fs-6",3,"click"],[1,"fa-solid","fa-circle-info"],["type","button",1,"btn","btn-primary",3,"click"],[1,"fa-solid","fa-cart-shopping"],[1,"col-xs-12","col-md-6"],[1,"visually-hidden"],[1,"position-relative","ms-4"],["for","paddlelicensetext"],[1,"mt-2"],["id","paddlelicensetext","rows","5","readonly","",1,"form-control"],[1,"btn","btn-outline-dark","mt-2",3,"click"],[1,"fa-solid","fa-copy"],[1,"fa-solid","fa-check","text-success"],[1,"fa-solid","fa-heart","githubheartlarge"],["href","https://github.com/sponsors/danielpalme","target","_blank"],["for","licensetext"],["id","licensetext","rows","5","readonly","",1,"form-control","mt-2"]],template:function(r,i){if(r&1){let o=X();u(0,"div",1)(1,"h1",2),c(2,"PRO"),d(),u(3,"div",3)(4,"div",4)(5,"table",5)(6,"thead")(7,"tr"),h(8,"th",6),u(9,"th",7),c(10,"Free"),d(),u(11,"th",7)(12,"span",8),c(13,"PRO"),d()()()(),u(14,"tbody")(15,"tr")(16,"th",9),c(17,"Metrics "),u(18,"a",10),h(19,"i",11),d()(),u(20,"td",12),h(21,"i",13),d(),u(22,"td",12),h(23,"i",13),d()(),u(24,"tr")(25,"th",9),c(26,"Risk Hotspots "),u(27,"a",14),h(28,"i",11),d()(),u(29,"td",12),h(30,"i",13),d(),u(31,"td",12),h(32,"i",13),d()(),u(33,"tr")(34,"th",9),c(35,"Line coverage "),u(36,"a",15),h(37,"i",11),d()(),u(38,"td",12),h(39,"i",13),d(),u(40,"td",12),h(41,"i",13),d()(),u(42,"tr")(43,"th",9),c(44,"Branch coverage "),u(45,"a",15),h(46,"i",11),d()(),u(47,"td",12),h(48,"i",13),d(),u(49,"td",12),h(50,"i",13),d()(),u(51,"tr")(52,"th",9),c(53,"Method coverage "),u(54,"a",15),h(55,"i",11),d()(),h(56,"td",12),u(57,"td",12),h(58,"i",16),d()(),u(59,"tr")(60,"th",9),c(61,"Metrics on summary page "),u(62,"a",10),h(63,"i",11),d()(),h(64,"td",12),u(65,"td",12),h(66,"i",16),d()(),u(67,"tr")(68,"th",9)(69,"i"),c(70,"OpenCover"),d(),c(71," output format"),d(),h(72,"td",12),u(73,"td",12),h(74,"i",16),d()(),u(75,"tr")(76,"th",9),c(77,"Raw mode (for "),u(78,"i"),c(79,"Cobertura"),d(),c(80," and "),u(81,"i"),c(82,"dotCover"),d(),c(83,") "),u(84,"a",17),h(85,"i",11),d()(),h(86,"td",12),u(87,"td",12),h(88,"i",16),d()(),u(89,"tr")(90,"th",9),c(91,"Support for CTC coverage files (MC/DC) "),u(92,"a",18),h(93,"i",11),d()(),h(94,"td",12),u(95,"td",12),h(96,"i",16),d()()()()(),u(97,"div",19)(98,"p")(99,"i"),c(100,"ReportGenerator"),d(),c(101," is Open Source and free to use."),h(102,"br"),c(103," Some of the advanced features require a PRO license. "),d(),u(104,"p"),c(105," You can either "),u(106,"a",20),R("click",function(){return I(o),x(i.scrollToPaddle())}),c(107,"buy a license"),d(),c(108," or you can become a "),u(109,"a",20),R("click",function(){return I(o),x(i.scrollToGithub())}),c(110,"GitHub sponsor"),d(),c(111,"."),h(112,"br"),c(113," A "),u(114,"a",20),R("click",function(){return I(o),x(i.scrollToPaddle())}),c(115,"free trial version"),d(),c(116," is available too. "),d(),u(117,"p"),c(118," Get "),u(119,"a",21),c(120,"in touch"),d(),c(121," if you have any issues and we will figure it out. "),d()()()(),u(122,"section",22)(123,"div",1)(124,"h2",2),c(125,"Buy a license"),d(),u(126,"div",23),O(127,Xx,7,6,"span",24),d(),O(128,vT,64,20,"div",3),O(129,ST,3,2,"div",3),u(130,"div",25),O(131,IT,4,0,"p"),u(132,"p"),c(133,"The order process is conducted by Paddle.com. Paddle.com is the Merchant of Record for all orders. Paddle provides all customer service inquiries and handles returns."),d()()()(),u(134,"section",26)(135,"div",1)(136,"h2",2),c(137,"Get your license as a GitHub sponsor"),d(),u(138,"div",3)(139,"div",27)(140,"p"),c(141,"You can obtain your license in two easy steps (no sign up required):"),d(),u(142,"span",28),c(143,"1."),d(),u(144,"a",29),h(145,"i",30),c(146," Become a GitHub sponsor"),d(),h(147,"br"),u(148,"span",28),c(149,"2."),d(),u(150,"button",31),R("click",function(){return I(o),x(i.requestLicense())}),h(151,"i",32),c(152," Get license"),d(),O(153,xT,3,0,"div",33),d(),O(154,TT,2,0,"div",34),O(155,OT,4,3,"div",27),d()()(),h(156,"app-testimonials"),u(157,"section",35)(158,"div",36)(159,"h3"),c(160,"Customers"),d(),u(161,"div",37)(162,"a",38),h(163,"img",39),d()()()(),u(164,"section",40)(165,"h2",2),c(166,"Frequently Asked Questions"),d(),u(167,"div",41)(168,"div",42)(169,"h2",43)(170,"button",44),c(171," How do I use/activate my license? "),d()(),u(172,"div",45)(173,"div",46),c(174," You can apply the license with the following command line parameter "),u(175,"code"),c(176,"-license:YOUR_KEY"),d(),c(177," or via the "),u(178,"code"),c(179,"REPORTGENERATOR_LICENSE"),d(),c(180," environment variable. "),d()()(),u(181,"div",42)(182,"h2",47)(183,"button",48),c(184," Are there limitations on number of users? "),d()(),u(185,"div",49)(186,"div",46)(187,"b"),c(188,"GitHub sponsors"),d(),h(189,"br"),u(190,"p"),c(191,"There's no enforced limit. Please pick a sponsor level that fits your company size and budget."),d(),u(192,"b"),c(193,"Bought license"),d(),h(194,"br"),u(195,"p"),c(196,"There's no enforced limit. Please choose a plan that matches the number of developers using "),u(197,"i"),c(198,"ReportGenerator"),d(),c(199,"."),d()()()(),u(200,"div",42)(201,"h2",50)(202,"button",51),c(203," Will my license expire? "),d()(),u(204,"div",52)(205,"div",46)(206,"b"),c(207,"GitHub sponsors"),d(),h(208,"br"),u(209,"p"),c(210,"Your license will not expire."),d(),u(211,"b"),c(212,"Bought license"),d(),h(213,"br"),u(214,"p")(215,"b"),c(216,"Annual subscription"),d(),c(217,": Your license may get revoked for new releases of "),u(218,"i"),c(219,"ReportGenerator"),d(),c(220,", if you cancel your subscription."),h(221,"br"),u(222,"b"),c(223,"Lifetime licenses"),d(),c(224,": Lifetime licenses will not expire. "),d()()()(),u(225,"div",42)(226,"h2",53)(227,"button",54),c(228," Will I get updates and upgrades for lifetime? "),d()(),u(229,"div",55)(230,"div",46)(231,"b"),c(232,"GitHub sponsors"),d(),h(233,"br"),u(234,"p"),c(235,"Yes"),d(),u(236,"b"),c(237,"Bought license"),d(),h(238,"br"),u(239,"p")(240,"b"),c(241,"Annual subscription"),d(),c(242,": Not if you cancel your subscription"),h(243,"br"),u(244,"b"),c(245,"Lifetime licenses"),d(),c(246,": Yes "),d()()()(),u(247,"div",42)(248,"h2",56)(249,"button",57),c(250," I require a W-8/W-9 form? "),d()(),u(251,"div",58)(252,"div",46),c(253," Please contact our online reseller "),u(254,"a",59),c(255,"Paddle.com"),d(),c(256,". "),u(257,"i"),c(258,"Paddle.com"),d(),c(259," is the Merchant of Record for all orders and is responsible for providing these documents. "),d()()()()(),u(260,"div",60)(261,"div",61)(262,"div",62)(263,"form",63,0),R("ngSubmit",function(){return I(o),x(i.completeTrial())}),u(265,"div",64)(266,"h5",65),c(267,"Free Trial"),d(),h(268,"button",66),d(),u(269,"div",67)(270,"div",68)(271,"input",69),z("ngModelChange",function(a){return I(o),W(i.requestTrialData.name,a)||(i.requestTrialData.name=a),x(a)}),d(),u(272,"label",70),c(273,"Name "),u(274,"span",71),c(275,"*"),d()()(),u(276,"div",68)(277,"input",72),z("ngModelChange",function(a){return I(o),W(i.requestTrialData.email,a)||(i.requestTrialData.email=a),x(a)}),d(),u(278,"label",73),c(279,"Email address "),u(280,"span",71),c(281,"*"),d()()()(),u(282,"div",74)(283,"button",75),c(284,"Close"),d(),u(285,"button",76),c(286,"Get trial license"),d()()()()()()}if(r&2){let o=Sr(264);g(18),w("routerLink",U(20,Zn)),g(9),w("routerLink",U(21,Zn)),g(9),w("routerLink",U(22,Zn)),g(9),w("routerLink",U(23,Zn)),g(9),w("routerLink",U(24,Zn)),g(8),w("routerLink",U(25,Zn)),g(22),w("routerLink",U(26,Zn)),g(8),w("routerLink",U(27,Zn)),g(27),w("routerLink",U(28,Dp)),g(8),P(i.paddleLicenseRequested?-1:127),g(),P(i.paddleLicenseRequested?-1:128),g(),P(i.paddleLicenseRequested?129:-1),g(2),P(i.lifetimeLicense?-1:131),g(19),w("disabled",i.licenseRequested),g(3),P(i.licenseRequested&&!i.license?153:-1),g(),P(i.license?-1:154),g(),P(i.license?155:-1),g(116),G("ngModel",i.requestTrialData.name),g(6),G("ngModel",i.requestTrialData.email),g(8),w("disabled",!o.valid)}},dependencies:[ke,Ir,nn,Wn,tn,zn,qn,En,ss,os,Cn,yn,ac,V0],styles:[".number[_ngcontent-%COMP%]{display:inline-block;position:relative;top:8px}.spinner-border[_ngcontent-%COMP%]{position:relative;top:9px}.paddle-container[_ngcontent-%COMP%]{padding:10px}.paddle[_ngcontent-%COMP%]{border:1px solid #8c8888;border-radius:20px;padding:20px;background-color:#d8e8f0}.trial[_ngcontent-%COMP%]{background-color:#b2cad7}.githubheartlarge[_ngcontent-%COMP%]{position:absolute;top:-120px;left:40%;font-size:20rem;color:#ffd2ed}.togglecontainer[_ngcontent-%COMP%]{background-color:#fff;display:inline-block;border-radius:20px;white-space:nowrap}.togglecontainer[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{background-color:#fff;padding:8px 15px;border-radius:20px;cursor:pointer;display:inline-block}.togglecontainer[_ngcontent-%COMP%] .option.active[_ngcontent-%COMP%]{color:#fff;background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}@media only screen and (max-width:400px){.togglecontainer[_ngcontent-%COMP%] .option[_ngcontent-%COMP%] .fa-solid[_ngcontent-%COMP%]{display:none}}.testimonial[_ngcontent-%COMP%]{max-width:550px;margin:auto}"]})}}return e})();var Dn=class{constructor(n,t,r,i,o,s){this.name=n,this.url=t,this.runtimes=r,this.description=i,this.installOptions=o,this.executables=s}formatExecutable(n){return n.tool}formatArgument(n,t){if(t=t.trim(),t==="")return"";let r=t.indexOf(" ")>-1?'"':"";return`\r +${r}-${n}:${t}${r}`}formatArguments(n,t){return this.formatArgument(n,t.filter(r=>r!=null&&r.length!==0&&r.trim().length!==0).join(";"))}};var uc=class extends Dn{formatExecutable(n){let t=`- task: ${n.tool}@${Ge.majorVersion}`;return t+=`\r + displayName: ReportGenerator`,t+=`\r + inputs:`,t}formatArgument(n,t){if(t=t.trim(),t==="")return"";let r=t.indexOf(" ")>-1?"'":"";return`\r + ${n}: ${r}${t}${r}`}};var dc=class{constructor(){this.verbosities=["Verbose","Info","Warning","Error","Off"],this.types=["Html","Coverage tool","Json","Markdown","Xml","Text","Image"],this.reports=["cobertura.xml"],this.targetdir="coveragereport",this.reporttypes=[{name:"Html",types:["Html"],description:"The default output format. Creates a summary overview (index.html) and detailed reports for each class.",requiresHistoryDir:!1,checked:!0,sampleReport:"resources/reports/Html/index.html"},{name:"Html_Light",types:["Html"],description:"Same as Html but with a light theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Light/index.html"},{name:"Html_Dark",types:["Html"],description:"Same as Html but with a dark theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Dark/index.html"},{name:"Html_BlueRed",types:["Html"],description:"Same as Html but with the colors blue/red instead of green/red.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_BlueRed/index.html"},{name:"HtmlSummary",types:["Html"],description:"Creates a single HTML file (summary.html) without links.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlSummary/summary.html"},{name:"Html_BlueRed_Summary",types:["Html"],description:"Same as HtmlSummary but with the colors blue/red instead of green/red.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_BlueRed_Summary/summary.html"},{name:"HtmlChart",types:["Html"],description:"Creates a single HTML file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/HtmlChart/CoverageHistory.html"},{name:"HtmlInline",types:["Html"],description:"Same as HTML but CSS and JavaScript is included in every HTML page. This results in larger file sizes, but can be useful for integration into build servers like Azure DevOps (VSTS), since they may block referenced CSS and JavaScript files.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline/index.html"},{name:"HtmlInline_AzurePipelines",types:["Html"],description:"Same as HtmlInline but with an adaptive light/dark theme matching the look and feel of Azure Pipelines",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines/index.html"},{name:"HtmlInline_AzurePipelines_Light",types:["Html"],description:"Same as HtmlInline but with a light theme matching the look and feel of Azure Pipelines.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines_Light/index.html"},{name:"HtmlInline_AzurePipelines_Dark",types:["Html"],description:"Same as HtmlInline but with a dark theme matching the look and feel of Azure Pipelines.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines_Dark/index.html"},{name:"MHtml",types:["Html"],description:"Same as HTML but packaged into a single MHTML file.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MHtml/Summary.mht"},{name:"Clover",types:["Coverage tool"],description:"Creates a XML file in Clover format. This format integrates with tools like Atlassian Bamboo.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Clover/Clover.xml"},{name:"Cobertura",types:["Coverage tool"],description:"Creates a XML file in Cobertura format. This format integrates with tools like Azure DevOps (VSTS) or Jenkins.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Cobertura/Cobertura.xml"},{name:"OpenCover",types:["Coverage tool"],description:"Creates a XML file in OpenCover format (PRO version only).",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/OpenCover/OpenCover.xml"},{name:"SonarQube",types:["Coverage tool"],description:"Creates a XML file in SonarQube 'Generic Test Data' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/SonarQube/SonarQube.xml"},{name:"lcov",types:["Coverage tool"],description:"Creates a text file in 'lcov' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/lcov/lcov.info"},{name:"XML",types:["Xml"],description:"Creates a XML file containing a summary for all classes and detailed reports for each class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Xml/Summary.xml"},{name:"XMLSummary",types:["Xml"],description:"Creates a single XML file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/XmlSummary/Summary.xml"},{name:"JsonSummary",types:["Json"],description:"Creates a single JSON file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/JsonSummary/Summary.json"},{name:"CodeClimate",types:["Json"],description:"Creates a single JSON file containing a (Gitlab) code climate report.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/CodeClimate/codeclimate.json"},{name:"Latex",types:["Text"],description:"Creates a single TEX file containing a summary for all classes and detailed reports for each class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Summary/Summary.tex"},{name:"LatexSummary",types:["Text"],description:"Creates a single TEX file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/LatexSummary/Summary.tex"},{name:"TeamCitySummary",types:["Coverage tool"],description:"Command line output interpreted by TeamCity.",requiresHistoryDir:!1,checked:!1,sampleReport:null},{name:"TextSummary",types:["Text"],description:"Creates a single TXT file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/TextSummary/Summary.txt"},{name:"TextDeltaSummary",types:["Text"],description:"Creates a single TXT file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/TextDeltaSummary/DeltaSummary.txt"},{name:"CsvSummary",types:["Text"],description:"Creates a single CSV file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/CsvSummary/Summary.csv"},{name:"Markdown",types:["Text","Markdown"],description:"Creates a single Markdown file containing a summary for all classes and detailed reports for each class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Markdown/Summary.md"},{name:"MarkdownSummary",types:["Text","Markdown"],description:"Creates a single Markdown file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownSummary/Summary.md"},{name:"MarkdownAssembliesSummary",types:["Text","Markdown"],description:"Creates a single Markdown file containing coverage information per assembly.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownAssembliesSummary/Summary.md"},{name:"MarkdownSummaryGithub",types:["Text","Markdown"],description:"Creates a single Markdown file containing coverage information per class. The report is optimized for GitHub.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownSummaryGithub/SummaryGithub.md"},{name:"MarkdownDeltaSummary",types:["Text","Markdown"],description:"Creates a single Markdown file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/MarkdownDeltaSummary/DeltaSummary.md"},{name:"SvgChart",types:["Image"],description:"Creates a single SVG file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/SvgChart/CoverageHistory.svg"},{name:"Badges",types:["Image"],description:"Creates SVG files that show line and/or branch coverage information.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Badges/index.html"}],this.sourcedirectories=[],this.historydir="",this.plugins=[],this.assemblyfilters=[],this.classfilters=[],this.filefilters=[],this.riskhotspotassemblyfilters=[],this.riskhotspotclassfilters=[],this.selectedverbosity=this.verbosities[1],this.selectedType=null,this.title="",this.tag="",this.license=""}addSourceDirectory(){return this.sourcedirectories.push(""),!1}removeSourceDirectory(n){return this.sourcedirectories.splice(n,1),!1}addReport(){return this.reports.push(""),!1}removeReport(n){return this.reports.splice(n,1),!1}addPlugin(){return this.plugins.push(""),!1}removePlugin(n){return this.plugins.splice(n,1),!1}addAssemblyFilter(){return this.assemblyfilters.push(""),!1}removeAssemblyFilter(n){return this.assemblyfilters.splice(n,1),!1}addClassFilter(){return this.classfilters.push(""),!1}removeClassFilter(n){return this.classfilters.splice(n,1),!1}addFileFilter(){return this.filefilters.push(""),!1}removeFileFilter(n){return this.filefilters.splice(n,1),!1}addRiskHotspotAssemblyFilter(){return this.riskhotspotassemblyfilters.push(""),!1}removeRiskHotspotAssemblyFilter(n){return this.riskhotspotassemblyfilters.splice(n,1),!1}addRiskHotspotClassFilter(){return this.riskhotspotclassfilters.push(""),!1}removeRiskHotspotClassFilter(n){return this.riskhotspotclassfilters.splice(n,1),!1}getUsage(n,t){let r=n.executables.find(a=>a.runtime==t),i=r!==void 0?n.formatExecutable(r):"";i+=n.formatArguments("reports",this.reports),i+=n.formatArgument("targetdir",this.targetdir);for(var o="",s=0;s0&&(o+=";"),o+=this.reporttypes[s].name);return o.length>0&&o!=="Html"&&(i+=n.formatArgument("reporttypes",o)),i+=n.formatArguments("sourcedirs",this.sourcedirectories),i+=n.formatArgument("historydir",this.historydir),i+=n.formatArguments("plugins",this.plugins),i+=n.formatArguments("assemblyfilters",this.assemblyfilters),i+=n.formatArguments("classfilters",this.classfilters),i+=n.formatArguments("filefilters",this.filefilters),i+=n.formatArguments("riskhotspotassemblyfilters",this.riskhotspotassemblyfilters),i+=n.formatArguments("riskhotspotclassfilters",this.riskhotspotclassfilters),this.selectedverbosity!=="Info"&&(i+=n.formatArgument("verbosity",this.selectedverbosity)),i+=n.formatArgument("title",this.title),i+=n.formatArgument("tag",this.tag),i+=n.formatArgument("license",this.license),i}historyDirRequired(){for(let n=0;n-1?"'":"";return`\r + ${n}: ${r}${t}${r}`}};var Vi=class{constructor(n,t){this.tool=n,this.command=t}};var PT=()=>["/pro"],FT=e=>({"input-group":e}),LT=(e,n)=>({"btn-outline-primary":e,"btn-primary":n});function VT(e,n){if(e&1){let t=X();u(0,"div",5)(1,"label",33)(2,"input",34),z("ngModelChange",function(i){I(t);let o=E();return W(o.selectedEnvironment,i)||(o.selectedEnvironment=i),x(i)}),R("ngModelChange",function(){I(t);let i=E();return x(i.selectedEnvironmentChanged())}),d(),u(3,"b"),c(4),d(),h(5,"br"),u(6,"div",7),c(7),d()()()}if(e&2){let t=n.$implicit,r=E();g(2),G("ngModel",r.selectedEnvironment),w("value",t)("checked",r.selectedEnvironment.name===t.name),g(2),he(t.name),g(3),he(t.description)}}function jT(e,n){if(e&1){let t=X();u(0,"div",5)(1,"label",33)(2,"input",35),z("ngModelChange",function(i){I(t);let o=E(3);return W(o.selectedPackage,i)||(o.selectedPackage=i),x(i)}),d(),u(3,"b"),c(4),d(),h(5,"br"),u(6,"div",7),c(7),d()()()}if(e&2){let t=E().$implicit,r=E(2);g(2),G("ngModel",r.selectedPackage),w("value",t),g(2),he(t.name),g(3),he(t.description)}}function BT(e,n){if(e&1&&O(0,jT,8,4,"div",5),e&2){let t=n.$implicit,r=E(2);P(t.runtimes.indexOf(r.selectedEnvironment.name)>-1?0:-1)}}function UT(e,n){if(e&1&&(u(0,"h4"),c(1,"NuGet Package"),d(),Ie(2,BT,1,1,null,null,Pn),h(4,"hr")),e&2){let t=E();g(2),xe(t.packages)}}function HT(e,n){if(e&1){let t=X();u(0,"span",39),R("click",function(){I(t);let i=E().$index,o=E();return x(o.configuration.removeReport(i))}),u(1,"a",40),h(2,"i",41),d()()}}function $T(e,n){if(e&1){let t=X();u(0,"div",7)(1,"div",36)(2,"input",37),z("ngModelChange",function(i){let o=I(t).$index,s=E();return W(s.configuration.reports[o],i)||(s.configuration.reports[o]=i),x(i)}),d(),O(3,HT,3,0,"span",38),d()()}if(e&2){let t=n.$index,r=E();g(),w("ngClass",Fn(5,FT,t>0)),g(),w("name",Kt("report_",t)),G("ngModel",r.configuration.reports[t]),g(),P(t>0?3:-1)}}function GT(e,n){if(e&1){let t=X();u(0,"button",42),R("click",function(){let i=I(t).$implicit,o=E();return x(o.configuration.selectedType=o.configuration.selectedType===i?null:i)}),c(1),d()}if(e&2){let t=n.$implicit,r=E();w("ngClass",uf(2,LT,t!==r.configuration.selectedType,t===r.configuration.selectedType)),g(),he(t)}}function zT(e,n){if(e&1){let t=X();u(0,"span",45),h(1,"i",46),c(2," Please specify a "),u(3,"a",9),R("click",function(){I(t);let i=E(3);return x(i.scrollToHistoryDir())}),c(4,"history directory"),d()()}}function qT(e,n){if(e&1&&(h(0,"br",47),u(1,"a",27),c(2,"Sample report"),d(),c(3,"\xA0"),u(4,"a",27),h(5,"i",48),d()),e&2){let t=E(2).$implicit;g(),w("href",t.sampleReport,_r),g(3),w("href",t.sampleReport,_r)}}function WT(e,n){if(e&1){let t=X();u(0,"div",43)(1,"label",33)(2,"input",44),R("change",function(){I(t);let i=E().$implicit;return x(i.checked=!i.checked)}),d(),u(3,"b"),c(4),d(),O(5,zT,5,0,"span",45),h(6,"br"),u(7,"div",7),c(8),O(9,qT,6,2),d()()()}if(e&2){let t=E().$implicit,r=E();g(2),w("checked",t.checked),g(2),he(t.name),g(),P(t.checked&&t.requiresHistoryDir&&!r.configuration.historydir?5:-1),g(3),$e("",t.description," "),g(),P(t.sampleReport?9:-1)}}function ZT(e,n){if(e&1&&O(0,WT,10,5,"div",43),e&2){let t=n.$implicit,r=E();P(!r.configuration.selectedType||t.types.indexOf(r.configuration.selectedType)>-1?0:-1)}}function YT(e,n){if(e&1){let t=X();u(0,"div",8)(1,"div",49)(2,"input",50),z("ngModelChange",function(i){let o=I(t).$index,s=E();return W(s.configuration.sourcedirectories[o],i)||(s.configuration.sourcedirectories[o]=i),x(i)}),d(),u(3,"span",39),R("click",function(){let i=I(t).$index,o=E();return x(o.configuration.removeSourceDirectory(i))}),u(4,"a",40),h(5,"i",41),d()()()()}if(e&2){let t=n.$index,r=E();g(2),w("name",Kt("sourcedir_",t)),G("ngModel",r.configuration.sourcedirectories[t])}}function QT(e,n){if(e&1){let t=X();u(0,"div",8)(1,"div",49)(2,"input",51),z("ngModelChange",function(i){let o=I(t).$index,s=E();return W(s.configuration.plugins[o],i)||(s.configuration.plugins[o]=i),x(i)}),d(),u(3,"span",39),R("click",function(){let i=I(t).$index,o=E();return x(o.configuration.removePlugin(i))}),u(4,"a",40),h(5,"i",41),d()()()()}if(e&2){let t=n.$index,r=E();g(2),w("name",Kt("plugin_",t)),G("ngModel",r.configuration.plugins[t])}}function KT(e,n){if(e&1){let t=X();u(0,"div",8)(1,"div",49)(2,"input",52),z("ngModelChange",function(i){let o=I(t).$index,s=E();return W(s.configuration.assemblyfilters[o],i)||(s.configuration.assemblyfilters[o]=i),x(i)}),d(),u(3,"span",39),R("click",function(){let i=I(t).$index,o=E();return x(o.configuration.removeAssemblyFilter(i))}),u(4,"a",40),h(5,"i",41),d()()()()}if(e&2){let t=n.$index,r=E();g(2),w("name",Kt("assemblyfilter_",t)),G("ngModel",r.configuration.assemblyfilters[t])}}function JT(e,n){if(e&1){let t=X();u(0,"div",8)(1,"div",49)(2,"input",53),z("ngModelChange",function(i){let o=I(t).$index,s=E();return W(s.configuration.classfilters[o],i)||(s.configuration.classfilters[o]=i),x(i)}),d(),u(3,"span",39),R("click",function(){let i=I(t).$index,o=E();return x(o.configuration.removeClassFilter(i))}),u(4,"a",40),h(5,"i",41),d()()()()}if(e&2){let t=n.$index,r=E();g(2),w("name",Kt("classfilter_",t)),G("ngModel",r.configuration.classfilters[t])}}function XT(e,n){if(e&1){let t=X();u(0,"div",8)(1,"div",49)(2,"input",54),z("ngModelChange",function(i){let o=I(t).$index,s=E();return W(s.configuration.filefilters[o],i)||(s.configuration.filefilters[o]=i),x(i)}),d(),u(3,"span",39),R("click",function(){let i=I(t).$index,o=E();return x(o.configuration.removeFileFilter(i))}),u(4,"a",40),h(5,"i",41),d()()()()}if(e&2){let t=n.$index,r=E();g(2),w("name",Kt("filefilter_",t)),G("ngModel",r.configuration.filefilters[t])}}function eM(e,n){if(e&1){let t=X();u(0,"div",8)(1,"div",49)(2,"input",52),z("ngModelChange",function(i){let o=I(t).$index,s=E();return W(s.configuration.riskhotspotassemblyfilters[o],i)||(s.configuration.riskhotspotassemblyfilters[o]=i),x(i)}),d(),u(3,"span",39),R("click",function(){let i=I(t).$index,o=E();return x(o.configuration.removeRiskHotspotAssemblyFilter(i))}),u(4,"a",40),h(5,"i",41),d()()()()}if(e&2){let t=n.$index,r=E();g(2),w("name",Kt("riskhotspotassemblyfilter_",t)),G("ngModel",r.configuration.riskhotspotassemblyfilters[t])}}function tM(e,n){if(e&1){let t=X();u(0,"div",8)(1,"div",49)(2,"input",53),z("ngModelChange",function(i){let o=I(t).$index,s=E();return W(s.configuration.riskhotspotclassfilters[o],i)||(s.configuration.riskhotspotclassfilters[o]=i),x(i)}),d(),u(3,"span",39),R("click",function(){let i=I(t).$index,o=E();return x(o.configuration.removeRiskHotspotClassFilter(i))}),u(4,"a",40),h(5,"i",41),d()()()()}if(e&2){let t=n.$index,r=E();g(2),w("name",Kt("riskhotspotclassfilter_",t)),G("ngModel",r.configuration.riskhotspotclassfilters[t])}}function nM(e,n){if(e&1&&(u(0,"option",20),c(1),d()),e&2){let t=n.$implicit;w("value",t),g(),he(t)}}function rM(e,n){if(e&1&&(u(0,"div",28)(1,"b"),c(2),d(),h(3,"br"),u(4,"pre",30),c(5),d()()),e&2){let t=n.$implicit;g(2),he(t.tool),g(3),he(t.command)}}function iM(e,n){e&1&&(h(0,"i",55),c(1," Copied "))}function oM(e,n){e&1&&(h(0,"i",56),c(1," Copy "))}function sM(e,n){if(e&1&&(u(0,"div",28)(1,"b"),c(2),d(),h(3,"br"),u(4,"pre",30),c(5),d()()),e&2){let t=n.$implicit;g(2),he(t.tool),g(3),he(t.command)}}function aM(e,n){e&1&&(h(0,"i",55),c(1," Copied "))}function lM(e,n){e&1&&(h(0,"i",56),c(1," Copy "))}var H0=(()=>{class e{constructor(){this.versions=Ge,this.lastResult="",this.usageCopied=!1,this.configuration=new dc,this.environments=[new Fr(".NET",".NET Core"),new Fr(".NET Framework","The full .NET framework"),new Fr("Azure DevOps",null),new Fr("Github Action",null)],this.packages=[new Dn("ReportGenerator","https://www.nuget.org/packages/ReportGenerator",[".NET Framework",".NET"],"Use this package if your project is based on .NET Framework or .NET and you want to use ReportGenerator via the command line or a build script.",[new Vi("Package Manager",`Install-Package ReportGenerator -Version ${Ge.version}`),new Vi(".NET CLI",`dotnet add package ReportGenerator --version ${Ge.version}`)],[new Yn(".NET Framework",`$(UserProfile)\\.nuget\\packages\\reportgenerator\\${Ge.version}\\tools\\net47\\ReportGenerator.exe`),new Yn(".NET",`dotnet $(UserProfile)\\.nuget\\packages\\reportgenerator\\${Ge.version}\\tools\\net8.0\\ReportGenerator.dll`)]),new Dn("dotnet-reportgenerator-globaltool","https://www.nuget.org/packages/dotnet-reportgenerator-globaltool",[".NET"],"Use this package if your project is based on .NET and you want to use ReportGenerator as a (global) 'DotnetTool'.",[new Vi(".NET CLI",`dotnet tool install --global dotnet-reportgenerator-globaltool --version ${Ge.version}\r +\r +dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version ${Ge.version}\r +\r +dotnet new tool-manifest\r +dotnet tool install dotnet-reportgenerator-globaltool --version ${Ge.version}`)],[new Yn(".NET","reportgenerator")]),new uc("Azure DevOps","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator",["Azure DevOps"],"Use this package within Azure DevOps",[],[new Yn("Azure DevOps","reportgenerator")]),new fc("GitHub Action","https://github.com/marketplace/actions/reportgenerator",["Github Action"],"Use this package within Github Actions",[],[new Yn("Github Action","danielpalme/ReportGenerator-GitHub-Action")])],this.selectedEnvironment=this.environments[0],this.selectedPackage=this.packages[0]}selectedEnvironmentChanged(){this.selectedPackage=this.packages.find(t=>t.runtimes.indexOf(this.selectedEnvironment.name)>-1)}severalPackagesAvailable(){return this.packages.filter(t=>t.runtimes.indexOf(this.selectedEnvironment.name)>-1).length>1}getUsage(){let t=this.configuration.getUsage(this.selectedPackage,this.selectedEnvironment.name);return this.lastResult!==t&&(this.lastResult=t,this.usageCopied=!1),t}copy(){try{navigator.clipboard.writeText(this.getUsage()),this.usageCopied=!0}catch(t){console.error("Failed to copy license",t)}}scrollToHistoryDir(){return document.querySelector("#historydir").scrollIntoView(!0),!1}trackByIndex(t,r){return t}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=le({type:e,selectors:[["app-usage-component"]],decls:294,vars:18,consts:[[1,"container"],[1,"mb-4"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Settings","target","_blank"],[1,"row"],[1,"col-md-7"],[1,"form-check"],[1,"alert","alert-info"],[1,"mb-3"],[1,"input-group","mb-3"],["href","",3,"click"],[1,"fa","fa-plus-circle"],["type","text","name","targetdir","placeholder","The target directory","required","",1,"form-control",3,"ngModelChange","ngModel"],["href","https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip"],[1,"me-2"],["type","button",1,"btn","btn-sm","me-1","mb-1",3,"ngClass"],["id","historydir"],["type","text","name","historydir","placeholder","The history directory",1,"form-control",3,"ngModelChange","ngModel","required"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Custom-reports"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage"],["name","verbosity",1,"form-select",3,"ngModelChange","ngModel"],[3,"value"],["type","text","name","title","placeholder","Title",1,"form-control",3,"ngModelChange","ngModel"],["type","text","name","tag","placeholder","Optional tag or build version",1,"form-control",3,"ngModelChange","ngModel"],[3,"routerLink"],["type","text","name","license","placeholder","Optional license for PRO version","rows","4",1,"form-control",3,"ngModelChange","ngModel"],[1,"col-md-5"],[1,"d-md-none","mt-5"],["target","_blank",3,"href"],[1,"mt-2"],[1,"mt-4"],[1,"text-dark","bg-light","p-2","border"],[1,"btn","btn-outline-dark","mt-2",3,"click"],[1,"d-none","d-md-block","sticky"],[1,"form-check-label"],["type","radio","name","environment",1,"form-check-input",3,"ngModelChange","ngModel","value","checked"],["type","radio","name","package",1,"form-check-input",3,"ngModelChange","ngModel","value"],[3,"ngClass"],["type","text","placeholder","The path of the coverage file","required","",1,"form-control",3,"ngModelChange","name","ngModel"],[1,"input-group-text"],[1,"input-group-text",3,"click"],["href",""],[1,"fa","fa-trash","text-danger"],["type","button",1,"btn","btn-sm","me-1","mb-1",3,"click","ngClass"],[1,"form-check","mt-1"],["type","checkbox","name","reporttype",1,"form-check-input",3,"change","checked"],[1,"text-danger","ms-2"],[1,"fa-solid","fa-triangle-exclamation"],[1,"mt-1"],[1,"fa-solid","fa-arrow-up-right-from-square"],[1,"input-group"],["type","text","placeholder","The source directory","required","",1,"form-control",3,"ngModelChange","name","ngModel"],["type","text","placeholder","The path of the plugin","required","",1,"form-control",3,"ngModelChange","name","ngModel"],["type","text","placeholder","The include or exclude filter for assemlies","pattern","^[+-].+$","required","",1,"form-control",3,"ngModelChange","name","ngModel"],["type","text","placeholder","The include or exclude filter for classes","pattern","^[+-].+$","required","",1,"form-control",3,"ngModelChange","name","ngModel"],["type","text","placeholder","The include or exclude filter for files","pattern","^[+-].+$","required","",1,"form-control",3,"ngModelChange","name","ngModel"],[1,"fa-solid","fa-check","text-success"],[1,"fa-solid","fa-copy"]],template:function(r,i){r&1&&(u(0,"div",0)(1,"h1",1),c(2,"Usage"),d(),u(3,"p"),c(4,"The more advanced settings are documented in the "),u(5,"a",2),c(6,"wiki"),d(),c(7,"."),d(),u(8,"div",3)(9,"div",4)(10,"form")(11,"h3"),c(12,"Environment"),d(),Ie(13,VT,8,5,"div",5,Pn),h(15,"hr"),O(16,UT,5,0),u(17,"h3"),c(18,"Reports"),d(),u(19,"div",6),c(20,"Path to the coverage report(s) that should be parsed."),h(21,"br"),c(22,"Globbing is supported."),d(),Ie(23,$T,4,7,"div",7,i.trackByIndex,!0),u(25,"div",8)(26,"a",9),R("click",function(){return i.configuration.addReport()}),h(27,"i",10),c(28," Add report"),d()(),h(29,"br"),u(30,"h3"),c(31,"Target directory"),d(),u(32,"div",6),c(33,"The directory where the generated report(s) should be saved."),d(),u(34,"div",8)(35,"input",11),z("ngModelChange",function(s){return W(i.configuration.targetdir,s)||(i.configuration.targetdir=s),s}),d()(),h(36,"br"),u(37,"h3"),c(38,"Report types"),d(),u(39,"div",6),c(40,"Download "),u(41,"a",12),c(42,"sample reports"),d()(),u(43,"span",13),c(44,"Filter:"),d(),Ie(45,GT,2,5,"button",14,i.trackByIndex,!0),h(47,"br"),Ie(48,ZT,1,1,null,null,i.trackByIndex,!0),u(50,"h3"),c(51,"Source directories"),d(),u(52,"div",6),c(53,"Optional directories which contain the corresponding source code."),h(54,"br"),c(55,"The source directories are used if coverage report contains classes without path information."),d(),Ie(56,YT,6,3,"div",8,i.trackByIndex,!0),u(58,"div",8)(59,"a",9),R("click",function(){return i.configuration.addSourceDirectory()}),h(60,"i",10),c(61," Add source directory"),d()(),h(62,"br"),u(63,"h3",15),c(64,"History directory"),d(),u(65,"div",6),c(66,"Optional directory for storing "),u(67,"b"),c(68,"persistent"),d(),c(69," coverage information. Choose a directory which does not get deleted between builds."),h(70,"br"),c(71,"Required to show the history chart in the HTML reports."),d(),u(72,"div",8)(73,"input",16),z("ngModelChange",function(s){return W(i.configuration.historydir,s)||(i.configuration.historydir=s),s}),d()(),h(74,"br"),u(75,"h3"),c(76,"Plugins"),d(),u(77,"div",6),c(78,"Optional plugin files for "),u(79,"a",17),c(80,"custom reports"),d(),c(81," or "),u(82,"a",18),c(83,"custom history storage"),d(),c(84,"."),d(),Ie(85,QT,6,3,"div",8,i.trackByIndex,!0),u(87,"div",8)(88,"a",9),R("click",function(){return i.configuration.addPlugin()}),h(89,"i",10),c(90," Add plugin"),d()(),h(91,"br"),u(92,"h3"),c(93,"Assembly filters"),d(),u(94,"div",6),c(95,"Optional list of "),u(96,"b"),c(97,"assemblies"),d(),c(98," that should be included or excluded in the report. "),h(99,"br"),c(100,"Exclusion filters take precedence over inclusion filters. "),h(101,"br"),c(102,"Wildcards are allowed."),h(103,"br"),u(104,"p"),c(105,"Examples:"),h(106,"br"),u(107,"code"),c(108,"+Included"),d(),h(109,"br"),u(110,"code"),c(111,"-Excluded"),d()()(),Ie(112,KT,6,3,"div",8,i.trackByIndex,!0),u(114,"div",8)(115,"a",9),R("click",function(){return i.configuration.addAssemblyFilter()}),h(116,"i",10),c(117," Add assembly filter"),d()(),h(118,"br"),u(119,"h3"),c(120,"Class filters"),d(),u(121,"div",6),c(122,"Optional list of "),u(123,"b"),c(124,"classes"),d(),c(125," that should be included or excluded in the report. "),h(126,"br"),c(127,"Exclusion filters take precedence over inclusion filters. "),h(128,"br"),c(129,"Wildcards are allowed."),h(130,"br"),u(131,"p"),c(132,"Examples:"),h(133,"br"),u(134,"code"),c(135,"+Included"),d(),h(136,"br"),u(137,"code"),c(138,"-Excluded"),d()()(),Ie(139,JT,6,3,"div",8,i.trackByIndex,!0),u(141,"div",8)(142,"a",9),R("click",function(){return i.configuration.addClassFilter()}),h(143,"i",10),c(144," Add class filter"),d()(),h(145,"br"),u(146,"h3"),c(147,"File filters"),d(),u(148,"div",6),c(149,"Optional list of "),u(150,"b"),c(151,"files"),d(),c(152," that should be included or excluded in the report. "),h(153,"br"),c(154,"Exclusion filters take precedence over inclusion filters. "),h(155,"br"),c(156,"Wildcards are allowed."),h(157,"br"),u(158,"p"),c(159,"Examples:"),h(160,"br"),u(161,"code"),c(162,"+Included"),d(),h(163,"br"),u(164,"code"),c(165,"-Excluded"),d()()(),Ie(166,XT,6,3,"div",8,i.trackByIndex,!0),u(168,"div",8)(169,"a",9),R("click",function(){return i.configuration.addFileFilter()}),h(170,"i",10),c(171," Add file filter"),d()(),h(172,"br"),u(173,"h3"),c(174,"Risk Hotspots: Assembly filters"),d(),u(175,"div",6),c(176,"Optional list of "),u(177,"b"),c(178,"assemblies"),d(),c(179,` that should be included or excluded in the risk hotspots. +`),h(180,"br"),c(181,`Exclusion filters take precedence over inclusion filters. +`),h(182,"br"),c(183,"Wildcards are allowed."),h(184,"br"),u(185,"p"),c(186,"Examples:"),h(187,"br"),u(188,"code"),c(189,"+Included"),d(),h(190,"br"),u(191,"code"),c(192,"-Excluded"),d()()(),Ie(193,eM,6,3,"div",8,i.trackByIndex,!0),u(195,"div",8)(196,"a",9),R("click",function(){return i.configuration.addRiskHotspotAssemblyFilter()}),h(197,"i",10),c(198," Add assembly filter"),d()(),h(199,"br"),u(200,"h3"),c(201,"Risk Hotspots: Class filters"),d(),u(202,"div",6),c(203,"Optional list of "),u(204,"b"),c(205,"classes"),d(),c(206,` that should be included or excluded in the risk hotspots. +`),h(207,"br"),c(208,`Exclusion filters take precedence over inclusion filters. +`),h(209,"br"),c(210,"Wildcards are allowed."),h(211,"br"),u(212,"p"),c(213,"Examples:"),h(214,"br"),u(215,"code"),c(216,"+Included"),d(),h(217,"br"),u(218,"code"),c(219,"-Excluded"),d()()(),Ie(220,tM,6,3,"div",8,i.trackByIndex,!0),u(222,"div",8)(223,"a",9),R("click",function(){return i.configuration.addRiskHotspotClassFilter()}),h(224,"i",10),c(225," Add class filter"),d()(),h(226,"br"),u(227,"h3"),c(228,"Verbosity"),d(),u(229,"div",6),c(230,"The verbosity level of the log messages."),d(),u(231,"div",8)(232,"select",19),z("ngModelChange",function(s){return W(i.configuration.selectedverbosity,s)||(i.configuration.selectedverbosity=s),s}),Ie(233,nM,2,2,"option",20,i.trackByIndex,!0),d()(),h(235,"br"),u(236,"h3"),c(237,"Title"),d(),u(238,"div",6),c(239,"Optional title."),d(),u(240,"div",8)(241,"input",21),z("ngModelChange",function(s){return W(i.configuration.title,s)||(i.configuration.title=s),s}),d()(),h(242,"br"),u(243,"h3"),c(244,"Tag"),d(),u(245,"div",6),c(246,"Optional tag or build version."),d(),u(247,"div",8)(248,"input",22),z("ngModelChange",function(s){return W(i.configuration.tag,s)||(i.configuration.tag=s),s}),d()(),h(249,"br"),u(250,"h3"),c(251,"License"),d(),u(252,"div",6)(253,"p"),c(254,"Optional license. Get your license here: "),u(255,"a",23),c(256,"https://reportgenerator.io/pro"),d()(),c(257," License can also be supplied via "),u(258,"code"),c(259,"REPORTGENERATOR_LICENSE"),d(),c(260,` environment variable. +`),d(),u(261,"div",8)(262,"textarea",24),z("ngModelChange",function(s){return W(i.configuration.license,s)||(i.configuration.license=s),s}),d()()()(),u(263,"div",25)(264,"div",26)(265,"h3"),c(266,"Instructions"),d(),c(267," Install "),u(268,"a",27),c(269),d(),Ie(270,rM,6,2,"div",28,Pn),u(272,"h4",29),c(273,"Usage"),d(),u(274,"pre",30),c(275),d(),u(276,"button",31),R("click",function(){return i.copy()}),O(277,iM,2,0)(278,oM,2,0),d()(),u(279,"div",32)(280,"h3"),c(281,"Instructions"),d(),c(282," Install "),u(283,"a",27),c(284),d(),Ie(285,sM,6,2,"div",28,Pn),u(287,"h4",29),c(288,"Usage"),d(),u(289,"pre",30),c(290),d(),u(291,"button",31),R("click",function(){return i.copy()}),O(292,aM,2,0)(293,lM,2,0),d()()()()()),r&2&&(g(13),xe(i.environments),g(3),P(i.severalPackagesAvailable()?16:-1),g(7),xe(i.configuration.reports),g(12),G("ngModel",i.configuration.targetdir),g(10),xe(i.configuration.types),g(3),xe(i.configuration.reporttypes),g(8),xe(i.configuration.sourcedirectories),g(17),G("ngModel",i.configuration.historydir),w("required",i.configuration.historyDirRequired()),g(12),xe(i.configuration.plugins),g(27),xe(i.configuration.assemblyfilters),g(27),xe(i.configuration.classfilters),g(27),xe(i.configuration.filefilters),g(27),xe(i.configuration.riskhotspotassemblyfilters),g(27),xe(i.configuration.riskhotspotclassfilters),g(12),G("ngModel",i.configuration.selectedverbosity),g(),xe(i.configuration.verbosities),g(8),G("ngModel",i.configuration.title),g(7),G("ngModel",i.configuration.tag),g(7),w("routerLink",U(17,PT)),g(7),G("ngModel",i.configuration.license),g(6),w("href",i.selectedPackage.url,_r),g(),he(i.selectedPackage.name),g(),xe(i.selectedPackage.installOptions),g(5),he(i.getUsage()),g(2),P(i.usageCopied?277:278),g(6),w("href",i.selectedPackage.url,_r),g(),he(i.selectedPackage.name),g(),xe(i.selectedPackage.installOptions),g(5),he(i.getUsage()),g(2),P(i.usageCopied?292:293))},dependencies:[nn,Wn,tc,nc,tn,Fi,yp,zn,qn,En,Cp,Cn,yn,Ir,ke],styles:[".sticky[_ngcontent-%COMP%]{position:sticky;top:100px}"]})}}return e})();var Qn=" | ReportGenerator - Code coverage reports",cM=[{path:"",component:F0,pathMatch:"full",title:"Home"+Qn,data:{canonical:"/"}},{path:"features",component:O0,title:"Features"+Qn,data:{canonical:"/features"}},{path:"features.html",redirectTo:"/features"},{path:"getstarted",component:P0,title:"Get started"+Qn,data:{canonical:"/getstarted"}},{path:"getstarted.html",redirectTo:"/getstarted"},{path:"usage",component:H0,title:"Usage"+Qn,data:{canonical:"/usage"}},{path:"usage.html",redirectTo:"/usage"},{path:"pro",component:U0,title:"PRO"+Qn,data:{canonical:"/pro"}},{path:"pro.html",redirectTo:"/pro"},{path:"enterprise",component:k0,title:"Enterprise"+Qn,data:{canonical:"/enterprise"}},{path:"enterprise.html",redirectTo:"/enterprise"},{path:"contact",component:N0,title:"Contact"+Qn,data:{canonical:"/contact"}},{path:"contact.html",redirectTo:"/contact"},{path:"404",component:L0,title:"404 - Not found"+Qn},{path:"**",redirectTo:"/404"}],$0=(()=>{class e{static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275mod=Ye({type:e})}static{this.\u0275inj=Be({imports:[Hl.forRoot(cM,{scrollPositionRestoration:"enabled",scrollOffset:[0,0],anchorScrolling:"enabled"}),Hl]})}}return e})();ee.production&&void 0;xf(a0,{providers:[yv(),Ys(Tf,$0,nn),cc,Li,sc,Ff(Lf())]}).catch(e=>console.error(e)); diff --git a/docs/polyfills-EONH2QZO.js b/docs/polyfills-D5OGI5N6.js similarity index 53% rename from docs/polyfills-EONH2QZO.js rename to docs/polyfills-D5OGI5N6.js index 2ea78457..73bf552b 100644 --- a/docs/polyfills-EONH2QZO.js +++ b/docs/polyfills-D5OGI5N6.js @@ -1,2 +1,2 @@ -var ce=globalThis;function ee(e){return(ce.__Zone_symbol_prefix||"__zone_symbol__")+e}function dt(){let e=ce.performance;function r(N){e&&e.mark&&e.mark(N)}function c(N,_){e&&e.measure&&e.measure(N,_)}r("Zone");let t=(()=>{class N{static{this.__symbol__=ee}static assertZonePatched(){if(ce.Promise!==O.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let n=N.current;for(;n.parent;)n=n.parent;return n}static get current(){return b.zone}static get currentTask(){return S}static __load_patch(n,o,p=!1){if(O.hasOwnProperty(n)){let P=ce[ee("forceDuplicateZoneCheck")]===!0;if(!p&&P)throw Error("Already loaded patch: "+n)}else if(!ce["__Zone_disable_"+n]){let P="Zone:"+n;r(P),O[n]=o(ce,N,R),c(P,P)}}get parent(){return this._parent}get name(){return this._name}constructor(n,o){this._parent=n,this._name=o?o.name||"unnamed":"",this._properties=o&&o.properties||{},this._zoneDelegate=new u(this,this._parent&&this._parent._zoneDelegate,o)}get(n){let o=this.getZoneWith(n);if(o)return o._properties[n]}getZoneWith(n){let o=this;for(;o;){if(o._properties.hasOwnProperty(n))return o;o=o._parent}return null}fork(n){if(!n)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,n)}wrap(n,o){if(typeof n!="function")throw new Error("Expecting function got: "+n);let p=this._zoneDelegate.intercept(this,n,o),P=this;return function(){return P.runGuarded(p,this,arguments,o)}}run(n,o,p,P){b={parent:b,zone:this};try{return this._zoneDelegate.invoke(this,n,o,p,P)}finally{b=b.parent}}runGuarded(n,o=null,p,P){b={parent:b,zone:this};try{try{return this._zoneDelegate.invoke(this,n,o,p,P)}catch(q){if(this._zoneDelegate.handleError(this,q))throw q}}finally{b=b.parent}}runTask(n,o,p){if(n.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(n.zone||K).name+"; Execution: "+this.name+")");let P=n,{type:q,data:{isPeriodic:A=!1,isRefreshable:_e=!1}={}}=n;if(n.state===X&&(q===z||q===g))return;let ae=n.state!=j;ae&&P._transitionTo(j,h);let le=S;S=P,b={parent:b,zone:this};try{q==g&&n.data&&!A&&!_e&&(n.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,P,o,p)}catch(ne){if(this._zoneDelegate.handleError(this,ne))throw ne}}finally{let ne=n.state;if(ne!==X&&ne!==Y)if(q==z||A||_e&&ne===k)ae&&P._transitionTo(h,j,k);else{let f=P._zoneDelegates;this._updateTaskCount(P,-1),ae&&P._transitionTo(X,j,X),_e&&(P._zoneDelegates=f)}b=b.parent,S=le}}scheduleTask(n){if(n.zone&&n.zone!==this){let p=this;for(;p;){if(p===n.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${n.zone.name}`);p=p.parent}}n._transitionTo(k,X);let o=[];n._zoneDelegates=o,n._zone=this;try{n=this._zoneDelegate.scheduleTask(this,n)}catch(p){throw n._transitionTo(Y,k,X),this._zoneDelegate.handleError(this,p),p}return n._zoneDelegates===o&&this._updateTaskCount(n,1),n.state==k&&n._transitionTo(h,k),n}scheduleMicroTask(n,o,p,P){return this.scheduleTask(new E(G,n,o,p,P,void 0))}scheduleMacroTask(n,o,p,P,q){return this.scheduleTask(new E(g,n,o,p,P,q))}scheduleEventTask(n,o,p,P,q){return this.scheduleTask(new E(z,n,o,p,P,q))}cancelTask(n){if(n.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(n.zone||K).name+"; Execution: "+this.name+")");if(!(n.state!==h&&n.state!==j)){n._transitionTo(V,h,j);try{this._zoneDelegate.cancelTask(this,n)}catch(o){throw n._transitionTo(Y,V),this._zoneDelegate.handleError(this,o),o}return this._updateTaskCount(n,-1),n._transitionTo(X,V),n.runCount=-1,n}}_updateTaskCount(n,o){let p=n._zoneDelegates;o==-1&&(n._zoneDelegates=null);for(let P=0;PN.hasTask(n,o),onScheduleTask:(N,_,n,o)=>N.scheduleTask(n,o),onInvokeTask:(N,_,n,o,p,P)=>N.invokeTask(n,o,p,P),onCancelTask:(N,_,n,o)=>N.cancelTask(n,o)};class u{get zone(){return this._zone}constructor(_,n,o){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this._zone=_,this._parentDelegate=n,this._forkZS=o&&(o&&o.onFork?o:n._forkZS),this._forkDlgt=o&&(o.onFork?n:n._forkDlgt),this._forkCurrZone=o&&(o.onFork?this._zone:n._forkCurrZone),this._interceptZS=o&&(o.onIntercept?o:n._interceptZS),this._interceptDlgt=o&&(o.onIntercept?n:n._interceptDlgt),this._interceptCurrZone=o&&(o.onIntercept?this._zone:n._interceptCurrZone),this._invokeZS=o&&(o.onInvoke?o:n._invokeZS),this._invokeDlgt=o&&(o.onInvoke?n:n._invokeDlgt),this._invokeCurrZone=o&&(o.onInvoke?this._zone:n._invokeCurrZone),this._handleErrorZS=o&&(o.onHandleError?o:n._handleErrorZS),this._handleErrorDlgt=o&&(o.onHandleError?n:n._handleErrorDlgt),this._handleErrorCurrZone=o&&(o.onHandleError?this._zone:n._handleErrorCurrZone),this._scheduleTaskZS=o&&(o.onScheduleTask?o:n._scheduleTaskZS),this._scheduleTaskDlgt=o&&(o.onScheduleTask?n:n._scheduleTaskDlgt),this._scheduleTaskCurrZone=o&&(o.onScheduleTask?this._zone:n._scheduleTaskCurrZone),this._invokeTaskZS=o&&(o.onInvokeTask?o:n._invokeTaskZS),this._invokeTaskDlgt=o&&(o.onInvokeTask?n:n._invokeTaskDlgt),this._invokeTaskCurrZone=o&&(o.onInvokeTask?this._zone:n._invokeTaskCurrZone),this._cancelTaskZS=o&&(o.onCancelTask?o:n._cancelTaskZS),this._cancelTaskDlgt=o&&(o.onCancelTask?n:n._cancelTaskDlgt),this._cancelTaskCurrZone=o&&(o.onCancelTask?this._zone:n._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;let p=o&&o.onHasTask,P=n&&n._hasTaskZS;(p||P)&&(this._hasTaskZS=p?o:i,this._hasTaskDlgt=n,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=this._zone,o.onScheduleTask||(this._scheduleTaskZS=i,this._scheduleTaskDlgt=n,this._scheduleTaskCurrZone=this._zone),o.onInvokeTask||(this._invokeTaskZS=i,this._invokeTaskDlgt=n,this._invokeTaskCurrZone=this._zone),o.onCancelTask||(this._cancelTaskZS=i,this._cancelTaskDlgt=n,this._cancelTaskCurrZone=this._zone))}fork(_,n){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,_,n):new t(_,n)}intercept(_,n,o){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,_,n,o):n}invoke(_,n,o,p,P){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,_,n,o,p,P):n.apply(o,p)}handleError(_,n){return this._handleErrorZS?this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,_,n):!0}scheduleTask(_,n){let o=n;if(this._scheduleTaskZS)this._hasTaskZS&&o._zoneDelegates.push(this._hasTaskDlgtOwner),o=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,_,n),o||(o=n);else if(n.scheduleFn)n.scheduleFn(n);else if(n.type==G)U(n);else throw new Error("Task is missing scheduleFn.");return o}invokeTask(_,n,o,p){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,_,n,o,p):n.callback.apply(o,p)}cancelTask(_,n){let o;if(this._cancelTaskZS)o=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,_,n);else{if(!n.cancelFn)throw Error("Task is not cancelable");o=n.cancelFn(n)}return o}hasTask(_,n){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,_,n)}catch(o){this.handleError(_,o)}}_updateTaskCount(_,n){let o=this._taskCounts,p=o[_],P=o[_]=p+n;if(P<0)throw new Error("More tasks executed then were scheduled.");if(p==0||P==0){let q={microTask:o.microTask>0,macroTask:o.macroTask>0,eventTask:o.eventTask>0,change:_};this.hasTask(this._zone,q)}}}class E{constructor(_,n,o,p,P,q){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=_,this.source=n,this.data=p,this.scheduleFn=P,this.cancelFn=q,!o)throw new Error("callback is not defined");this.callback=o;let A=this;_===z&&p&&p.useG?this.invoke=E.invokeTask:this.invoke=function(){return E.invokeTask.call(ce,A,this,arguments)}}static invokeTask(_,n,o){_||(_=this),Q++;try{return _.runCount++,_.zone.runTask(_,n,o)}finally{Q==1&&J(),Q--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(X,k)}_transitionTo(_,n,o){if(this._state===n||this._state===o)this._state=_,_==X&&(this._zoneDelegates=null);else throw new Error(`${this.type} '${this.source}': can not transition to '${_}', expecting state '${n}'${o?" or '"+o+"'":""}, was '${this._state}'.`)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}let T=ee("setTimeout"),y=ee("Promise"),D=ee("then"),d=[],w=!1,Z;function x(N){if(Z||ce[y]&&(Z=ce[y].resolve(0)),Z){let _=Z[D];_||(_=Z.then),_.call(Z,N)}else ce[T](N,0)}function U(N){Q===0&&d.length===0&&x(J),N&&d.push(N)}function J(){if(!w){for(w=!0;d.length;){let N=d;d=[];for(let _=0;_b,onUnhandledError:W,microtaskDrainDone:W,scheduleMicroTask:U,showUncaughtError:()=>!t[ee("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:W,patchMethod:()=>W,bindArguments:()=>[],patchThen:()=>W,patchMacroTask:()=>W,patchEventPrototype:()=>W,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>W,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>W,wrapWithCurrentZone:()=>W,filterProperties:()=>[],attachOriginToPatched:()=>W,_redefineProperty:()=>W,patchCallbacks:()=>W,nativeScheduleMicroTask:x},b={parent:null,zone:new t(null,null)},S=null,Q=0;function W(){}return c("Zone","Zone"),t}function _t(){let e=globalThis,r=e[ee("forceDuplicateZoneCheck")]===!0;if(e.Zone&&(r||typeof e.Zone.__symbol__!="function"))throw new Error("Zone already loaded.");return e.Zone??=dt(),e.Zone}var be=Object.getOwnPropertyDescriptor,Ae=Object.defineProperty,je=Object.getPrototypeOf,Et=Object.create,Tt=Array.prototype.slice,He="addEventListener",xe="removeEventListener",Le=ee(He),Ie=ee(xe),ue="true",fe="false",Pe=ee("");function Ve(e,r){return Zone.current.wrap(e,r)}function Ge(e,r,c,t,i){return Zone.current.scheduleMacroTask(e,r,c,t,i)}var H=ee,De=typeof window<"u",pe=De?window:void 0,$=De&&pe||globalThis,gt="removeAttribute";function Fe(e,r){for(let c=e.length-1;c>=0;c--)typeof e[c]=="function"&&(e[c]=Ve(e[c],r+"_"+c));return e}function mt(e,r){let c=e.constructor.name;for(let t=0;t{let y=function(){return T.apply(this,Fe(arguments,c+"."+i))};return de(y,T),y})(u)}}}function tt(e){return e?e.writable===!1?!1:!(typeof e.get=="function"&&typeof e.set>"u"):!0}var nt=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Se=!("nw"in $)&&typeof $.process<"u"&&$.process.toString()==="[object process]",Be=!Se&&!nt&&!!(De&&pe.HTMLElement),rt=typeof $.process<"u"&&$.process.toString()==="[object process]"&&!nt&&!!(De&&pe.HTMLElement),Ce={},yt=H("enable_beforeunload"),Ye=function(e){if(e=e||$.event,!e)return;let r=Ce[e.type];r||(r=Ce[e.type]=H("ON_PROPERTY"+e.type));let c=this||e.target||$,t=c[r],i;if(Be&&c===pe&&e.type==="error"){let u=e;i=t&&t.call(this,u.message,u.filename,u.lineno,u.colno,u.error),i===!0&&e.preventDefault()}else i=t&&t.apply(this,arguments),e.type==="beforeunload"&&$[yt]&&typeof i=="string"?e.returnValue=i:i!=null&&!i&&e.preventDefault();return i};function $e(e,r,c){let t=be(e,r);if(!t&&c&&be(c,r)&&(t={enumerable:!0,configurable:!0}),!t||!t.configurable)return;let i=H("on"+r+"patched");if(e.hasOwnProperty(i)&&e[i])return;delete t.writable,delete t.value;let u=t.get,E=t.set,T=r.slice(2),y=Ce[T];y||(y=Ce[T]=H("ON_PROPERTY"+T)),t.set=function(D){let d=this;if(!d&&e===$&&(d=$),!d)return;typeof d[y]=="function"&&d.removeEventListener(T,Ye),E&&E.call(d,null),d[y]=D,typeof D=="function"&&d.addEventListener(T,Ye,!1)},t.get=function(){let D=this;if(!D&&e===$&&(D=$),!D)return null;let d=D[y];if(d)return d;if(u){let w=u.call(this);if(w)return t.set.call(this,w),typeof D[gt]=="function"&&D.removeAttribute(r),w}return null},Ae(e,r,t),e[i]=!0}function ot(e,r,c){if(r)for(let t=0;tfunction(E,T){let y=c(E,T);return y.cbIdx>=0&&typeof T[y.cbIdx]=="function"?Ge(y.name,T[y.cbIdx],y,i):u.apply(E,T)})}function de(e,r){e[H("OriginalDelegate")]=r}var Je=!1,Me=!1;function kt(){try{let e=pe.navigator.userAgent;if(e.indexOf("MSIE ")!==-1||e.indexOf("Trident/")!==-1)return!0}catch{}return!1}function vt(){if(Je)return Me;Je=!0;try{let e=pe.navigator.userAgent;(e.indexOf("MSIE ")!==-1||e.indexOf("Trident/")!==-1||e.indexOf("Edge/")!==-1)&&(Me=!0)}catch{}return Me}function Ke(e){return typeof e=="function"}function Qe(e){return typeof e=="number"}var ye=!1;if(typeof window<"u")try{let e=Object.defineProperty({},"passive",{get:function(){ye=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{ye=!1}var bt={useG:!0},te={},st={},it=new RegExp("^"+Pe+"(\\w+)(true|false)$"),ct=H("propagationStopped");function at(e,r){let c=(r?r(e):e)+fe,t=(r?r(e):e)+ue,i=Pe+c,u=Pe+t;te[e]={},te[e][fe]=i,te[e][ue]=u}function Pt(e,r,c,t){let i=t&&t.add||He,u=t&&t.rm||xe,E=t&&t.listeners||"eventListeners",T=t&&t.rmAll||"removeAllListeners",y=H(i),D="."+i+":",d="prependListener",w="."+d+":",Z=function(k,h,j){if(k.isRemoved)return;let V=k.callback;typeof V=="object"&&V.handleEvent&&(k.callback=g=>V.handleEvent(g),k.originalDelegate=V);let Y;try{k.invoke(k,h,[j])}catch(g){Y=g}let G=k.options;if(G&&typeof G=="object"&&G.once){let g=k.originalDelegate?k.originalDelegate:k.callback;h[u].call(h,j.type,g,G)}return Y};function x(k,h,j){if(h=h||e.event,!h)return;let V=k||h.target||e,Y=V[te[h.type][j?ue:fe]];if(Y){let G=[];if(Y.length===1){let g=Z(Y[0],V,h);g&&G.push(g)}else{let g=Y.slice();for(let z=0;z{throw z})}}}let U=function(k){return x(this,k,!1)},J=function(k){return x(this,k,!0)};function K(k,h){if(!k)return!1;let j=!0;h&&h.useG!==void 0&&(j=h.useG);let V=h&&h.vh,Y=!0;h&&h.chkDup!==void 0&&(Y=h.chkDup);let G=!1;h&&h.rt!==void 0&&(G=h.rt);let g=k;for(;g&&!g.hasOwnProperty(i);)g=je(g);if(!g&&k[i]&&(g=k),!g||g[y])return!1;let z=h&&h.eventNameToString,O={},R=g[y]=g[i],b=g[H(u)]=g[u],S=g[H(E)]=g[E],Q=g[H(T)]=g[T],W;h&&h.prepend&&(W=g[H(h.prepend)]=g[h.prepend]);function N(s,l){return!ye&&typeof s=="object"&&s?!!s.capture:!ye||!l?s:typeof s=="boolean"?{capture:s,passive:!0}:s?typeof s=="object"&&s.passive!==!1?{...s,passive:!0}:s:{passive:!0}}let _=function(s){if(!O.isExisting)return R.call(O.target,O.eventName,O.capture?J:U,O.options)},n=function(s){if(!s.isRemoved){let l=te[s.eventName],v;l&&(v=l[s.capture?ue:fe]);let C=v&&s.target[v];if(C){for(let m=0;mre.zone.cancelTask(re);s.call(Te,"abort",ie,{once:!0}),re.removeAbortListener=()=>Te.removeEventListener("abort",ie)}if(O.target=null,ke&&(ke.taskData=null),Ue&&(O.options.once=!0),!ye&&typeof re.options=="boolean"||(re.options=se),re.target=I,re.capture=Oe,re.eventName=M,B&&(re.originalDelegate=F),L?ge.unshift(re):ge.push(re),m)return I}};return g[i]=a(R,D,q,A,G),W&&(g[d]=a(W,w,p,A,G,!0)),g[u]=function(){let s=this||e,l=arguments[0];h&&h.transferEventName&&(l=h.transferEventName(l));let v=arguments[2],C=v?typeof v=="boolean"?!0:v.capture:!1,m=arguments[1];if(!m)return b.apply(this,arguments);if(V&&!V(b,m,s,arguments))return;let L=te[l],I;L&&(I=L[C?ue:fe]);let M=I&&s[I];if(M)for(let F=0;Ffunction(i,u){i[ct]=!0,t&&t.apply(i,u)})}function Rt(e,r){r.patchMethod(e,"queueMicrotask",c=>function(t,i){Zone.current.scheduleMicroTask("queueMicrotask",i[0])})}var Re=H("zoneTask");function me(e,r,c,t){let i=null,u=null;r+=t,c+=t;let E={};function T(D){let d=D.data;d.args[0]=function(){return D.invoke.apply(this,arguments)};let w=i.apply(e,d.args);return Qe(w)?d.handleId=w:(d.handle=w,d.isRefreshable=Ke(w.refresh)),D}function y(D){let{handle:d,handleId:w}=D.data;return u.call(e,d??w)}i=he(e,r,D=>function(d,w){if(Ke(w[0])){let Z={isRefreshable:!1,isPeriodic:t==="Interval",delay:t==="Timeout"||t==="Interval"?w[1]||0:void 0,args:w},x=w[0];w[0]=function(){try{return x.apply(this,arguments)}finally{let{handle:j,handleId:V,isPeriodic:Y,isRefreshable:G}=Z;!Y&&!G&&(V?delete E[V]:j&&(j[Re]=null))}};let U=Ge(r,w[0],Z,T,y);if(!U)return U;let{handleId:J,handle:K,isRefreshable:X,isPeriodic:k}=U.data;if(J)E[J]=U;else if(K&&(K[Re]=U,X&&!k)){let h=K.refresh;K.refresh=function(){let{zone:j,state:V}=U;return V==="notScheduled"?(U._state="scheduled",j._updateTaskCount(U,1)):V==="running"&&(U._state="scheduling"),h.call(this)}}return K??J??U}else return D.apply(e,w)}),u=he(e,c,D=>function(d,w){let Z=w[0],x;Qe(Z)?(x=E[Z],delete E[Z]):(x=Z?.[Re],x?Z[Re]=null:x=Z),x?.type?x.cancelFn&&x.zone.cancelTask(x):D.apply(e,w)})}function Ct(e,r){let{isBrowser:c,isMix:t}=r.getGlobalObjects();if(!c&&!t||!e.customElements||!("customElements"in e))return;let i=["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback","formAssociatedCallback","formDisabledCallback","formResetCallback","formStateRestoreCallback"];r.patchCallbacks(r,e.customElements,"customElements","define",i)}function Dt(e,r){if(Zone[r.symbol("patchEventTarget")])return;let{eventNames:c,zoneSymbolEventNames:t,TRUE_STR:i,FALSE_STR:u,ZONE_SYMBOL_PREFIX:E}=r.getGlobalObjects();for(let y=0;yu.target===e);if(!t||t.length===0)return r;let i=t[0].ignoreProperties;return r.filter(u=>i.indexOf(u)===-1)}function et(e,r,c,t){if(!e)return;let i=ut(e,r,c);ot(e,i,t)}function Ze(e){return Object.getOwnPropertyNames(e).filter(r=>r.startsWith("on")&&r.length>2).map(r=>r.substring(2))}function Ot(e,r){if(Se&&!rt||Zone[e.symbol("patchEvents")])return;let c=r.__Zone_ignore_on_properties,t=[];if(Be){let i=window;t=t.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);let u=kt()?[{target:i,ignoreProperties:["error"]}]:[];et(i,Ze(i),c&&c.concat(u),je(i))}t=t.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let i=0;i{let c=r[e.__symbol__("legacyPatch")];c&&c()}),e.__load_patch("timers",r=>{let c="set",t="clear";me(r,c,t,"Timeout"),me(r,c,t,"Interval"),me(r,c,t,"Immediate")}),e.__load_patch("requestAnimationFrame",r=>{me(r,"request","cancel","AnimationFrame"),me(r,"mozRequest","mozCancel","AnimationFrame"),me(r,"webkitRequest","webkitCancel","AnimationFrame")}),e.__load_patch("blocking",(r,c)=>{let t=["alert","prompt","confirm"];for(let i=0;ifunction(D,d){return c.current.run(E,r,d,y)})}}),e.__load_patch("EventTarget",(r,c,t)=>{St(r,t),Dt(r,t);let i=r.XMLHttpRequestEventTarget;i&&i.prototype&&t.patchEventTarget(r,t,[i.prototype])}),e.__load_patch("MutationObserver",(r,c,t)=>{ve("MutationObserver"),ve("WebKitMutationObserver")}),e.__load_patch("IntersectionObserver",(r,c,t)=>{ve("IntersectionObserver")}),e.__load_patch("FileReader",(r,c,t)=>{ve("FileReader")}),e.__load_patch("on_property",(r,c,t)=>{Ot(t,r)}),e.__load_patch("customElements",(r,c,t)=>{Ct(r,t)}),e.__load_patch("XHR",(r,c)=>{D(r);let t=H("xhrTask"),i=H("xhrSync"),u=H("xhrListener"),E=H("xhrScheduled"),T=H("xhrURL"),y=H("xhrErrorBeforeScheduled");function D(d){let w=d.XMLHttpRequest;if(!w)return;let Z=w.prototype;function x(R){return R[t]}let U=Z[Le],J=Z[Ie];if(!U){let R=d.XMLHttpRequestEventTarget;if(R){let b=R.prototype;U=b[Le],J=b[Ie]}}let K="readystatechange",X="scheduled";function k(R){let b=R.data,S=b.target;S[E]=!1,S[y]=!1;let Q=S[u];U||(U=S[Le],J=S[Ie]),Q&&J.call(S,K,Q);let W=S[u]=()=>{if(S.readyState===S.DONE)if(!b.aborted&&S[E]&&R.state===X){let _=S[c.__symbol__("loadfalse")];if(S.status!==0&&_&&_.length>0){let n=R.invoke;R.invoke=function(){let o=S[c.__symbol__("loadfalse")];for(let p=0;pfunction(R,b){return R[i]=b[2]==!1,R[T]=b[1],V.apply(R,b)}),Y="XMLHttpRequest.send",G=H("fetchTaskAborting"),g=H("fetchTaskScheduling"),z=he(Z,"send",()=>function(R,b){if(c.current[g]===!0||R[i])return z.apply(R,b);{let S={target:R,url:R[T],isPeriodic:!1,args:b,aborted:!1},Q=Ge(Y,h,S,k,j);R&&R[y]===!0&&!S.aborted&&Q.state===X&&Q.invoke()}}),O=he(Z,"abort",()=>function(R,b){let S=x(R);if(S&&typeof S.type=="string"){if(S.cancelFn==null||S.data&&S.data.aborted)return;S.zone.cancelTask(S)}else if(c.current[G]===!0)return O.apply(R,b)})}}),e.__load_patch("geolocation",r=>{r.navigator&&r.navigator.geolocation&&mt(r.navigator.geolocation,["getCurrentPosition","watchPosition"])}),e.__load_patch("PromiseRejectionEvent",(r,c)=>{function t(i){return function(u){lt(r,i).forEach(T=>{let y=r.PromiseRejectionEvent;if(y){let D=new y(i,{promise:u.promise,reason:u.rejection});T.invoke(D)}})}}r.PromiseRejectionEvent&&(c[H("unhandledPromiseRejectionHandler")]=t("unhandledrejection"),c[H("rejectionHandledHandler")]=t("rejectionhandled"))}),e.__load_patch("queueMicrotask",(r,c,t)=>{Rt(r,t)})}function Lt(e){e.__load_patch("ZoneAwarePromise",(r,c,t)=>{let i=Object.getOwnPropertyDescriptor,u=Object.defineProperty;function E(f){if(f&&f.toString===Object.prototype.toString){let a=f.constructor&&f.constructor.name;return(a||"")+": "+JSON.stringify(f)}return f?f.toString():Object.prototype.toString.call(f)}let T=t.symbol,y=[],D=r[T("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")]!==!1,d=T("Promise"),w=T("then"),Z="__creationTrace__";t.onUnhandledError=f=>{if(t.showUncaughtError()){let a=f&&f.rejection;a?console.error("Unhandled Promise rejection:",a instanceof Error?a.message:a,"; Zone:",f.zone.name,"; Task:",f.task&&f.task.source,"; Value:",a,a instanceof Error?a.stack:void 0):console.error(f)}},t.microtaskDrainDone=()=>{for(;y.length;){let f=y.shift();try{f.zone.runGuarded(()=>{throw f.throwOriginal?f.rejection:f})}catch(a){U(a)}}};let x=T("unhandledPromiseRejectionHandler");function U(f){t.onUnhandledError(f);try{let a=c[x];typeof a=="function"&&a.call(this,f)}catch{}}function J(f){return f&&f.then}function K(f){return f}function X(f){return A.reject(f)}let k=T("state"),h=T("value"),j=T("finally"),V=T("parentPromiseValue"),Y=T("parentPromiseState"),G="Promise.then",g=null,z=!0,O=!1,R=0;function b(f,a){return s=>{try{N(f,a,s)}catch(l){N(f,!1,l)}}}let S=function(){let f=!1;return function(s){return function(){f||(f=!0,s.apply(null,arguments))}}},Q="Promise resolved with itself",W=T("currentTaskTrace");function N(f,a,s){let l=S();if(f===s)throw new TypeError(Q);if(f[k]===g){let v=null;try{(typeof s=="object"||typeof s=="function")&&(v=s&&s.then)}catch(C){return l(()=>{N(f,!1,C)})(),f}if(a!==O&&s instanceof A&&s.hasOwnProperty(k)&&s.hasOwnProperty(h)&&s[k]!==g)n(s),N(f,s[k],s[h]);else if(a!==O&&typeof v=="function")try{v.call(s,l(b(f,a)),l(b(f,!1)))}catch(C){l(()=>{N(f,!1,C)})()}else{f[k]=a;let C=f[h];if(f[h]=s,f[j]===j&&a===z&&(f[k]=f[Y],f[h]=f[V]),a===O&&s instanceof Error){let m=c.currentTask&&c.currentTask.data&&c.currentTask.data[Z];m&&u(s,W,{configurable:!0,enumerable:!1,writable:!0,value:m})}for(let m=0;m{class N{static{this.__symbol__=ee}static assertZonePatched(){if(ce.Promise!==O.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let n=N.current;for(;n.parent;)n=n.parent;return n}static get current(){return b.zone}static get currentTask(){return S}static __load_patch(n,o,p=!1){if(O.hasOwnProperty(n)){let P=ce[ee("forceDuplicateZoneCheck")]===!0;if(!p&&P)throw Error("Already loaded patch: "+n)}else if(!ce["__Zone_disable_"+n]){let P="Zone:"+n;r(P),O[n]=o(ce,N,R),c(P,P)}}get parent(){return this._parent}get name(){return this._name}constructor(n,o){this._parent=n,this._name=o?o.name||"unnamed":"",this._properties=o&&o.properties||{},this._zoneDelegate=new u(this,this._parent&&this._parent._zoneDelegate,o)}get(n){let o=this.getZoneWith(n);if(o)return o._properties[n]}getZoneWith(n){let o=this;for(;o;){if(o._properties.hasOwnProperty(n))return o;o=o._parent}return null}fork(n){if(!n)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,n)}wrap(n,o){if(typeof n!="function")throw new Error("Expecting function got: "+n);let p=this._zoneDelegate.intercept(this,n,o),P=this;return function(){return P.runGuarded(p,this,arguments,o)}}run(n,o,p,P){b={parent:b,zone:this};try{return this._zoneDelegate.invoke(this,n,o,p,P)}finally{b=b.parent}}runGuarded(n,o=null,p,P){b={parent:b,zone:this};try{try{return this._zoneDelegate.invoke(this,n,o,p,P)}catch(q){if(this._zoneDelegate.handleError(this,q))throw q}}finally{b=b.parent}}runTask(n,o,p){if(n.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(n.zone||K).name+"; Execution: "+this.name+")");let P=n,{type:q,data:{isPeriodic:A=!1,isRefreshable:_e=!1}={}}=n;if(n.state===X&&(q===z||q===g))return;let ae=n.state!=j;ae&&P._transitionTo(j,h);let le=S;S=P,b={parent:b,zone:this};try{q==g&&n.data&&!A&&!_e&&(n.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,P,o,p)}catch(ne){if(this._zoneDelegate.handleError(this,ne))throw ne}}finally{let ne=n.state;if(ne!==X&&ne!==Y)if(q==z||A||_e&&ne===k)ae&&P._transitionTo(h,j,k);else{let f=P._zoneDelegates;this._updateTaskCount(P,-1),ae&&P._transitionTo(X,j,X),_e&&(P._zoneDelegates=f)}b=b.parent,S=le}}scheduleTask(n){if(n.zone&&n.zone!==this){let p=this;for(;p;){if(p===n.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${n.zone.name}`);p=p.parent}}n._transitionTo(k,X);let o=[];n._zoneDelegates=o,n._zone=this;try{n=this._zoneDelegate.scheduleTask(this,n)}catch(p){throw n._transitionTo(Y,k,X),this._zoneDelegate.handleError(this,p),p}return n._zoneDelegates===o&&this._updateTaskCount(n,1),n.state==k&&n._transitionTo(h,k),n}scheduleMicroTask(n,o,p,P){return this.scheduleTask(new E(G,n,o,p,P,void 0))}scheduleMacroTask(n,o,p,P,q){return this.scheduleTask(new E(g,n,o,p,P,q))}scheduleEventTask(n,o,p,P,q){return this.scheduleTask(new E(z,n,o,p,P,q))}cancelTask(n){if(n.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(n.zone||K).name+"; Execution: "+this.name+")");if(!(n.state!==h&&n.state!==j)){n._transitionTo(V,h,j);try{this._zoneDelegate.cancelTask(this,n)}catch(o){throw n._transitionTo(Y,V),this._zoneDelegate.handleError(this,o),o}return this._updateTaskCount(n,-1),n._transitionTo(X,V),n.runCount=-1,n}}_updateTaskCount(n,o){let p=n._zoneDelegates;o==-1&&(n._zoneDelegates=null);for(let P=0;PN.hasTask(n,o),onScheduleTask:(N,_,n,o)=>N.scheduleTask(n,o),onInvokeTask:(N,_,n,o,p,P)=>N.invokeTask(n,o,p,P),onCancelTask:(N,_,n,o)=>N.cancelTask(n,o)};class u{get zone(){return this._zone}constructor(_,n,o){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this._zone=_,this._parentDelegate=n,this._forkZS=o&&(o&&o.onFork?o:n._forkZS),this._forkDlgt=o&&(o.onFork?n:n._forkDlgt),this._forkCurrZone=o&&(o.onFork?this._zone:n._forkCurrZone),this._interceptZS=o&&(o.onIntercept?o:n._interceptZS),this._interceptDlgt=o&&(o.onIntercept?n:n._interceptDlgt),this._interceptCurrZone=o&&(o.onIntercept?this._zone:n._interceptCurrZone),this._invokeZS=o&&(o.onInvoke?o:n._invokeZS),this._invokeDlgt=o&&(o.onInvoke?n:n._invokeDlgt),this._invokeCurrZone=o&&(o.onInvoke?this._zone:n._invokeCurrZone),this._handleErrorZS=o&&(o.onHandleError?o:n._handleErrorZS),this._handleErrorDlgt=o&&(o.onHandleError?n:n._handleErrorDlgt),this._handleErrorCurrZone=o&&(o.onHandleError?this._zone:n._handleErrorCurrZone),this._scheduleTaskZS=o&&(o.onScheduleTask?o:n._scheduleTaskZS),this._scheduleTaskDlgt=o&&(o.onScheduleTask?n:n._scheduleTaskDlgt),this._scheduleTaskCurrZone=o&&(o.onScheduleTask?this._zone:n._scheduleTaskCurrZone),this._invokeTaskZS=o&&(o.onInvokeTask?o:n._invokeTaskZS),this._invokeTaskDlgt=o&&(o.onInvokeTask?n:n._invokeTaskDlgt),this._invokeTaskCurrZone=o&&(o.onInvokeTask?this._zone:n._invokeTaskCurrZone),this._cancelTaskZS=o&&(o.onCancelTask?o:n._cancelTaskZS),this._cancelTaskDlgt=o&&(o.onCancelTask?n:n._cancelTaskDlgt),this._cancelTaskCurrZone=o&&(o.onCancelTask?this._zone:n._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;let p=o&&o.onHasTask,P=n&&n._hasTaskZS;(p||P)&&(this._hasTaskZS=p?o:i,this._hasTaskDlgt=n,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=this._zone,o.onScheduleTask||(this._scheduleTaskZS=i,this._scheduleTaskDlgt=n,this._scheduleTaskCurrZone=this._zone),o.onInvokeTask||(this._invokeTaskZS=i,this._invokeTaskDlgt=n,this._invokeTaskCurrZone=this._zone),o.onCancelTask||(this._cancelTaskZS=i,this._cancelTaskDlgt=n,this._cancelTaskCurrZone=this._zone))}fork(_,n){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,_,n):new t(_,n)}intercept(_,n,o){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,_,n,o):n}invoke(_,n,o,p,P){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,_,n,o,p,P):n.apply(o,p)}handleError(_,n){return this._handleErrorZS?this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,_,n):!0}scheduleTask(_,n){let o=n;if(this._scheduleTaskZS)this._hasTaskZS&&o._zoneDelegates.push(this._hasTaskDlgtOwner),o=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,_,n),o||(o=n);else if(n.scheduleFn)n.scheduleFn(n);else if(n.type==G)U(n);else throw new Error("Task is missing scheduleFn.");return o}invokeTask(_,n,o,p){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,_,n,o,p):n.callback.apply(o,p)}cancelTask(_,n){let o;if(this._cancelTaskZS)o=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,_,n);else{if(!n.cancelFn)throw Error("Task is not cancelable");o=n.cancelFn(n)}return o}hasTask(_,n){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,_,n)}catch(o){this.handleError(_,o)}}_updateTaskCount(_,n){let o=this._taskCounts,p=o[_],P=o[_]=p+n;if(P<0)throw new Error("More tasks executed then were scheduled.");if(p==0||P==0){let q={microTask:o.microTask>0,macroTask:o.macroTask>0,eventTask:o.eventTask>0,change:_};this.hasTask(this._zone,q)}}}class E{constructor(_,n,o,p,P,q){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=_,this.source=n,this.data=p,this.scheduleFn=P,this.cancelFn=q,!o)throw new Error("callback is not defined");this.callback=o;let A=this;_===z&&p&&p.useG?this.invoke=E.invokeTask:this.invoke=function(){return E.invokeTask.call(ce,A,this,arguments)}}static invokeTask(_,n,o){_||(_=this),Q++;try{return _.runCount++,_.zone.runTask(_,n,o)}finally{Q==1&&J(),Q--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(X,k)}_transitionTo(_,n,o){if(this._state===n||this._state===o)this._state=_,_==X&&(this._zoneDelegates=null);else throw new Error(`${this.type} '${this.source}': can not transition to '${_}', expecting state '${n}'${o?" or '"+o+"'":""}, was '${this._state}'.`)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}let T=ee("setTimeout"),y=ee("Promise"),D=ee("then"),d=[],w=!1,Z;function x(N){if(Z||ce[y]&&(Z=ce[y].resolve(0)),Z){let _=Z[D];_||(_=Z.then),_.call(Z,N)}else ce[T](N,0)}function U(N){Q===0&&d.length===0&&x(J),N&&d.push(N)}function J(){if(!w){for(w=!0;d.length;){let N=d;d=[];for(let _=0;_b,onUnhandledError:W,microtaskDrainDone:W,scheduleMicroTask:U,showUncaughtError:()=>!t[ee("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:W,patchMethod:()=>W,bindArguments:()=>[],patchThen:()=>W,patchMacroTask:()=>W,patchEventPrototype:()=>W,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>W,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>W,wrapWithCurrentZone:()=>W,filterProperties:()=>[],attachOriginToPatched:()=>W,_redefineProperty:()=>W,patchCallbacks:()=>W,nativeScheduleMicroTask:x},b={parent:null,zone:new t(null,null)},S=null,Q=0;function W(){}return c("Zone","Zone"),t}function _t(){let e=globalThis,r=e[ee("forceDuplicateZoneCheck")]===!0;if(e.Zone&&(r||typeof e.Zone.__symbol__!="function"))throw new Error("Zone already loaded.");return e.Zone??=dt(),e.Zone}var be=Object.getOwnPropertyDescriptor,Ae=Object.defineProperty,je=Object.getPrototypeOf,Et=Object.create,Tt=Array.prototype.slice,He="addEventListener",xe="removeEventListener",Le=ee(He),Ie=ee(xe),ue="true",fe="false",Pe=ee("");function Ve(e,r){return Zone.current.wrap(e,r)}function Ge(e,r,c,t,i){return Zone.current.scheduleMacroTask(e,r,c,t,i)}var H=ee,De=typeof window<"u",pe=De?window:void 0,$=De&&pe||globalThis,gt="removeAttribute";function Fe(e,r){for(let c=e.length-1;c>=0;c--)typeof e[c]=="function"&&(e[c]=Ve(e[c],r+"_"+c));return e}function mt(e,r){let c=e.constructor.name;for(let t=0;t{let y=function(){return T.apply(this,Fe(arguments,c+"."+i))};return de(y,T),y})(u)}}}function tt(e){return e?e.writable===!1?!1:!(typeof e.get=="function"&&typeof e.set>"u"):!0}var nt=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Se=!("nw"in $)&&typeof $.process<"u"&&$.process.toString()==="[object process]",Be=!Se&&!nt&&!!(De&&pe.HTMLElement),rt=typeof $.process<"u"&&$.process.toString()==="[object process]"&&!nt&&!!(De&&pe.HTMLElement),Ce={},yt=H("enable_beforeunload"),Ye=function(e){if(e=e||$.event,!e)return;let r=Ce[e.type];r||(r=Ce[e.type]=H("ON_PROPERTY"+e.type));let c=this||e.target||$,t=c[r],i;if(Be&&c===pe&&e.type==="error"){let u=e;i=t&&t.call(this,u.message,u.filename,u.lineno,u.colno,u.error),i===!0&&e.preventDefault()}else i=t&&t.apply(this,arguments),e.type==="beforeunload"&&$[yt]&&typeof i=="string"?e.returnValue=i:i!=null&&!i&&e.preventDefault();return i};function $e(e,r,c){let t=be(e,r);if(!t&&c&&be(c,r)&&(t={enumerable:!0,configurable:!0}),!t||!t.configurable)return;let i=H("on"+r+"patched");if(e.hasOwnProperty(i)&&e[i])return;delete t.writable,delete t.value;let u=t.get,E=t.set,T=r.slice(2),y=Ce[T];y||(y=Ce[T]=H("ON_PROPERTY"+T)),t.set=function(D){let d=this;if(!d&&e===$&&(d=$),!d)return;typeof d[y]=="function"&&d.removeEventListener(T,Ye),E&&E.call(d,null),d[y]=D,typeof D=="function"&&d.addEventListener(T,Ye,!1)},t.get=function(){let D=this;if(!D&&e===$&&(D=$),!D)return null;let d=D[y];if(d)return d;if(u){let w=u.call(this);if(w)return t.set.call(this,w),typeof D[gt]=="function"&&D.removeAttribute(r),w}return null},Ae(e,r,t),e[i]=!0}function ot(e,r,c){if(r)for(let t=0;tfunction(E,T){let y=c(E,T);return y.cbIdx>=0&&typeof T[y.cbIdx]=="function"?Ge(y.name,T[y.cbIdx],y,i):u.apply(E,T)})}function de(e,r){e[H("OriginalDelegate")]=r}var Je=!1,Me=!1;function kt(){try{let e=pe.navigator.userAgent;if(e.indexOf("MSIE ")!==-1||e.indexOf("Trident/")!==-1)return!0}catch{}return!1}function vt(){if(Je)return Me;Je=!0;try{let e=pe.navigator.userAgent;(e.indexOf("MSIE ")!==-1||e.indexOf("Trident/")!==-1||e.indexOf("Edge/")!==-1)&&(Me=!0)}catch{}return Me}function Ke(e){return typeof e=="function"}function Qe(e){return typeof e=="number"}var ye=!1;if(typeof window<"u")try{let e=Object.defineProperty({},"passive",{get:function(){ye=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{ye=!1}var bt={useG:!0},te={},st={},it=new RegExp("^"+Pe+"(\\w+)(true|false)$"),ct=H("propagationStopped");function at(e,r){let c=(r?r(e):e)+fe,t=(r?r(e):e)+ue,i=Pe+c,u=Pe+t;te[e]={},te[e][fe]=i,te[e][ue]=u}function Pt(e,r,c,t){let i=t&&t.add||He,u=t&&t.rm||xe,E=t&&t.listeners||"eventListeners",T=t&&t.rmAll||"removeAllListeners",y=H(i),D="."+i+":",d="prependListener",w="."+d+":",Z=function(k,h,j){if(k.isRemoved)return;let V=k.callback;typeof V=="object"&&V.handleEvent&&(k.callback=g=>V.handleEvent(g),k.originalDelegate=V);let Y;try{k.invoke(k,h,[j])}catch(g){Y=g}let G=k.options;if(G&&typeof G=="object"&&G.once){let g=k.originalDelegate?k.originalDelegate:k.callback;h[u].call(h,j.type,g,G)}return Y};function x(k,h,j){if(h=h||e.event,!h)return;let V=k||h.target||e,Y=V[te[h.type][j?ue:fe]];if(Y){let G=[];if(Y.length===1){let g=Z(Y[0],V,h);g&&G.push(g)}else{let g=Y.slice();for(let z=0;z{throw z})}}}let U=function(k){return x(this,k,!1)},J=function(k){return x(this,k,!0)};function K(k,h){if(!k)return!1;let j=!0;h&&h.useG!==void 0&&(j=h.useG);let V=h&&h.vh,Y=!0;h&&h.chkDup!==void 0&&(Y=h.chkDup);let G=!1;h&&h.rt!==void 0&&(G=h.rt);let g=k;for(;g&&!g.hasOwnProperty(i);)g=je(g);if(!g&&k[i]&&(g=k),!g||g[y])return!1;let z=h&&h.eventNameToString,O={},R=g[y]=g[i],b=g[H(u)]=g[u],S=g[H(E)]=g[E],Q=g[H(T)]=g[T],W;h&&h.prepend&&(W=g[H(h.prepend)]=g[h.prepend]);function N(s,l){return!ye&&typeof s=="object"&&s?!!s.capture:!ye||!l?s:typeof s=="boolean"?{capture:s,passive:!0}:s?typeof s=="object"&&s.passive!==!1?{...s,passive:!0}:s:{passive:!0}}let _=function(s){if(!O.isExisting)return R.call(O.target,O.eventName,O.capture?J:U,O.options)},n=function(s){if(!s.isRemoved){let l=te[s.eventName],v;l&&(v=l[s.capture?ue:fe]);let C=v&&s.target[v];if(C){for(let m=0;mre.zone.cancelTask(re);s.call(Te,"abort",ie,{once:!0}),re.removeAbortListener=()=>Te.removeEventListener("abort",ie)}if(O.target=null,ke&&(ke.taskData=null),Ue&&(O.options.once=!0),!ye&&typeof re.options=="boolean"||(re.options=se),re.target=I,re.capture=Oe,re.eventName=M,B&&(re.originalDelegate=F),L?ge.unshift(re):ge.push(re),m)return I}};return g[i]=a(R,D,q,A,G),W&&(g[d]=a(W,w,p,A,G,!0)),g[u]=function(){let s=this||e,l=arguments[0];h&&h.transferEventName&&(l=h.transferEventName(l));let v=arguments[2],C=v?typeof v=="boolean"?!0:v.capture:!1,m=arguments[1];if(!m)return b.apply(this,arguments);if(V&&!V(b,m,s,arguments))return;let L=te[l],I;L&&(I=L[C?ue:fe]);let M=I&&s[I];if(M)for(let F=0;Ffunction(i,u){i[ct]=!0,t&&t.apply(i,u)})}function Rt(e,r){r.patchMethod(e,"queueMicrotask",c=>function(t,i){Zone.current.scheduleMicroTask("queueMicrotask",i[0])})}var Re=H("zoneTask");function me(e,r,c,t){let i=null,u=null;r+=t,c+=t;let E={};function T(D){let d=D.data;d.args[0]=function(){return D.invoke.apply(this,arguments)};let w=i.apply(e,d.args);return Qe(w)?d.handleId=w:(d.handle=w,d.isRefreshable=Ke(w.refresh)),D}function y(D){let{handle:d,handleId:w}=D.data;return u.call(e,d??w)}i=he(e,r,D=>function(d,w){if(Ke(w[0])){let Z={isRefreshable:!1,isPeriodic:t==="Interval",delay:t==="Timeout"||t==="Interval"?w[1]||0:void 0,args:w},x=w[0];w[0]=function(){try{return x.apply(this,arguments)}finally{let{handle:j,handleId:V,isPeriodic:Y,isRefreshable:G}=Z;!Y&&!G&&(V?delete E[V]:j&&(j[Re]=null))}};let U=Ge(r,w[0],Z,T,y);if(!U)return U;let{handleId:J,handle:K,isRefreshable:X,isPeriodic:k}=U.data;if(J)E[J]=U;else if(K&&(K[Re]=U,X&&!k)){let h=K.refresh;K.refresh=function(){let{zone:j,state:V}=U;return V==="notScheduled"?(U._state="scheduled",j._updateTaskCount(U,1)):V==="running"&&(U._state="scheduling"),h.call(this)}}return K??J??U}else return D.apply(e,w)}),u=he(e,c,D=>function(d,w){let Z=w[0],x;Qe(Z)?(x=E[Z],delete E[Z]):(x=Z?.[Re],x?Z[Re]=null:x=Z),x?.type?x.cancelFn&&x.zone.cancelTask(x):D.apply(e,w)})}function Ct(e,r){let{isBrowser:c,isMix:t}=r.getGlobalObjects();if(!c&&!t||!e.customElements||!("customElements"in e))return;let i=["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback","formAssociatedCallback","formDisabledCallback","formResetCallback","formStateRestoreCallback"];r.patchCallbacks(r,e.customElements,"customElements","define",i)}function Dt(e,r){if(Zone[r.symbol("patchEventTarget")])return;let{eventNames:c,zoneSymbolEventNames:t,TRUE_STR:i,FALSE_STR:u,ZONE_SYMBOL_PREFIX:E}=r.getGlobalObjects();for(let y=0;yu.target===e);if(!t||t.length===0)return r;let i=t[0].ignoreProperties;return r.filter(u=>i.indexOf(u)===-1)}function et(e,r,c,t){if(!e)return;let i=ut(e,r,c);ot(e,i,t)}function Ze(e){return Object.getOwnPropertyNames(e).filter(r=>r.startsWith("on")&&r.length>2).map(r=>r.substring(2))}function Ot(e,r){if(Se&&!rt||Zone[e.symbol("patchEvents")])return;let c=r.__Zone_ignore_on_properties,t=[];if(Be){let i=window;t=t.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);let u=kt()?[{target:i,ignoreProperties:["error"]}]:[];et(i,Ze(i),c&&c.concat(u),je(i))}t=t.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let i=0;i{let c=r[e.__symbol__("legacyPatch")];c&&c()}),e.__load_patch("timers",r=>{let t="clear";me(r,"set",t,"Timeout"),me(r,"set",t,"Interval"),me(r,"set",t,"Immediate")}),e.__load_patch("requestAnimationFrame",r=>{me(r,"request","cancel","AnimationFrame"),me(r,"mozRequest","mozCancel","AnimationFrame"),me(r,"webkitRequest","webkitCancel","AnimationFrame")}),e.__load_patch("blocking",(r,c)=>{let t=["alert","prompt","confirm"];for(let i=0;ifunction(D,d){return c.current.run(E,r,d,y)})}}),e.__load_patch("EventTarget",(r,c,t)=>{St(r,t),Dt(r,t);let i=r.XMLHttpRequestEventTarget;i&&i.prototype&&t.patchEventTarget(r,t,[i.prototype])}),e.__load_patch("MutationObserver",(r,c,t)=>{ve("MutationObserver"),ve("WebKitMutationObserver")}),e.__load_patch("IntersectionObserver",(r,c,t)=>{ve("IntersectionObserver")}),e.__load_patch("FileReader",(r,c,t)=>{ve("FileReader")}),e.__load_patch("on_property",(r,c,t)=>{Ot(t,r)}),e.__load_patch("customElements",(r,c,t)=>{Ct(r,t)}),e.__load_patch("XHR",(r,c)=>{D(r);let t=H("xhrTask"),i=H("xhrSync"),u=H("xhrListener"),E=H("xhrScheduled"),T=H("xhrURL"),y=H("xhrErrorBeforeScheduled");function D(d){let w=d.XMLHttpRequest;if(!w)return;let Z=w.prototype;function x(R){return R[t]}let U=Z[Le],J=Z[Ie];if(!U){let R=d.XMLHttpRequestEventTarget;if(R){let b=R.prototype;U=b[Le],J=b[Ie]}}let K="readystatechange",X="scheduled";function k(R){let b=R.data,S=b.target;S[E]=!1,S[y]=!1;let Q=S[u];U||(U=S[Le],J=S[Ie]),Q&&J.call(S,K,Q);let W=S[u]=()=>{if(S.readyState===S.DONE)if(!b.aborted&&S[E]&&R.state===X){let _=S[c.__symbol__("loadfalse")];if(S.status!==0&&_&&_.length>0){let n=R.invoke;R.invoke=function(){let o=S[c.__symbol__("loadfalse")];for(let p=0;pfunction(R,b){return R[i]=b[2]==!1,R[T]=b[1],V.apply(R,b)}),Y="XMLHttpRequest.send",G=H("fetchTaskAborting"),g=H("fetchTaskScheduling"),z=he(Z,"send",()=>function(R,b){if(c.current[g]===!0||R[i])return z.apply(R,b);{let S={target:R,url:R[T],isPeriodic:!1,args:b,aborted:!1},Q=Ge(Y,h,S,k,j);R&&R[y]===!0&&!S.aborted&&Q.state===X&&Q.invoke()}}),O=he(Z,"abort",()=>function(R,b){let S=x(R);if(S&&typeof S.type=="string"){if(S.cancelFn==null||S.data&&S.data.aborted)return;S.zone.cancelTask(S)}else if(c.current[G]===!0)return O.apply(R,b)})}}),e.__load_patch("geolocation",r=>{r.navigator&&r.navigator.geolocation&&mt(r.navigator.geolocation,["getCurrentPosition","watchPosition"])}),e.__load_patch("PromiseRejectionEvent",(r,c)=>{function t(i){return function(u){lt(r,i).forEach(T=>{let y=r.PromiseRejectionEvent;if(y){let D=new y(i,{promise:u.promise,reason:u.rejection});T.invoke(D)}})}}r.PromiseRejectionEvent&&(c[H("unhandledPromiseRejectionHandler")]=t("unhandledrejection"),c[H("rejectionHandledHandler")]=t("rejectionhandled"))}),e.__load_patch("queueMicrotask",(r,c,t)=>{Rt(r,t)})}function Lt(e){e.__load_patch("ZoneAwarePromise",(r,c,t)=>{let i=Object.getOwnPropertyDescriptor,u=Object.defineProperty;function E(f){if(f&&f.toString===Object.prototype.toString){let a=f.constructor&&f.constructor.name;return(a||"")+": "+JSON.stringify(f)}return f?f.toString():Object.prototype.toString.call(f)}let T=t.symbol,y=[],D=r[T("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")]!==!1,d=T("Promise"),w=T("then"),Z="__creationTrace__";t.onUnhandledError=f=>{if(t.showUncaughtError()){let a=f&&f.rejection;a?console.error("Unhandled Promise rejection:",a instanceof Error?a.message:a,"; Zone:",f.zone.name,"; Task:",f.task&&f.task.source,"; Value:",a,a instanceof Error?a.stack:void 0):console.error(f)}},t.microtaskDrainDone=()=>{for(;y.length;){let f=y.shift();try{f.zone.runGuarded(()=>{throw f.throwOriginal?f.rejection:f})}catch(a){U(a)}}};let x=T("unhandledPromiseRejectionHandler");function U(f){t.onUnhandledError(f);try{let a=c[x];typeof a=="function"&&a.call(this,f)}catch{}}function J(f){return f&&f.then}function K(f){return f}function X(f){return A.reject(f)}let k=T("state"),h=T("value"),j=T("finally"),V=T("parentPromiseValue"),Y=T("parentPromiseState"),G="Promise.then",g=null,z=!0,O=!1,R=0;function b(f,a){return s=>{try{N(f,a,s)}catch(l){N(f,!1,l)}}}let S=function(){let f=!1;return function(s){return function(){f||(f=!0,s.apply(null,arguments))}}},Q="Promise resolved with itself",W=T("currentTaskTrace");function N(f,a,s){let l=S();if(f===s)throw new TypeError(Q);if(f[k]===g){let v=null;try{(typeof s=="object"||typeof s=="function")&&(v=s&&s.then)}catch(C){return l(()=>{N(f,!1,C)})(),f}if(a!==O&&s instanceof A&&s.hasOwnProperty(k)&&s.hasOwnProperty(h)&&s[k]!==g)n(s),N(f,s[k],s[h]);else if(a!==O&&typeof v=="function")try{v.call(s,l(b(f,a)),l(b(f,!1)))}catch(C){l(()=>{N(f,!1,C)})()}else{f[k]=a;let C=f[h];if(f[h]=s,f[j]===j&&a===z&&(f[k]=f[Y],f[h]=f[V]),a===O&&s instanceof Error){let m=c.currentTask&&c.currentTask.data&&c.currentTask.data[Z];m&&u(s,W,{configurable:!0,enumerable:!1,writable:!0,value:m})}for(let m=0;m{try{let L=f[h],I=!!s&&j===s[j];I&&(s[V]=L,s[Y]=C);let M=a.run(m,void 0,I&&m!==X&&m!==K?[]:[L]);N(s,!0,M)}catch(L){N(s,!1,L)}},s)}let p="function ZoneAwarePromise() { [native code] }",P=function(){},q=r.AggregateError;class A{static toString(){return p}static resolve(a){return a instanceof A?a:N(new this(null),z,a)}static reject(a){return N(new this(null),O,a)}static withResolvers(){let a={};return a.promise=new A((s,l)=>{a.resolve=s,a.reject=l}),a}static any(a){if(!a||typeof a[Symbol.iterator]!="function")return Promise.reject(new q([],"All promises were rejected"));let s=[],l=0;try{for(let m of a)l++,s.push(A.resolve(m))}catch{return Promise.reject(new q([],"All promises were rejected"))}if(l===0)return Promise.reject(new q([],"All promises were rejected"));let v=!1,C=[];return new A((m,L)=>{for(let I=0;I{v||(v=!0,m(M))},M=>{C.push(M),l--,l===0&&(v=!0,L(new q(C,"All promises were rejected")))})})}static race(a){let s,l,v=new this((L,I)=>{s=L,l=I});function C(L){s(L)}function m(L){l(L)}for(let L of a)J(L)||(L=this.resolve(L)),L.then(C,m);return v}static all(a){return A.allWithCallback(a)}static allSettled(a){return(this&&this.prototype instanceof A?this:A).allWithCallback(a,{thenCallback:l=>({status:"fulfilled",value:l}),errorCallback:l=>({status:"rejected",reason:l})})}static allWithCallback(a,s){let l,v,C=new this((M,F)=>{l=M,v=F}),m=2,L=0,I=[];for(let M of a){J(M)||(M=this.resolve(M));let F=L;try{M.then(B=>{I[F]=s?s.thenCallback(B):B,m--,m===0&&l(I)},B=>{s?(I[F]=s.errorCallback(B),m--,m===0&&l(I)):v(B)})}catch(B){v(B)}m++,L++}return m-=2,m===0&&l(I),C}constructor(a){let s=this;if(!(s instanceof A))throw new Error("Must be an instanceof Promise.");s[k]=g,s[h]=[];try{let l=S();a&&a(l(b(s,z)),l(b(s,O)))}catch(l){N(s,!1,l)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return A}then(a,s){let l=this.constructor?.[Symbol.species];(!l||typeof l!="function")&&(l=this.constructor||A);let v=new l(P),C=c.current;return this[k]==g?this[h].push(C,v,a,s):o(this,C,v,a,s),v}catch(a){return this.then(null,a)}finally(a){let s=this.constructor?.[Symbol.species];(!s||typeof s!="function")&&(s=A);let l=new s(P);l[j]=j;let v=c.current;return this[k]==g?this[h].push(v,l,a,a):o(this,v,l,a,a),l}}A.resolve=A.resolve,A.reject=A.reject,A.race=A.race,A.all=A.all;let _e=r[d]=r.Promise;r.Promise=A;let ae=T("thenPatched");function le(f){let a=f.prototype,s=i(a,"then");if(s&&(s.writable===!1||!s.configurable))return;let l=a.then;a[w]=l,f.prototype.then=function(v,C){return new A((L,I)=>{l.call(this,L,I)}).then(v,C)},f[ae]=!0}t.patchThen=le;function ne(f){return function(a,s){let l=f.apply(a,s);if(l instanceof A)return l;let v=l.constructor;return v[ae]||le(v),l}}return _e&&(le(_e),he(r,"fetch",f=>ne(f))),Promise[c.__symbol__("uncaughtPromiseErrors")]=y,A})}function It(e){e.__load_patch("toString",r=>{let c=Function.prototype.toString,t=H("OriginalDelegate"),i=H("Promise"),u=H("Error"),E=function(){if(typeof this=="function"){let d=this[t];if(d)return typeof d=="function"?c.call(d):Object.prototype.toString.call(d);if(this===Promise){let w=r[i];if(w)return c.call(w)}if(this===Error){let w=r[u];if(w)return c.call(w)}}return c.call(this)};E[t]=c,Function.prototype.toString=E;let T=Object.prototype.toString,y="[object Promise]";Object.prototype.toString=function(){return typeof Promise=="function"&&this instanceof Promise?y:T.call(this)}})}function Mt(e,r,c,t,i){let u=Zone.__symbol__(t);if(r[u])return;let E=r[u]=r[t];r[t]=function(T,y,D){return y&&y.prototype&&i.forEach(function(d){let w=`${c}.${t}::`+d,Z=y.prototype;try{if(Z.hasOwnProperty(d)){let x=e.ObjectGetOwnPropertyDescriptor(Z,d);x&&x.value?(x.value=e.wrapWithCurrentZone(x.value,w),e._redefineProperty(y.prototype,d,x)):Z[d]&&(Z[d]=e.wrapWithCurrentZone(Z[d],w))}else Z[d]&&(Z[d]=e.wrapWithCurrentZone(Z[d],w))}catch{}}),E.call(r,T,y,D)},e.attachOriginToPatched(r[t],E)}function Zt(e){e.__load_patch("util",(r,c,t)=>{let i=Ze(r);t.patchOnProperties=ot,t.patchMethod=he,t.bindArguments=Fe,t.patchMacroTask=pt;let u=c.__symbol__("BLACK_LISTED_EVENTS"),E=c.__symbol__("UNPATCHED_EVENTS");r[E]&&(r[u]=r[E]),r[u]&&(c[u]=c[E]=r[u]),t.patchEventPrototype=wt,t.patchEventTarget=Pt,t.isIEOrEdge=vt,t.ObjectDefineProperty=Ae,t.ObjectGetOwnPropertyDescriptor=be,t.ObjectCreate=Et,t.ArraySlice=Tt,t.patchClass=ve,t.wrapWithCurrentZone=Ve,t.filterProperties=ut,t.attachOriginToPatched=de,t._redefineProperty=Object.defineProperty,t.patchCallbacks=Mt,t.getGlobalObjects=()=>({globalSources:st,zoneSymbolEventNames:te,eventNames:i,isBrowser:Be,isMix:rt,isNode:Se,TRUE_STR:ue,FALSE_STR:fe,ZONE_SYMBOL_PREFIX:Pe,ADD_EVENT_LISTENER_STR:He,REMOVE_EVENT_LISTENER_STR:xe})})}function At(e){Lt(e),It(e),Zt(e)}var ft=_t();At(ft);Nt(ft); diff --git a/docs/pro.html b/docs/pro.html index 48025a53..ade7839b 100644 --- a/docs/pro.html +++ b/docs/pro.html @@ -8,8 +8,8 @@ - + - + \ No newline at end of file diff --git a/docs/resources/CustomExtensions_v4.zip b/docs/resources/CustomExtensions_v5.zip similarity index 50% rename from docs/resources/CustomExtensions_v4.zip rename to docs/resources/CustomExtensions_v5.zip index c9b80a13..cff5e067 100644 Binary files a/docs/resources/CustomExtensions_v4.zip and b/docs/resources/CustomExtensions_v5.zip differ diff --git a/docs/resources/SampleReports.zip b/docs/resources/SampleReports.zip index 317d7f33..62ab1151 100644 Binary files a/docs/resources/SampleReports.zip and b/docs/resources/SampleReports.zip differ diff --git a/docs/resources/features/ctc@1x.webp b/docs/resources/features/ctc@1x.webp new file mode 100644 index 00000000..939c53a9 Binary files /dev/null and b/docs/resources/features/ctc@1x.webp differ diff --git a/docs/resources/features/ctc@2x.webp b/docs/resources/features/ctc@2x.webp new file mode 100644 index 00000000..2f7026ec Binary files /dev/null and b/docs/resources/features/ctc@2x.webp differ diff --git a/docs/resources/reports/Badges/badge_branchcoverage.svg b/docs/resources/reports/Badges/badge_branchcoverage.svg index 5ff2ac26..702c4631 100644 --- a/docs/resources/reports/Badges/badge_branchcoverage.svg +++ b/docs/resources/reports/Badges/badge_branchcoverage.svg @@ -117,7 +117,7 @@ - Generated by: ReportGenerator 5.4.4.0 + Generated by: ReportGenerator 5.4.17.0 diff --git a/docs/resources/reports/Badges/badge_combined.svg b/docs/resources/reports/Badges/badge_combined.svg index d9325830..7ac620f5 100644 --- a/docs/resources/reports/Badges/badge_combined.svg +++ b/docs/resources/reports/Badges/badge_combined.svg @@ -123,7 +123,7 @@ - Generated by: ReportGenerator 5.4.4.0 + Generated by: ReportGenerator 5.4.17.0 @@ -132,7 +132,7 @@ 69.4%69.4% 50%50% 66.6%66.6% - 37.5%37.5% + 50%50% diff --git a/docs/resources/reports/Badges/badge_fullmethodcoverage.svg b/docs/resources/reports/Badges/badge_fullmethodcoverage.svg index 34bb70ab..cd6a5806 100644 --- a/docs/resources/reports/Badges/badge_fullmethodcoverage.svg +++ b/docs/resources/reports/Badges/badge_fullmethodcoverage.svg @@ -123,7 +123,7 @@ - Generated by: ReportGenerator 5.4.4.0 + Generated by: ReportGenerator 5.4.17.0 @@ -132,7 +132,7 @@ - 37.5%37.5% + 50%50% diff --git a/docs/resources/reports/Badges/badge_linecoverage.svg b/docs/resources/reports/Badges/badge_linecoverage.svg index 2df0b751..cbd6826f 100644 --- a/docs/resources/reports/Badges/badge_linecoverage.svg +++ b/docs/resources/reports/Badges/badge_linecoverage.svg @@ -117,7 +117,7 @@ - Generated by: ReportGenerator 5.4.4.0 + Generated by: ReportGenerator 5.4.17.0 diff --git a/docs/resources/reports/Badges/badge_methodcoverage.svg b/docs/resources/reports/Badges/badge_methodcoverage.svg index eeac0514..00621a2b 100644 --- a/docs/resources/reports/Badges/badge_methodcoverage.svg +++ b/docs/resources/reports/Badges/badge_methodcoverage.svg @@ -117,7 +117,7 @@ - Generated by: ReportGenerator 5.4.4.0 + Generated by: ReportGenerator 5.4.17.0 diff --git a/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_blue.svg b/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_blue.svg index d89e8d1a..b9ef440d 100644 --- a/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_blue.svg +++ b/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_blue.svg @@ -1 +1 @@ - coveragecoverage37%37% \ No newline at end of file + coveragecoverage50%50% \ No newline at end of file diff --git a/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_brightgreen.svg b/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_brightgreen.svg index 42ba55b8..5a8619f0 100644 --- a/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_brightgreen.svg +++ b/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_brightgreen.svg @@ -1 +1 @@ - coveragecoverage37%37% \ No newline at end of file + coveragecoverage50%50% \ No newline at end of file diff --git a/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_green.svg b/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_green.svg index f582c4f4..5aa02b45 100644 --- a/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_green.svg +++ b/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_green.svg @@ -1 +1 @@ - coveragecoverage37%37% \ No newline at end of file + coveragecoverage50%50% \ No newline at end of file diff --git a/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_lightgrey.svg b/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_lightgrey.svg index de0e61d3..8b6b9bf0 100644 --- a/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_lightgrey.svg +++ b/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_lightgrey.svg @@ -1 +1 @@ - coveragecoverage37%37% \ No newline at end of file + coveragecoverage50%50% \ No newline at end of file diff --git a/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_orange.svg b/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_orange.svg index aad2f94e..7b2381a6 100644 --- a/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_orange.svg +++ b/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_orange.svg @@ -1 +1 @@ - coveragecoverage37%37% \ No newline at end of file + coveragecoverage50%50% \ No newline at end of file diff --git a/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_red.svg b/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_red.svg index 1852cbfd..e8ba16b0 100644 --- a/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_red.svg +++ b/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_red.svg @@ -1 +1 @@ - coveragecoverage37%37% \ No newline at end of file + coveragecoverage50%50% \ No newline at end of file diff --git a/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_yellow.svg b/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_yellow.svg index 4944b3fb..27862d72 100644 --- a/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_yellow.svg +++ b/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_yellow.svg @@ -1 +1 @@ - coveragecoverage37%37% \ No newline at end of file + coveragecoverage50%50% \ No newline at end of file diff --git a/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_yellowgreen.svg b/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_yellowgreen.svg index 690c52a6..01ac9043 100644 --- a/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_yellowgreen.svg +++ b/docs/resources/reports/Badges/badge_shieldsio_fullmethodcoverage_yellowgreen.svg @@ -1 +1 @@ - coveragecoverage37%37% \ No newline at end of file + coveragecoverage50%50% \ No newline at end of file diff --git a/docs/resources/reports/Clover/Clover.xml b/docs/resources/reports/Clover/Clover.xml index 8079d8a2..2ae7d9b5 100644 --- a/docs/resources/reports/Clover/Clover.xml +++ b/docs/resources/reports/Clover/Clover.xml @@ -1,6 +1,6 @@ - - + + @@ -133,7 +133,7 @@ - + \ No newline at end of file diff --git a/docs/resources/reports/Cobertura/Cobertura.xml b/docs/resources/reports/Cobertura/Cobertura.xml index b922889b..ff92e5d0 100644 --- a/docs/resources/reports/Cobertura/Cobertura.xml +++ b/docs/resources/reports/Cobertura/Cobertura.xml @@ -1,6 +1,6 @@ - + diff --git a/docs/resources/reports/CodeClimate/codeclimate.json b/docs/resources/reports/CodeClimate/codeclimate.json index 317eea8c..cb6210aa 100644 --- a/docs/resources/reports/CodeClimate/codeclimate.json +++ b/docs/resources/reports/CodeClimate/codeclimate.json @@ -3,8 +3,8 @@ "branch": "main", "build_identifier": "", "build_url": "", - "commit_sha": "ae0d925558c2d5f7695c4d1bec871f422b93b38f", - "committed_at": 1739123290, + "commit_sha": "9b2124e96576725500d78a5796670c3a57ffe4e7", + "committed_at": 1760550837, "name": "" }, "environment": { @@ -18,8 +18,8 @@ }, "git": { "branch": "main", - "head": "ae0d925558c2d5f7695c4d1bec871f422b93b38f", - "committed_at": 1739123290 + "head": "9b2124e96576725500d78a5796670c3a57ffe4e7", + "committed_at": 1760550837 }, "covered_percent": 69.4, "covered_strength": 0, diff --git a/docs/resources/reports/CsvSummary/Summary.csv b/docs/resources/reports/CsvSummary/Summary.csv index 8f4ccd40..995f4c08 100644 --- a/docs/resources/reports/CsvSummary/Summary.csv +++ b/docs/resources/reports/CsvSummary/Summary.csv @@ -1,5 +1,5 @@ Summary -Generated on:;09.02.2025 - 18:57:00 +Generated on:;15.10.2025 - 20:25:11 Parser:;OpenCover Assemblies:;1 Classes:;4 diff --git a/docs/resources/reports/Html/Sample_PartialClass.html b/docs/resources/reports/Html/Sample_PartialClass.html index f8052d76..429e4e25 100644 --- a/docs/resources/reports/Html/Sample_PartialClass.html +++ b/docs/resources/reports/Html/Sample_PartialClass.html @@ -117,7 +117,7 @@

< Summary

Coverage history

-
+

Metrics

@@ -295,7 +475,7 @@

C:\temp\PartialClass2.cs

-
+

Methods/Properties

diff --git a/docs/resources/reports/Html/Sample_Program.html b/docs/resources/reports/Html/Sample_Program.html index edfcbc12..e49aff6f 100644 --- a/docs/resources/reports/Html/Sample_Program.html +++ b/docs/resources/reports/Html/Sample_Program.html @@ -117,7 +117,7 @@

< Summary

Coverage history

-
+

Metrics

@@ -314,7 +362,7 @@

C:\temp\Program.cs

-
+

Methods/Properties

diff --git a/docs/resources/reports/Html/Sample_TestClass.html b/docs/resources/reports/Html/Sample_TestClass.html index ca26e5ea..5c8ac47e 100644 --- a/docs/resources/reports/Html/Sample_TestClass.html +++ b/docs/resources/reports/Html/Sample_TestClass.html @@ -97,7 +97,7 @@

< Summary

Fully covered methods: -1 +3 Total methods: @@ -109,7 +109,7 @@

< Summary

Full method coverage: -20% +60%
@@ -117,7 +117,7 @@

< Summary

Coverage history

-
+

Metrics

@@ -272,7 +292,7 @@

C:\temp\TestClass.cs

-
+

Methods/Properties

diff --git a/docs/resources/reports/Html/Sample_TestClass2.html b/docs/resources/reports/Html/Sample_TestClass2.html index c4320142..fe39c3df 100644 --- a/docs/resources/reports/Html/Sample_TestClass2.html +++ b/docs/resources/reports/Html/Sample_TestClass2.html @@ -97,7 +97,7 @@

< Summary

Fully covered methods: -3 +4 Total methods: @@ -109,7 +109,7 @@

< Summary

Full method coverage: -30% +40%
@@ -117,7 +117,7 @@

< Summary

Coverage history

-
+

Metrics

@@ -321,7 +441,7 @@

C:\temp\TestClass2.cs

-
+

Methods/Properties

diff --git a/docs/resources/reports/Html/index.html b/docs/resources/reports/Html/index.html index 3602c4f7..08969f9c 100644 --- a/docs/resources/reports/Html/index.html +++ b/docs/resources/reports/Html/index.html @@ -99,7 +99,7 @@

Summary9 +12 Total methods: @@ -111,7 +111,7 @@

Summary37.5% +50%

@@ -119,7 +119,7 @@

Summary +

Risk Hotspots

@@ -221,35 +401,35 @@

Coverage

- + - + - + - + Line coverageBranch coverageMethod coverageFull method coverage NameCoveredUncoveredCoverableTotalPercentageCoveredTotalPercentageCoveredTotalPercentageCoveredTotalPercentage -Sample753310826069.4%
  
4850%
  
162466.6%
  
92437.5%
  
-
Sample.PartialClass1210225354.5%
  
1250%
  
3650%
  
2633.3%
  
-Test.Program1501584100%
 
00
 
33100%
 
33100%
 
-Test.TestClass249333872.7%
  
2450%
  
4580%
  
1520%
  
-Test.TestClass22414388563.1%
  
1250%
  
61060%
  
31030%
  
+Sample753310826069.4%
  
4850%
  
162466.6%
  
122450%
  
+Sample.PartialClass12102253
54.5%
  
12
50%
  
36
50%
  
26
33.3%
  
+Test.Program1501584
100%
 
00
 
33
100%
 
33
100%
 
+Test.TestClass249333872.7%
  
2450%
  
4580%
  
3560%
  
+Test.TestClass224143885
63.1%
  
12
50%
  
610
60%
  
410
40%
  
-

+ @@ -1148,10 +1332,10 @@ { "name": "Sample", "classes": [ - { "name": "Sample.PartialClass", "rp": "", "cl": 12, "ucl": 10, "cal": 22, "tl": 53, "cb": 1, "tb": 2, "cm": 3, "fcm": 2, "tm": 6, "lch": [40.9,54.5,59,59,45.4,50,50,59,54.5], "bch": [50,40,40,45,45,45,45,45,50], "mch": [50,33.3,50,66.6,66.6,66.6,83.3,83.3,50], "mfch": [33.3,33.3,50,50,50,50,50,50,33.3], "hc": [{ "et": "01.02.2022 - 20:50:35", "cl": 9, "ucl": 13, "cal": 22, "tl": 53, "lcq": 40.9, "cb": 10, "tb": 20, "bcq": 50, "cm": 3, "fcm": 2, "tm": 6, "mcq": 50, "mfcq": 33.3 }, { "et": "02.02.2022 - 20:50:35", "cl": 12, "ucl": 10, "cal": 22, "tl": 53, "lcq": 54.5, "cb": 8, "tb": 20, "bcq": 40, "cm": 2, "fcm": 2, "tm": 6, "mcq": 33.3, "mfcq": 33.3 }, { "et": "03.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 8, "tb": 20, "bcq": 40, "cm": 3, "fcm": 3, "tm": 6, "mcq": 50, "mfcq": 50 }, { "et": "04.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 9, "tb": 20, "bcq": 45, "cm": 4, "fcm": 3, "tm": 6, "mcq": 66.6, "mfcq": 50 }, { "et": "05.02.2022 - 20:50:35", "cl": 10, "ucl": 12, "cal": 22, "tl": 53, "lcq": 45.4, "cb": 9, "tb": 20, "bcq": 45, "cm": 4, "fcm": 3, "tm": 6, "mcq": 66.6, "mfcq": 50 }, { "et": "06.02.2022 - 20:50:35", "cl": 11, "ucl": 11, "cal": 22, "tl": 53, "lcq": 50, "cb": 9, "tb": 20, "bcq": 45, "cm": 4, "fcm": 3, "tm": 6, "mcq": 66.6, "mfcq": 50 }, { "et": "07.02.2022 - 20:50:35", "cl": 11, "ucl": 11, "cal": 22, "tl": 53, "lcq": 50, "cb": 9, "tb": 20, "bcq": 45, "cm": 5, "fcm": 3, "tm": 6, "mcq": 83.3, "mfcq": 50 }, { "et": "08.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 9, "tb": 20, "bcq": 45, "cm": 5, "fcm": 3, "tm": 6, "mcq": 83.3, "mfcq": 50 }, { "et": "09.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 9, "tb": 20, "bcq": 45, "cm": 5, "fcm": 3, "tm": 6, "mcq": 83.3, "mfcq": 50 }, { "et": "09.02.2025 - 18:56:52", "cl": 12, "ucl": 10, "cal": 22, "tl": 53, "lcq": 54.5, "cb": 1, "tb": 2, "bcq": 50, "cm": 3, "fcm": 2, "tm": 6, "mcq": 50, "mfcq": 33.3 }], "metrics": { "cc": 1, "npth": 0, "seq": 0, "bcov": 0, "crp": 2 } }, - { "name": "Test.Program", "rp": "", "cl": 15, "ucl": 0, "cal": 15, "tl": 84, "cb": 0, "tb": 0, "cm": 3, "fcm": 3, "tm": 3, "lch": [79.5,100], "bch": [], "mch": [66.6,100], "mfch": [0,100], "hc": [{ "et": "01.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 0, "tm": 6, "mcq": 66.6, "mfcq": 0 }, { "et": "02.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 0, "tm": 6, "mcq": 66.6, "mfcq": 0 }, { "et": "03.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 0, "tm": 6, "mcq": 66.6, "mfcq": 0 }, { "et": "04.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 1, "tm": 6, "mcq": 66.6, "mfcq": 16.6 }, { "et": "05.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 1, "tm": 6, "mcq": 66.6, "mfcq": 16.6 }, { "et": "06.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "07.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "08.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "09.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "09.02.2025 - 18:56:52", "cl": 15, "ucl": 0, "cal": 15, "tl": 84, "lcq": 100, "cb": 0, "tb": 0, "bcq": 0, "cm": 3, "fcm": 3, "tm": 3, "mcq": 100, "mfcq": 100 }], "metrics": { "cc": 3, "npth": 0, "seq": 100, "bcov": 100, "crp": 3 } }, - { "name": "Test.TestClass", "rp": "", "cl": 24, "ucl": 9, "cal": 33, "tl": 38, "cb": 2, "tb": 4, "cm": 4, "fcm": 1, "tm": 5, "lch": [72.7], "bch": [50], "mch": [80], "mfch": [20], "hc": [{ "et": "09.02.2025 - 18:56:52", "cl": 24, "ucl": 9, "cal": 33, "tl": 38, "lcq": 72.7, "cb": 2, "tb": 4, "bcq": 50, "cm": 4, "fcm": 1, "tm": 5, "mcq": 80, "mfcq": 20 }], "metrics": { "cc": 4, "npth": 4, "seq": 0, "bcov": 50 } }, - { "name": "Test.TestClass2", "rp": "", "cl": 24, "ucl": 14, "cal": 38, "tl": 85, "cb": 1, "tb": 2, "cm": 6, "fcm": 3, "tm": 10, "lch": [39.4,39.4,42.1,44.7,39.4,63.1], "bch": [50,40,40,40,40,50], "mch": [60,40,40,60,60,60], "mfch": [40,40,40,40,40,30], "hc": [{ "et": "01.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 10, "tb": 20, "bcq": 50, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "02.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "03.02.2022 - 20:50:35", "cl": 16, "ucl": 22, "cal": 38, "tl": 85, "lcq": 42.1, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "04.02.2022 - 20:50:35", "cl": 16, "ucl": 22, "cal": 38, "tl": 85, "lcq": 42.1, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "05.02.2022 - 20:50:35", "cl": 16, "ucl": 22, "cal": 38, "tl": 85, "lcq": 42.1, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "06.02.2022 - 20:50:35", "cl": 17, "ucl": 21, "cal": 38, "tl": 85, "lcq": 44.7, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "07.02.2022 - 20:50:35", "cl": 17, "ucl": 21, "cal": 38, "tl": 85, "lcq": 44.7, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "08.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "09.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "09.02.2025 - 18:56:52", "cl": 24, "ucl": 14, "cal": 38, "tl": 85, "lcq": 63.1, "cb": 1, "tb": 2, "bcq": 50, "cm": 6, "fcm": 3, "tm": 10, "mcq": 60, "mfcq": 30 }], "metrics": { "cc": 5, "npth": 2, "seq": 0, "bcov": 0, "crp": 5 } }, + { "name": "Sample.PartialClass", "rp": "", "cl": 12, "ucl": 10, "cal": 22, "tl": 53, "cb": 1, "tb": 2, "cm": 3, "fcm": 2, "tm": 6, "lch": [40.9,54.5,59,59,45.4,50,50,59,54.5], "bch": [50,40,40,45,45,45,45,45,50], "mch": [50,33.3,50,66.6,66.6,66.6,83.3,83.3,50], "mfch": [33.3,33.3,50,50,50,50,50,50,33.3], "hc": [{ "et": "01.02.2022 - 20:50:35", "cl": 9, "ucl": 13, "cal": 22, "tl": 53, "lcq": 40.9, "cb": 10, "tb": 20, "bcq": 50, "cm": 3, "fcm": 2, "tm": 6, "mcq": 50, "mfcq": 33.3 }, { "et": "02.02.2022 - 20:50:35", "cl": 12, "ucl": 10, "cal": 22, "tl": 53, "lcq": 54.5, "cb": 8, "tb": 20, "bcq": 40, "cm": 2, "fcm": 2, "tm": 6, "mcq": 33.3, "mfcq": 33.3 }, { "et": "03.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 8, "tb": 20, "bcq": 40, "cm": 3, "fcm": 3, "tm": 6, "mcq": 50, "mfcq": 50 }, { "et": "04.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 9, "tb": 20, "bcq": 45, "cm": 4, "fcm": 3, "tm": 6, "mcq": 66.6, "mfcq": 50 }, { "et": "05.02.2022 - 20:50:35", "cl": 10, "ucl": 12, "cal": 22, "tl": 53, "lcq": 45.4, "cb": 9, "tb": 20, "bcq": 45, "cm": 4, "fcm": 3, "tm": 6, "mcq": 66.6, "mfcq": 50 }, { "et": "06.02.2022 - 20:50:35", "cl": 11, "ucl": 11, "cal": 22, "tl": 53, "lcq": 50, "cb": 9, "tb": 20, "bcq": 45, "cm": 4, "fcm": 3, "tm": 6, "mcq": 66.6, "mfcq": 50 }, { "et": "07.02.2022 - 20:50:35", "cl": 11, "ucl": 11, "cal": 22, "tl": 53, "lcq": 50, "cb": 9, "tb": 20, "bcq": 45, "cm": 5, "fcm": 3, "tm": 6, "mcq": 83.3, "mfcq": 50 }, { "et": "08.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 9, "tb": 20, "bcq": 45, "cm": 5, "fcm": 3, "tm": 6, "mcq": 83.3, "mfcq": 50 }, { "et": "09.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 9, "tb": 20, "bcq": 45, "cm": 5, "fcm": 3, "tm": 6, "mcq": 83.3, "mfcq": 50 }, { "et": "15.10.2025 - 20:25:02", "cl": 12, "ucl": 10, "cal": 22, "tl": 53, "lcq": 54.5, "cb": 1, "tb": 2, "bcq": 50, "cm": 3, "fcm": 2, "tm": 6, "mcq": 50, "mfcq": 33.3 }], "metrics": { "cc": 1, "npth": 0, "seq": 0, "bcov": 0, "crp": 2 } }, + { "name": "Test.Program", "rp": "", "cl": 15, "ucl": 0, "cal": 15, "tl": 84, "cb": 0, "tb": 0, "cm": 3, "fcm": 3, "tm": 3, "lch": [79.5,79.5,79.5,100], "bch": [], "mch": [66.6,66.6,66.6,100], "mfch": [0,16.6,33.3,100], "hc": [{ "et": "01.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 0, "tm": 6, "mcq": 66.6, "mfcq": 0 }, { "et": "02.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 0, "tm": 6, "mcq": 66.6, "mfcq": 0 }, { "et": "03.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 0, "tm": 6, "mcq": 66.6, "mfcq": 0 }, { "et": "04.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 1, "tm": 6, "mcq": 66.6, "mfcq": 16.6 }, { "et": "05.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 1, "tm": 6, "mcq": 66.6, "mfcq": 16.6 }, { "et": "06.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "07.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "08.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "09.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "15.10.2025 - 20:25:02", "cl": 15, "ucl": 0, "cal": 15, "tl": 84, "lcq": 100, "cb": 0, "tb": 0, "bcq": 0, "cm": 3, "fcm": 3, "tm": 3, "mcq": 100, "mfcq": 100 }], "metrics": { "cc": 3, "npth": 0, "seq": 100, "bcov": 100, "crp": 3 } }, + { "name": "Test.TestClass", "rp": "", "cl": 24, "ucl": 9, "cal": 33, "tl": 38, "cb": 2, "tb": 4, "cm": 4, "fcm": 3, "tm": 5, "lch": [72.7], "bch": [50], "mch": [80], "mfch": [60], "hc": [{ "et": "15.10.2025 - 20:25:02", "cl": 24, "ucl": 9, "cal": 33, "tl": 38, "lcq": 72.7, "cb": 2, "tb": 4, "bcq": 50, "cm": 4, "fcm": 3, "tm": 5, "mcq": 80, "mfcq": 60 }], "metrics": { "cc": 4, "npth": 4, "seq": 0, "bcov": 50 } }, + { "name": "Test.TestClass2", "rp": "", "cl": 24, "ucl": 14, "cal": 38, "tl": 85, "cb": 1, "tb": 2, "cm": 6, "fcm": 4, "tm": 10, "lch": [39.4,39.4,42.1,44.7,39.4,63.1], "bch": [50,40,40,40,40,50], "mch": [60,40,40,60,60,60], "mfch": [40,40,40,40,40,40], "hc": [{ "et": "01.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 10, "tb": 20, "bcq": 50, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "02.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "03.02.2022 - 20:50:35", "cl": 16, "ucl": 22, "cal": 38, "tl": 85, "lcq": 42.1, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "04.02.2022 - 20:50:35", "cl": 16, "ucl": 22, "cal": 38, "tl": 85, "lcq": 42.1, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "05.02.2022 - 20:50:35", "cl": 16, "ucl": 22, "cal": 38, "tl": 85, "lcq": 42.1, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "06.02.2022 - 20:50:35", "cl": 17, "ucl": 21, "cal": 38, "tl": 85, "lcq": 44.7, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "07.02.2022 - 20:50:35", "cl": 17, "ucl": 21, "cal": 38, "tl": 85, "lcq": 44.7, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "08.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "09.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "15.10.2025 - 20:25:02", "cl": 24, "ucl": 14, "cal": 38, "tl": 85, "lcq": 63.1, "cb": 1, "tb": 2, "bcq": 50, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }], "metrics": { "cc": 5, "npth": 2, "seq": 0, "bcov": 0, "crp": 5 } }, ]}, ]; @@ -1167,6 +1351,7 @@ var branchCoverageAvailable = true; var methodCoverageAvailable = true; +var applyMaximumGroupingLevel = false; var maximumDecimalPlacesForCoverageQuotas = 1; @@ -1217,7 +1402,7 @@ (()=>{"use strict";var e,_={},p={};function n(e){var a=p[e];if(void 0!==a)return a.exports;var r=p[e]={exports:{}};return _[e](r,r.exports,n),r.exports}n.m=_,e=[],n.O=(a,r,u,l)=>{if(!r){var o=1/0;for(f=0;f=l)&&Object.keys(n.O).every(h=>n.O[h](r[t]))?r.splice(t--,1):(v=!1,l0&&e[f-1][2]>l;f--)e[f]=e[f-1];e[f]=[r,u,l]},n.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return n.d(a,{a}),a},n.d=(e,a)=>{for(var r in a)n.o(a,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},n.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),(()=>{var e={121:0};n.O.j=u=>0===e[u];var a=(u,l)=>{var t,c,[f,o,v]=l,s=0;if(f.some(d=>0!==e[d])){for(t in o)n.o(o,t)&&(n.m[t]=o[t]);if(v)var b=v(n)}for(u&&u(l);s{ve(935)},935:()=>{const te=globalThis;function Q(e){return(te.__Zone_symbol_prefix||"__zone_symbol__")+e}const Te=Object.getOwnPropertyDescriptor,Le=Object.defineProperty,Ie=Object.getPrototypeOf,_t=Object.create,Et=Array.prototype.slice,Me="addEventListener",Ze="removeEventListener",Ae=Q(Me),je=Q(Ze),ae="true",le="false",Pe=Q("");function He(e,r){return Zone.current.wrap(e,r)}function xe(e,r,c,t,i){return Zone.current.scheduleMacroTask(e,r,c,t,i)}const j=Q,Ce=typeof window<"u",ge=Ce?window:void 0,$=Ce&&ge||globalThis;function Ve(e,r){for(let c=e.length-1;c>=0;c--)"function"==typeof e[c]&&(e[c]=He(e[c],r+"_"+c));return e}function We(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const qe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,De=!("nw"in $)&&typeof $.process<"u"&&"[object process]"===$.process.toString(),Ge=!De&&!qe&&!(!Ce||!ge.HTMLElement),Xe=typeof $.process<"u"&&"[object process]"===$.process.toString()&&!qe&&!(!Ce||!ge.HTMLElement),Se={},pt=j("enable_beforeunload"),Ye=function(e){if(!(e=e||$.event))return;let r=Se[e.type];r||(r=Se[e.type]=j("ON_PROPERTY"+e.type));const c=this||e.target||$,t=c[r];let i;return Ge&&c===ge&&"error"===e.type?(i=t&&t.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===i&&e.preventDefault()):(i=t&&t.apply(this,arguments),"beforeunload"===e.type&&$[pt]&&"string"==typeof i?e.returnValue=i:null!=i&&!i&&e.preventDefault()),i};function $e(e,r,c){let t=Te(e,r);if(!t&&c&&Te(c,r)&&(t={enumerable:!0,configurable:!0}),!t||!t.configurable)return;const i=j("on"+r+"patched");if(e.hasOwnProperty(i)&&e[i])return;delete t.writable,delete t.value;const u=t.get,E=t.set,T=r.slice(2);let y=Se[T];y||(y=Se[T]=j("ON_PROPERTY"+T)),t.set=function(D){let d=this;!d&&e===$&&(d=$),d&&("function"==typeof d[y]&&d.removeEventListener(T,Ye),E&&E.call(d,null),d[y]=D,"function"==typeof D&&d.addEventListener(T,Ye,!1))},t.get=function(){let D=this;if(!D&&e===$&&(D=$),!D)return null;const d=D[y];if(d)return d;if(u){let w=u.call(this);if(w)return t.set.call(this,w),"function"==typeof D.removeAttribute&&D.removeAttribute(r),w}return null},Le(e,r,t),e[i]=!0}function Ke(e,r,c){if(r)for(let t=0;tfunction(E,T){const y=c(E,T);return y.cbIdx>=0&&"function"==typeof T[y.cbIdx]?xe(y.name,T[y.cbIdx],y,i):u.apply(E,T)})}function fe(e,r){e[j("OriginalDelegate")]=r}let Je=!1,Be=!1;function kt(){if(Je)return Be;Je=!0;try{const e=ge.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(Be=!0)}catch{}return Be}function Qe(e){return"function"==typeof e}function et(e){return"number"==typeof e}let pe=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){pe=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{pe=!1}const vt={useG:!0},ne={},tt={},nt=new RegExp("^"+Pe+"(\\w+)(true|false)$"),rt=j("propagationStopped");function ot(e,r){const c=(r?r(e):e)+le,t=(r?r(e):e)+ae,i=Pe+c,u=Pe+t;ne[e]={},ne[e][le]=i,ne[e][ae]=u}function bt(e,r,c,t){const i=t&&t.add||Me,u=t&&t.rm||Ze,E=t&&t.listeners||"eventListeners",T=t&&t.rmAll||"removeAllListeners",y=j(i),D="."+i+":",d="prependListener",w="."+d+":",Z=function(k,h,H){if(k.isRemoved)return;const V=k.callback;let Y;"object"==typeof V&&V.handleEvent&&(k.callback=g=>V.handleEvent(g),k.originalDelegate=V);try{k.invoke(k,h,[H])}catch(g){Y=g}const G=k.options;return G&&"object"==typeof G&&G.once&&h[u].call(h,H.type,k.originalDelegate?k.originalDelegate:k.callback,G),Y};function x(k,h,H){if(!(h=h||e.event))return;const V=k||h.target||e,Y=V[ne[h.type][H?ae:le]];if(Y){const G=[];if(1===Y.length){const g=Z(Y[0],V,h);g&&G.push(g)}else{const g=Y.slice();for(let z=0;z{throw z})}}}const U=function(k){return x(this,k,!1)},K=function(k){return x(this,k,!0)};function J(k,h){if(!k)return!1;let H=!0;h&&void 0!==h.useG&&(H=h.useG);const V=h&&h.vh;let Y=!0;h&&void 0!==h.chkDup&&(Y=h.chkDup);let G=!1;h&&void 0!==h.rt&&(G=h.rt);let g=k;for(;g&&!g.hasOwnProperty(i);)g=Ie(g);if(!g&&k[i]&&(g=k),!g||g[y])return!1;const z=h&&h.eventNameToString,O={},R=g[y]=g[i],b=g[j(u)]=g[u],S=g[j(E)]=g[E],ee=g[j(T)]=g[T];let W;h&&h.prepend&&(W=g[j(h.prepend)]=g[h.prepend]);const q=H?function(s){if(!O.isExisting)return R.call(O.target,O.eventName,O.capture?K:U,O.options)}:function(s){return R.call(O.target,O.eventName,s.invoke,O.options)},A=H?function(s){if(!s.isRemoved){const l=ne[s.eventName];let v;l&&(v=l[s.capture?ae:le]);const C=v&&s.target[v];if(C)for(let p=0;pse.zone.cancelTask(se);s.call(me,"abort",ce,{once:!0}),se.removeAbortListener=()=>me.removeEventListener("abort",ce)}return O.target=null,Re&&(Re.taskData=null),lt&&(O.options.once=!0),!pe&&"boolean"==typeof se.options||(se.options=ie),se.target=I,se.capture=Ue,se.eventName=M,F&&(se.originalDelegate=B),L?ke.unshift(se):ke.push(se),p?I:void 0}};return g[i]=a(R,D,q,A,G),W&&(g[d]=a(W,w,function(s){return W.call(O.target,O.eventName,s.invoke,O.options)},A,G,!0)),g[u]=function(){const s=this||e;let l=arguments[0];h&&h.transferEventName&&(l=h.transferEventName(l));const v=arguments[2],C=!!v&&("boolean"==typeof v||v.capture),p=arguments[1];if(!p)return b.apply(this,arguments);if(V&&!V(b,p,s,arguments))return;const L=ne[l];let I;L&&(I=L[C?ae:le]);const M=I&&s[I];if(M)for(let B=0;Bfunction(i,u){i[rt]=!0,t&&t.apply(i,u)})}const Oe=j("zoneTask");function ye(e,r,c,t){let i=null,u=null;c+=t;const E={};function T(D){const d=D.data;d.args[0]=function(){return D.invoke.apply(this,arguments)};const w=i.apply(e,d.args);return et(w)?d.handleId=w:(d.handle=w,d.isRefreshable=Qe(w.refresh)),D}function y(D){const{handle:d,handleId:w}=D.data;return u.call(e,d??w)}i=ue(e,r+=t,D=>function(d,w){if(Qe(w[0])){const Z={isRefreshable:!1,isPeriodic:"Interval"===t,delay:"Timeout"===t||"Interval"===t?w[1]||0:void 0,args:w},x=w[0];w[0]=function(){try{return x.apply(this,arguments)}finally{const{handle:H,handleId:V,isPeriodic:Y,isRefreshable:G}=Z;!Y&&!G&&(V?delete E[V]:H&&(H[Oe]=null))}};const U=xe(r,w[0],Z,T,y);if(!U)return U;const{handleId:K,handle:J,isRefreshable:X,isPeriodic:k}=U.data;if(K)E[K]=U;else if(J&&(J[Oe]=U,X&&!k)){const h=J.refresh;J.refresh=function(){const{zone:H,state:V}=U;return"notScheduled"===V?(U._state="scheduled",H._updateTaskCount(U,1)):"running"===V&&(U._state="scheduling"),h.call(this)}}return J??K??U}return D.apply(e,w)}),u=ue(e,c,D=>function(d,w){const Z=w[0];let x;et(Z)?(x=E[Z],delete E[Z]):(x=Z?.[Oe],x?Z[Oe]=null:x=Z),x?.type?x.cancelFn&&x.zone.cancelTask(x):D.apply(e,w)})}function it(e,r,c){if(!c||0===c.length)return r;const t=c.filter(u=>u.target===e);if(!t||0===t.length)return r;const i=t[0].ignoreProperties;return r.filter(u=>-1===i.indexOf(u))}function ct(e,r,c,t){e&&Ke(e,it(e,r,c),t)}function Fe(e){return Object.getOwnPropertyNames(e).filter(r=>r.startsWith("on")&&r.length>2).map(r=>r.substring(2))}function It(e,r,c,t,i){const u=Zone.__symbol__(t);if(r[u])return;const E=r[u]=r[t];r[t]=function(T,y,D){return y&&y.prototype&&i.forEach(function(d){const w=`${c}.${t}::`+d,Z=y.prototype;try{if(Z.hasOwnProperty(d)){const x=e.ObjectGetOwnPropertyDescriptor(Z,d);x&&x.value?(x.value=e.wrapWithCurrentZone(x.value,w),e._redefineProperty(y.prototype,d,x)):Z[d]&&(Z[d]=e.wrapWithCurrentZone(Z[d],w))}else Z[d]&&(Z[d]=e.wrapWithCurrentZone(Z[d],w))}catch{}}),E.call(r,T,y,D)},e.attachOriginToPatched(r[t],E)}const at=function be(){const e=globalThis,r=!0===e[Q("forceDuplicateZoneCheck")];if(e.Zone&&(r||"function"!=typeof e.Zone.__symbol__))throw new Error("Zone already loaded.");return e.Zone??=function ve(){const e=te.performance;function r(N){e&&e.mark&&e.mark(N)}function c(N,_){e&&e.measure&&e.measure(N,_)}r("Zone");let t=(()=>{class N{static{this.__symbol__=Q}static assertZonePatched(){if(te.Promise!==O.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let n=N.current;for(;n.parent;)n=n.parent;return n}static get current(){return b.zone}static get currentTask(){return S}static __load_patch(n,o,m=!1){if(O.hasOwnProperty(n)){const P=!0===te[Q("forceDuplicateZoneCheck")];if(!m&&P)throw Error("Already loaded patch: "+n)}else if(!te["__Zone_disable_"+n]){const P="Zone:"+n;r(P),O[n]=o(te,N,R),c(P,P)}}get parent(){return this._parent}get name(){return this._name}constructor(n,o){this._parent=n,this._name=o?o.name||"unnamed":"",this._properties=o&&o.properties||{},this._zoneDelegate=new u(this,this._parent&&this._parent._zoneDelegate,o)}get(n){const o=this.getZoneWith(n);if(o)return o._properties[n]}getZoneWith(n){let o=this;for(;o;){if(o._properties.hasOwnProperty(n))return o;o=o._parent}return null}fork(n){if(!n)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,n)}wrap(n,o){if("function"!=typeof n)throw new Error("Expecting function got: "+n);const m=this._zoneDelegate.intercept(this,n,o),P=this;return function(){return P.runGuarded(m,this,arguments,o)}}run(n,o,m,P){b={parent:b,zone:this};try{return this._zoneDelegate.invoke(this,n,o,m,P)}finally{b=b.parent}}runGuarded(n,o=null,m,P){b={parent:b,zone:this};try{try{return this._zoneDelegate.invoke(this,n,o,m,P)}catch(q){if(this._zoneDelegate.handleError(this,q))throw q}}finally{b=b.parent}}runTask(n,o,m){if(n.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(n.zone||J).name+"; Execution: "+this.name+")");const P=n,{type:q,data:{isPeriodic:A=!1,isRefreshable:_e=!1}={}}=n;if(n.state===X&&(q===z||q===g))return;const he=n.state!=H;he&&P._transitionTo(H,h);const de=S;S=P,b={parent:b,zone:this};try{q==g&&n.data&&!A&&!_e&&(n.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,P,o,m)}catch(oe){if(this._zoneDelegate.handleError(this,oe))throw oe}}finally{const oe=n.state;if(oe!==X&&oe!==Y)if(q==z||A||_e&&oe===k)he&&P._transitionTo(h,H,k);else{const f=P._zoneDelegates;this._updateTaskCount(P,-1),he&&P._transitionTo(X,H,X),_e&&(P._zoneDelegates=f)}b=b.parent,S=de}}scheduleTask(n){if(n.zone&&n.zone!==this){let m=this;for(;m;){if(m===n.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${n.zone.name}`);m=m.parent}}n._transitionTo(k,X);const o=[];n._zoneDelegates=o,n._zone=this;try{n=this._zoneDelegate.scheduleTask(this,n)}catch(m){throw n._transitionTo(Y,k,X),this._zoneDelegate.handleError(this,m),m}return n._zoneDelegates===o&&this._updateTaskCount(n,1),n.state==k&&n._transitionTo(h,k),n}scheduleMicroTask(n,o,m,P){return this.scheduleTask(new E(G,n,o,m,P,void 0))}scheduleMacroTask(n,o,m,P,q){return this.scheduleTask(new E(g,n,o,m,P,q))}scheduleEventTask(n,o,m,P,q){return this.scheduleTask(new E(z,n,o,m,P,q))}cancelTask(n){if(n.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(n.zone||J).name+"; Execution: "+this.name+")");if(n.state===h||n.state===H){n._transitionTo(V,h,H);try{this._zoneDelegate.cancelTask(this,n)}catch(o){throw n._transitionTo(Y,V),this._zoneDelegate.handleError(this,o),o}return this._updateTaskCount(n,-1),n._transitionTo(X,V),n.runCount=-1,n}}_updateTaskCount(n,o){const m=n._zoneDelegates;-1==o&&(n._zoneDelegates=null);for(let P=0;PN.hasTask(n,o),onScheduleTask:(N,_,n,o)=>N.scheduleTask(n,o),onInvokeTask:(N,_,n,o,m,P)=>N.invokeTask(n,o,m,P),onCancelTask:(N,_,n,o)=>N.cancelTask(n,o)};class u{get zone(){return this._zone}constructor(_,n,o){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this._zone=_,this._parentDelegate=n,this._forkZS=o&&(o&&o.onFork?o:n._forkZS),this._forkDlgt=o&&(o.onFork?n:n._forkDlgt),this._forkCurrZone=o&&(o.onFork?this._zone:n._forkCurrZone),this._interceptZS=o&&(o.onIntercept?o:n._interceptZS),this._interceptDlgt=o&&(o.onIntercept?n:n._interceptDlgt),this._interceptCurrZone=o&&(o.onIntercept?this._zone:n._interceptCurrZone),this._invokeZS=o&&(o.onInvoke?o:n._invokeZS),this._invokeDlgt=o&&(o.onInvoke?n:n._invokeDlgt),this._invokeCurrZone=o&&(o.onInvoke?this._zone:n._invokeCurrZone),this._handleErrorZS=o&&(o.onHandleError?o:n._handleErrorZS),this._handleErrorDlgt=o&&(o.onHandleError?n:n._handleErrorDlgt),this._handleErrorCurrZone=o&&(o.onHandleError?this._zone:n._handleErrorCurrZone),this._scheduleTaskZS=o&&(o.onScheduleTask?o:n._scheduleTaskZS),this._scheduleTaskDlgt=o&&(o.onScheduleTask?n:n._scheduleTaskDlgt),this._scheduleTaskCurrZone=o&&(o.onScheduleTask?this._zone:n._scheduleTaskCurrZone),this._invokeTaskZS=o&&(o.onInvokeTask?o:n._invokeTaskZS),this._invokeTaskDlgt=o&&(o.onInvokeTask?n:n._invokeTaskDlgt),this._invokeTaskCurrZone=o&&(o.onInvokeTask?this._zone:n._invokeTaskCurrZone),this._cancelTaskZS=o&&(o.onCancelTask?o:n._cancelTaskZS),this._cancelTaskDlgt=o&&(o.onCancelTask?n:n._cancelTaskDlgt),this._cancelTaskCurrZone=o&&(o.onCancelTask?this._zone:n._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const m=o&&o.onHasTask;(m||n&&n._hasTaskZS)&&(this._hasTaskZS=m?o:i,this._hasTaskDlgt=n,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=this._zone,o.onScheduleTask||(this._scheduleTaskZS=i,this._scheduleTaskDlgt=n,this._scheduleTaskCurrZone=this._zone),o.onInvokeTask||(this._invokeTaskZS=i,this._invokeTaskDlgt=n,this._invokeTaskCurrZone=this._zone),o.onCancelTask||(this._cancelTaskZS=i,this._cancelTaskDlgt=n,this._cancelTaskCurrZone=this._zone))}fork(_,n){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,_,n):new t(_,n)}intercept(_,n,o){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,_,n,o):n}invoke(_,n,o,m,P){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,_,n,o,m,P):n.apply(o,m)}handleError(_,n){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,_,n)}scheduleTask(_,n){let o=n;if(this._scheduleTaskZS)this._hasTaskZS&&o._zoneDelegates.push(this._hasTaskDlgtOwner),o=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,_,n),o||(o=n);else if(n.scheduleFn)n.scheduleFn(n);else{if(n.type!=G)throw new Error("Task is missing scheduleFn.");U(n)}return o}invokeTask(_,n,o,m){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,_,n,o,m):n.callback.apply(o,m)}cancelTask(_,n){let o;if(this._cancelTaskZS)o=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,_,n);else{if(!n.cancelFn)throw Error("Task is not cancelable");o=n.cancelFn(n)}return o}hasTask(_,n){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,_,n)}catch(o){this.handleError(_,o)}}_updateTaskCount(_,n){const o=this._taskCounts,m=o[_],P=o[_]=m+n;if(P<0)throw new Error("More tasks executed then were scheduled.");0!=m&&0!=P||this.hasTask(this._zone,{microTask:o.microTask>0,macroTask:o.macroTask>0,eventTask:o.eventTask>0,change:_})}}class E{constructor(_,n,o,m,P,q){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=_,this.source=n,this.data=m,this.scheduleFn=P,this.cancelFn=q,!o)throw new Error("callback is not defined");this.callback=o;const A=this;this.invoke=_===z&&m&&m.useG?E.invokeTask:function(){return E.invokeTask.call(te,A,this,arguments)}}static invokeTask(_,n,o){_||(_=this),ee++;try{return _.runCount++,_.zone.runTask(_,n,o)}finally{1==ee&&K(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(X,k)}_transitionTo(_,n,o){if(this._state!==n&&this._state!==o)throw new Error(`${this.type} '${this.source}': can not transition to '${_}', expecting state '${n}'${o?" or '"+o+"'":""}, was '${this._state}'.`);this._state=_,_==X&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const T=Q("setTimeout"),y=Q("Promise"),D=Q("then");let Z,d=[],w=!1;function x(N){if(Z||te[y]&&(Z=te[y].resolve(0)),Z){let _=Z[D];_||(_=Z.then),_.call(Z,N)}else te[T](N,0)}function U(N){0===ee&&0===d.length&&x(K),N&&d.push(N)}function K(){if(!w){for(w=!0;d.length;){const N=d;d=[];for(let _=0;_b,onUnhandledError:W,microtaskDrainDone:W,scheduleMicroTask:U,showUncaughtError:()=>!t[Q("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:W,patchMethod:()=>W,bindArguments:()=>[],patchThen:()=>W,patchMacroTask:()=>W,patchEventPrototype:()=>W,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>W,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>W,wrapWithCurrentZone:()=>W,filterProperties:()=>[],attachOriginToPatched:()=>W,_redefineProperty:()=>W,patchCallbacks:()=>W,nativeScheduleMicroTask:x};let b={parent:null,zone:new t(null,null)},S=null,ee=0;function W(){}return c("Zone","Zone"),t}(),e.Zone}();(function Zt(e){(function Nt(e){e.__load_patch("ZoneAwarePromise",(r,c,t)=>{const i=Object.getOwnPropertyDescriptor,u=Object.defineProperty,T=t.symbol,y=[],D=!1!==r[T("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],d=T("Promise"),w=T("then");t.onUnhandledError=f=>{if(t.showUncaughtError()){const a=f&&f.rejection;a?console.error("Unhandled Promise rejection:",a instanceof Error?a.message:a,"; Zone:",f.zone.name,"; Task:",f.task&&f.task.source,"; Value:",a,a instanceof Error?a.stack:void 0):console.error(f)}},t.microtaskDrainDone=()=>{for(;y.length;){const f=y.shift();try{f.zone.runGuarded(()=>{throw f.throwOriginal?f.rejection:f})}catch(a){U(a)}}};const x=T("unhandledPromiseRejectionHandler");function U(f){t.onUnhandledError(f);try{const a=c[x];"function"==typeof a&&a.call(this,f)}catch{}}function K(f){return f&&f.then}function J(f){return f}function X(f){return A.reject(f)}const k=T("state"),h=T("value"),H=T("finally"),V=T("parentPromiseValue"),Y=T("parentPromiseState"),g=null,z=!0,O=!1;function b(f,a){return s=>{try{N(f,a,s)}catch(l){N(f,!1,l)}}}const S=function(){let f=!1;return function(s){return function(){f||(f=!0,s.apply(null,arguments))}}},ee="Promise resolved with itself",W=T("currentTaskTrace");function N(f,a,s){const l=S();if(f===s)throw new TypeError(ee);if(f[k]===g){let v=null;try{("object"==typeof s||"function"==typeof s)&&(v=s&&s.then)}catch(C){return l(()=>{N(f,!1,C)})(),f}if(a!==O&&s instanceof A&&s.hasOwnProperty(k)&&s.hasOwnProperty(h)&&s[k]!==g)n(s),N(f,s[k],s[h]);else if(a!==O&&"function"==typeof v)try{v.call(s,l(b(f,a)),l(b(f,!1)))}catch(C){l(()=>{N(f,!1,C)})()}else{f[k]=a;const C=f[h];if(f[h]=s,f[H]===H&&a===z&&(f[k]=f[Y],f[h]=f[V]),a===O&&s instanceof Error){const p=c.currentTask&&c.currentTask.data&&c.currentTask.data.__creationTrace__;p&&u(s,W,{configurable:!0,enumerable:!1,writable:!0,value:p})}for(let p=0;p{try{const L=f[h],I=!!s&&H===s[H];I&&(s[V]=L,s[Y]=C);const M=a.run(p,void 0,I&&p!==X&&p!==J?[]:[L]);N(s,!0,M)}catch(L){N(s,!1,L)}},s)}const P=function(){},q=r.AggregateError;class A{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(a){return a instanceof A?a:N(new this(null),z,a)}static reject(a){return N(new this(null),O,a)}static withResolvers(){const a={};return a.promise=new A((s,l)=>{a.resolve=s,a.reject=l}),a}static any(a){if(!a||"function"!=typeof a[Symbol.iterator])return Promise.reject(new q([],"All promises were rejected"));const s=[];let l=0;try{for(let p of a)l++,s.push(A.resolve(p))}catch{return Promise.reject(new q([],"All promises were rejected"))}if(0===l)return Promise.reject(new q([],"All promises were rejected"));let v=!1;const C=[];return new A((p,L)=>{for(let I=0;I{v||(v=!0,p(M))},M=>{C.push(M),l--,0===l&&(v=!0,L(new q(C,"All promises were rejected")))})})}static race(a){let s,l,v=new this((L,I)=>{s=L,l=I});function C(L){s(L)}function p(L){l(L)}for(let L of a)K(L)||(L=this.resolve(L)),L.then(C,p);return v}static all(a){return A.allWithCallback(a)}static allSettled(a){return(this&&this.prototype instanceof A?this:A).allWithCallback(a,{thenCallback:l=>({status:"fulfilled",value:l}),errorCallback:l=>({status:"rejected",reason:l})})}static allWithCallback(a,s){let l,v,C=new this((M,B)=>{l=M,v=B}),p=2,L=0;const I=[];for(let M of a){K(M)||(M=this.resolve(M));const B=L;try{M.then(F=>{I[B]=s?s.thenCallback(F):F,p--,0===p&&l(I)},F=>{s?(I[B]=s.errorCallback(F),p--,0===p&&l(I)):v(F)})}catch(F){v(F)}p++,L++}return p-=2,0===p&&l(I),C}constructor(a){const s=this;if(!(s instanceof A))throw new Error("Must be an instanceof Promise.");s[k]=g,s[h]=[];try{const l=S();a&&a(l(b(s,z)),l(b(s,O)))}catch(l){N(s,!1,l)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return A}then(a,s){let l=this.constructor?.[Symbol.species];(!l||"function"!=typeof l)&&(l=this.constructor||A);const v=new l(P),C=c.current;return this[k]==g?this[h].push(C,v,a,s):o(this,C,v,a,s),v}catch(a){return this.then(null,a)}finally(a){let s=this.constructor?.[Symbol.species];(!s||"function"!=typeof s)&&(s=A);const l=new s(P);l[H]=H;const v=c.current;return this[k]==g?this[h].push(v,l,a,a):o(this,v,l,a,a),l}}A.resolve=A.resolve,A.reject=A.reject,A.race=A.race,A.all=A.all;const _e=r[d]=r.Promise;r.Promise=A;const he=T("thenPatched");function de(f){const a=f.prototype,s=i(a,"then");if(s&&(!1===s.writable||!s.configurable))return;const l=a.then;a[w]=l,f.prototype.then=function(v,C){return new A((L,I)=>{l.call(this,L,I)}).then(v,C)},f[he]=!0}return t.patchThen=de,_e&&(de(_e),ue(r,"fetch",f=>function oe(f){return function(a,s){let l=f.apply(a,s);if(l instanceof A)return l;let v=l.constructor;return v[he]||de(v),l}}(f))),Promise[c.__symbol__("uncaughtPromiseErrors")]=y,A})})(e),function Lt(e){e.__load_patch("toString",r=>{const c=Function.prototype.toString,t=j("OriginalDelegate"),i=j("Promise"),u=j("Error"),E=function(){if("function"==typeof this){const d=this[t];if(d)return"function"==typeof d?c.call(d):Object.prototype.toString.call(d);if(this===Promise){const w=r[i];if(w)return c.call(w)}if(this===Error){const w=r[u];if(w)return c.call(w)}}return c.call(this)};E[t]=c,Function.prototype.toString=E;const T=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":T.call(this)}})}(e),function Mt(e){e.__load_patch("util",(r,c,t)=>{const i=Fe(r);t.patchOnProperties=Ke,t.patchMethod=ue,t.bindArguments=Ve,t.patchMacroTask=yt;const u=c.__symbol__("BLACK_LISTED_EVENTS"),E=c.__symbol__("UNPATCHED_EVENTS");r[E]&&(r[u]=r[E]),r[u]&&(c[u]=c[E]=r[u]),t.patchEventPrototype=Pt,t.patchEventTarget=bt,t.isIEOrEdge=kt,t.ObjectDefineProperty=Le,t.ObjectGetOwnPropertyDescriptor=Te,t.ObjectCreate=_t,t.ArraySlice=Et,t.patchClass=we,t.wrapWithCurrentZone=He,t.filterProperties=it,t.attachOriginToPatched=fe,t._redefineProperty=Object.defineProperty,t.patchCallbacks=It,t.getGlobalObjects=()=>({globalSources:tt,zoneSymbolEventNames:ne,eventNames:i,isBrowser:Ge,isMix:Xe,isNode:De,TRUE_STR:ae,FALSE_STR:le,ZONE_SYMBOL_PREFIX:Pe,ADD_EVENT_LISTENER_STR:Me,REMOVE_EVENT_LISTENER_STR:Ze})})}(e)})(at),function Ot(e){e.__load_patch("legacy",r=>{const c=r[e.__symbol__("legacyPatch")];c&&c()}),e.__load_patch("timers",r=>{const c="set",t="clear";ye(r,c,t,"Timeout"),ye(r,c,t,"Interval"),ye(r,c,t,"Immediate")}),e.__load_patch("requestAnimationFrame",r=>{ye(r,"request","cancel","AnimationFrame"),ye(r,"mozRequest","mozCancel","AnimationFrame"),ye(r,"webkitRequest","webkitCancel","AnimationFrame")}),e.__load_patch("blocking",(r,c)=>{const t=["alert","prompt","confirm"];for(let i=0;ifunction(D,d){return c.current.run(E,r,d,y)})}),e.__load_patch("EventTarget",(r,c,t)=>{(function Dt(e,r){r.patchEventPrototype(e,r)})(r,t),function Ct(e,r){if(Zone[r.symbol("patchEventTarget")])return;const{eventNames:c,zoneSymbolEventNames:t,TRUE_STR:i,FALSE_STR:u,ZONE_SYMBOL_PREFIX:E}=r.getGlobalObjects();for(let y=0;y{we("MutationObserver"),we("WebKitMutationObserver")}),e.__load_patch("IntersectionObserver",(r,c,t)=>{we("IntersectionObserver")}),e.__load_patch("FileReader",(r,c,t)=>{we("FileReader")}),e.__load_patch("on_property",(r,c,t)=>{!function St(e,r){if(De&&!Xe||Zone[e.symbol("patchEvents")])return;const c=r.__Zone_ignore_on_properties;let t=[];if(Ge){const i=window;t=t.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const u=function mt(){try{const e=ge.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:i,ignoreProperties:["error"]}]:[];ct(i,Fe(i),c&&c.concat(u),Ie(i))}t=t.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let i=0;i{!function Rt(e,r){const{isBrowser:c,isMix:t}=r.getGlobalObjects();(c||t)&&e.customElements&&"customElements"in e&&r.patchCallbacks(r,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback","formAssociatedCallback","formDisabledCallback","formResetCallback","formStateRestoreCallback"])}(r,t)}),e.__load_patch("XHR",(r,c)=>{!function D(d){const w=d.XMLHttpRequest;if(!w)return;const Z=w.prototype;let U=Z[Ae],K=Z[je];if(!U){const R=d.XMLHttpRequestEventTarget;if(R){const b=R.prototype;U=b[Ae],K=b[je]}}const J="readystatechange",X="scheduled";function k(R){const b=R.data,S=b.target;S[E]=!1,S[y]=!1;const ee=S[u];U||(U=S[Ae],K=S[je]),ee&&K.call(S,J,ee);const W=S[u]=()=>{if(S.readyState===S.DONE)if(!b.aborted&&S[E]&&R.state===X){const _=S[c.__symbol__("loadfalse")];if(0!==S.status&&_&&_.length>0){const n=R.invoke;R.invoke=function(){const o=S[c.__symbol__("loadfalse")];for(let m=0;mfunction(R,b){return R[i]=0==b[2],R[T]=b[1],V.apply(R,b)}),G=j("fetchTaskAborting"),g=j("fetchTaskScheduling"),z=ue(Z,"send",()=>function(R,b){if(!0===c.current[g]||R[i])return z.apply(R,b);{const S={target:R,url:R[T],isPeriodic:!1,args:b,aborted:!1},ee=xe("XMLHttpRequest.send",h,S,k,H);R&&!0===R[y]&&!S.aborted&&ee.state===X&&ee.invoke()}}),O=ue(Z,"abort",()=>function(R,b){const S=function x(R){return R[t]}(R);if(S&&"string"==typeof S.type){if(null==S.cancelFn||S.data&&S.data.aborted)return;S.zone.cancelTask(S)}else if(!0===c.current[G])return O.apply(R,b)})}(r);const t=j("xhrTask"),i=j("xhrSync"),u=j("xhrListener"),E=j("xhrScheduled"),T=j("xhrURL"),y=j("xhrErrorBeforeScheduled")}),e.__load_patch("geolocation",r=>{r.navigator&&r.navigator.geolocation&&function gt(e,r){const c=e.constructor.name;for(let t=0;t{const y=function(){return T.apply(this,Ve(arguments,c+"."+i))};return fe(y,T),y})(u)}}}(r.navigator.geolocation,["getCurrentPosition","watchPosition"])}),e.__load_patch("PromiseRejectionEvent",(r,c)=>{function t(i){return function(u){st(r,i).forEach(T=>{const y=r.PromiseRejectionEvent;if(y){const D=new y(i,{promise:u.promise,reason:u.rejection});T.invoke(D)}})}}r.PromiseRejectionEvent&&(c[j("unhandledPromiseRejectionHandler")]=t("unhandledrejection"),c[j("rejectionHandledHandler")]=t("rejectionhandled"))}),e.__load_patch("queueMicrotask",(r,c,t)=>{!function wt(e,r){r.patchMethod(e,"queueMicrotask",c=>function(t,i){Zone.current.scheduleMicroTask("queueMicrotask",i[0])})}(r,t)})}(at)}},te=>{te(te.s=50)}]); +"use strict";(self.webpackChunkcoverage_app=self.webpackChunkcoverage_app||[]).push([[461],{50:(te,Q,ve)=>{ve(935)},935:()=>{const te=globalThis;function Q(t){return(te.__Zone_symbol_prefix||"__zone_symbol__")+t}const Ee=Object.getOwnPropertyDescriptor,Le=Object.defineProperty,Ie=Object.getPrototypeOf,_t=Object.create,Et=Array.prototype.slice,Me="addEventListener",Ze="removeEventListener",Ae=Q(Me),je=Q(Ze),ae="true",le="false",Pe=Q("");function He(t,r){return Zone.current.wrap(t,r)}function xe(t,r,i,n,s){return Zone.current.scheduleMacroTask(t,r,i,n,s)}const H=Q,Ce=typeof window<"u",Te=Ce?window:void 0,$=Ce&&Te||globalThis;function Ve(t,r){for(let i=t.length-1;i>=0;i--)"function"==typeof t[i]&&(t[i]=He(t[i],r+"_"+i));return t}function We(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&typeof t.set>"u")}const qe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,De=!("nw"in $)&&typeof $.process<"u"&&"[object process]"===$.process.toString(),Ge=!De&&!qe&&!(!Ce||!Te.HTMLElement),Xe=typeof $.process<"u"&&"[object process]"===$.process.toString()&&!qe&&!(!Ce||!Te.HTMLElement),Se={},pt=H("enable_beforeunload"),Ye=function(t){if(!(t=t||$.event))return;let r=Se[t.type];r||(r=Se[t.type]=H("ON_PROPERTY"+t.type));const i=this||t.target||$,n=i[r];let s;return Ge&&i===Te&&"error"===t.type?(s=n&&n.call(this,t.message,t.filename,t.lineno,t.colno,t.error),!0===s&&t.preventDefault()):(s=n&&n.apply(this,arguments),"beforeunload"===t.type&&$[pt]&&"string"==typeof s?t.returnValue=s:null!=s&&!s&&t.preventDefault()),s};function $e(t,r,i){let n=Ee(t,r);if(!n&&i&&Ee(i,r)&&(n={enumerable:!0,configurable:!0}),!n||!n.configurable)return;const s=H("on"+r+"patched");if(t.hasOwnProperty(s)&&t[s])return;delete n.writable,delete n.value;const f=n.get,T=n.set,g=r.slice(2);let m=Se[g];m||(m=Se[g]=H("ON_PROPERTY"+g)),n.set=function(C){let E=this;!E&&t===$&&(E=$),E&&("function"==typeof E[m]&&E.removeEventListener(g,Ye),T&&T.call(E,null),E[m]=C,"function"==typeof C&&E.addEventListener(g,Ye,!1))},n.get=function(){let C=this;if(!C&&t===$&&(C=$),!C)return null;const E=C[m];if(E)return E;if(f){let P=f.call(this);if(P)return n.set.call(this,P),"function"==typeof C.removeAttribute&&C.removeAttribute(r),P}return null},Le(t,r,n),t[s]=!0}function Ke(t,r,i){if(r)for(let n=0;nfunction(T,g){const m=i(T,g);return m.cbIdx>=0&&"function"==typeof g[m.cbIdx]?xe(m.name,g[m.cbIdx],m,s):f.apply(T,g)})}function fe(t,r){t[H("OriginalDelegate")]=r}let Je=!1,Be=!1;function kt(){if(Je)return Be;Je=!0;try{const t=Te.navigator.userAgent;(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/")||-1!==t.indexOf("Edge/"))&&(Be=!0)}catch{}return Be}function Qe(t){return"function"==typeof t}function et(t){return"number"==typeof t}let ge=!1;if(typeof window<"u")try{const t=Object.defineProperty({},"passive",{get:function(){ge=!0}});window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch{ge=!1}const vt={useG:!0},ne={},tt={},nt=new RegExp("^"+Pe+"(\\w+)(true|false)$"),rt=H("propagationStopped");function ot(t,r){const i=(r?r(t):t)+le,n=(r?r(t):t)+ae,s=Pe+i,f=Pe+n;ne[t]={},ne[t][le]=s,ne[t][ae]=f}function bt(t,r,i,n){const s=n&&n.add||Me,f=n&&n.rm||Ze,T=n&&n.listeners||"eventListeners",g=n&&n.rmAll||"removeAllListeners",m=H(s),C="."+s+":",E="prependListener",P="."+E+":",A=function(k,h,x){if(k.isRemoved)return;const G=k.callback;let Y;"object"==typeof G&&G.handleEvent&&(k.callback=p=>G.handleEvent(p),k.originalDelegate=G);try{k.invoke(k,h,[x])}catch(p){Y=p}const B=k.options;return B&&"object"==typeof B&&B.once&&h[f].call(h,x.type,k.originalDelegate?k.originalDelegate:k.callback,B),Y};function V(k,h,x){if(!(h=h||t.event))return;const G=k||h.target||t,Y=G[ne[h.type][x?ae:le]];if(Y){const B=[];if(1===Y.length){const p=A(Y[0],G,h);p&&B.push(p)}else{const p=Y.slice();for(let W=0;W{throw W})}}}const z=function(k){return V(this,k,!1)},K=function(k){return V(this,k,!0)};function J(k,h){if(!k)return!1;let x=!0;h&&void 0!==h.useG&&(x=h.useG);const G=h&&h.vh;let Y=!0;h&&void 0!==h.chkDup&&(Y=h.chkDup);let B=!1;h&&void 0!==h.rt&&(B=h.rt);let p=k;for(;p&&!p.hasOwnProperty(s);)p=Ie(p);if(!p&&k[s]&&(p=k),!p||p[m])return!1;const W=h&&h.eventNameToString,L={},w=p[m]=p[s],b=p[H(f)]=p[f],S=p[H(T)]=p[T],ee=p[H(g)]=p[g];let q;h&&h.prepend&&(q=p[H(h.prepend)]=p[h.prepend]);const N=x?function(o){if(!L.isExisting)return w.call(L.target,L.eventName,L.capture?K:z,L.options)}:function(o){return w.call(L.target,L.eventName,o.invoke,L.options)},D=x?function(o){if(!o.isRemoved){const u=ne[o.eventName];let v;u&&(v=u[o.capture?ae:le]);const R=v&&o.target[v];if(R)for(let y=0;yse.zone.cancelTask(se);o.call(me,"abort",ce,{once:!0}),se.removeAbortListener=()=>me.removeEventListener("abort",ce)}return L.target=null,Re&&(Re.taskData=null),lt&&(L.options.once=!0),!ge&&"boolean"==typeof se.options||(se.options=ie),se.target=M,se.capture=Ue,se.eventName=Z,U&&(se.originalDelegate=F),I?ke.unshift(se):ke.push(se),y?M:void 0}};return p[s]=a(w,C,N,D,B),q&&(p[E]=a(q,P,function(o){return q.call(L.target,L.eventName,o.invoke,L.options)},D,B,!0)),p[f]=function(){const o=this||t;let u=arguments[0];h&&h.transferEventName&&(u=h.transferEventName(u));const v=arguments[2],R=!!v&&("boolean"==typeof v||v.capture),y=arguments[1];if(!y)return b.apply(this,arguments);if(G&&!G(b,y,o,arguments))return;const I=ne[u];let M;I&&(M=I[R?ae:le]);const Z=M&&o[M];if(Z)for(let F=0;Ffunction(s,f){s[rt]=!0,n&&n.apply(s,f)})}const Oe=H("zoneTask");function pe(t,r,i,n){let s=null,f=null;i+=n;const T={};function g(C){const E=C.data;E.args[0]=function(){return C.invoke.apply(this,arguments)};const P=s.apply(t,E.args);return et(P)?E.handleId=P:(E.handle=P,E.isRefreshable=Qe(P.refresh)),C}function m(C){const{handle:E,handleId:P}=C.data;return f.call(t,E??P)}s=ue(t,r+=n,C=>function(E,P){if(Qe(P[0])){const A={isRefreshable:!1,isPeriodic:"Interval"===n,delay:"Timeout"===n||"Interval"===n?P[1]||0:void 0,args:P},V=P[0];P[0]=function(){try{return V.apply(this,arguments)}finally{const{handle:x,handleId:G,isPeriodic:Y,isRefreshable:B}=A;!Y&&!B&&(G?delete T[G]:x&&(x[Oe]=null))}};const z=xe(r,P[0],A,g,m);if(!z)return z;const{handleId:K,handle:J,isRefreshable:X,isPeriodic:k}=z.data;if(K)T[K]=z;else if(J&&(J[Oe]=z,X&&!k)){const h=J.refresh;J.refresh=function(){const{zone:x,state:G}=z;return"notScheduled"===G?(z._state="scheduled",x._updateTaskCount(z,1)):"running"===G&&(z._state="scheduling"),h.call(this)}}return J??K??z}return C.apply(t,P)}),f=ue(t,i,C=>function(E,P){const A=P[0];let V;et(A)?(V=T[A],delete T[A]):(V=A?.[Oe],V?A[Oe]=null:V=A),V?.type?V.cancelFn&&V.zone.cancelTask(V):C.apply(t,P)})}function it(t,r,i){if(!i||0===i.length)return r;const n=i.filter(f=>f.target===t);if(!n||0===n.length)return r;const s=n[0].ignoreProperties;return r.filter(f=>-1===s.indexOf(f))}function ct(t,r,i,n){t&&Ke(t,it(t,r,i),n)}function Fe(t){return Object.getOwnPropertyNames(t).filter(r=>r.startsWith("on")&&r.length>2).map(r=>r.substring(2))}function It(t,r,i,n,s){const f=Zone.__symbol__(n);if(r[f])return;const T=r[f]=r[n];r[n]=function(g,m,C){return m&&m.prototype&&s.forEach(function(E){const P=`${i}.${n}::`+E,A=m.prototype;try{if(A.hasOwnProperty(E)){const V=t.ObjectGetOwnPropertyDescriptor(A,E);V&&V.value?(V.value=t.wrapWithCurrentZone(V.value,P),t._redefineProperty(m.prototype,E,V)):A[E]&&(A[E]=t.wrapWithCurrentZone(A[E],P))}else A[E]&&(A[E]=t.wrapWithCurrentZone(A[E],P))}catch{}}),T.call(r,g,m,C)},t.attachOriginToPatched(r[n],T)}const at=function be(){const t=globalThis,r=!0===t[Q("forceDuplicateZoneCheck")];if(t.Zone&&(r||"function"!=typeof t.Zone.__symbol__))throw new Error("Zone already loaded.");return t.Zone??=function ve(){const t=te.performance;function r(j){t&&t.mark&&t.mark(j)}function i(j,_){t&&t.measure&&t.measure(j,_)}r("Zone");let n=(()=>{var j;class _{static assertZonePatched(){if(te.Promise!==L.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let e=_.current;for(;e.parent;)e=e.parent;return e}static get current(){return b.zone}static get currentTask(){return S}static __load_patch(e,d,O=!1){if(L.hasOwnProperty(e)){const N=!0===te[Q("forceDuplicateZoneCheck")];if(!O&&N)throw Error("Already loaded patch: "+e)}else if(!te["__Zone_disable_"+e]){const N="Zone:"+e;r(N),L[e]=d(te,_,w),i(N,N)}}get parent(){return this._parent}get name(){return this._name}constructor(e,d){this._parent=e,this._name=d?d.name||"unnamed":"",this._properties=d&&d.properties||{},this._zoneDelegate=new f(this,this._parent&&this._parent._zoneDelegate,d)}get(e){const d=this.getZoneWith(e);if(d)return d._properties[e]}getZoneWith(e){let d=this;for(;d;){if(d._properties.hasOwnProperty(e))return d;d=d._parent}return null}fork(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)}wrap(e,d){if("function"!=typeof e)throw new Error("Expecting function got: "+e);const O=this._zoneDelegate.intercept(this,e,d),N=this;return function(){return N.runGuarded(O,this,arguments,d)}}run(e,d,O,N){b={parent:b,zone:this};try{return this._zoneDelegate.invoke(this,e,d,O,N)}finally{b=b.parent}}runGuarded(e,d=null,O,N){b={parent:b,zone:this};try{try{return this._zoneDelegate.invoke(this,e,d,O,N)}catch(D){if(this._zoneDelegate.handleError(this,D))throw D}}finally{b=b.parent}}runTask(e,d,O){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||J).name+"; Execution: "+this.name+")");const N=e,{type:D,data:{isPeriodic:_e=!1,isRefreshable:he=!1}={}}=e;if(e.state===X&&(D===W||D===p))return;const oe=e.state!=x;oe&&N._transitionTo(x,h);const ye=S;S=N,b={parent:b,zone:this};try{D==p&&e.data&&!_e&&!he&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,N,d,O)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{const l=e.state;if(l!==X&&l!==Y)if(D==W||_e||he&&l===k)oe&&N._transitionTo(h,x,k);else{const a=N._zoneDelegates;this._updateTaskCount(N,-1),oe&&N._transitionTo(X,x,X),he&&(N._zoneDelegates=a)}b=b.parent,S=ye}}scheduleTask(e){if(e.zone&&e.zone!==this){let O=this;for(;O;){if(O===e.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${e.zone.name}`);O=O.parent}}e._transitionTo(k,X);const d=[];e._zoneDelegates=d,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(O){throw e._transitionTo(Y,k,X),this._zoneDelegate.handleError(this,O),O}return e._zoneDelegates===d&&this._updateTaskCount(e,1),e.state==k&&e._transitionTo(h,k),e}scheduleMicroTask(e,d,O,N){return this.scheduleTask(new T(B,e,d,O,N,void 0))}scheduleMacroTask(e,d,O,N,D){return this.scheduleTask(new T(p,e,d,O,N,D))}scheduleEventTask(e,d,O,N,D){return this.scheduleTask(new T(W,e,d,O,N,D))}cancelTask(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||J).name+"; Execution: "+this.name+")");if(e.state===h||e.state===x){e._transitionTo(G,h,x);try{this._zoneDelegate.cancelTask(this,e)}catch(d){throw e._transitionTo(Y,G),this._zoneDelegate.handleError(this,d),d}return this._updateTaskCount(e,-1),e._transitionTo(X,G),e.runCount=-1,e}}_updateTaskCount(e,d){const O=e._zoneDelegates;-1==d&&(e._zoneDelegates=null);for(let N=0;Nthis.__symbol__=Q}return j(),_})();const s={name:"",onHasTask:(j,_,c,e)=>j.hasTask(c,e),onScheduleTask:(j,_,c,e)=>j.scheduleTask(c,e),onInvokeTask:(j,_,c,e,d,O)=>j.invokeTask(c,e,d,O),onCancelTask:(j,_,c,e)=>j.cancelTask(c,e)};class f{get zone(){return this._zone}constructor(_,c,e){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this._zone=_,this._parentDelegate=c,this._forkZS=e&&(e&&e.onFork?e:c._forkZS),this._forkDlgt=e&&(e.onFork?c:c._forkDlgt),this._forkCurrZone=e&&(e.onFork?this._zone:c._forkCurrZone),this._interceptZS=e&&(e.onIntercept?e:c._interceptZS),this._interceptDlgt=e&&(e.onIntercept?c:c._interceptDlgt),this._interceptCurrZone=e&&(e.onIntercept?this._zone:c._interceptCurrZone),this._invokeZS=e&&(e.onInvoke?e:c._invokeZS),this._invokeDlgt=e&&(e.onInvoke?c:c._invokeDlgt),this._invokeCurrZone=e&&(e.onInvoke?this._zone:c._invokeCurrZone),this._handleErrorZS=e&&(e.onHandleError?e:c._handleErrorZS),this._handleErrorDlgt=e&&(e.onHandleError?c:c._handleErrorDlgt),this._handleErrorCurrZone=e&&(e.onHandleError?this._zone:c._handleErrorCurrZone),this._scheduleTaskZS=e&&(e.onScheduleTask?e:c._scheduleTaskZS),this._scheduleTaskDlgt=e&&(e.onScheduleTask?c:c._scheduleTaskDlgt),this._scheduleTaskCurrZone=e&&(e.onScheduleTask?this._zone:c._scheduleTaskCurrZone),this._invokeTaskZS=e&&(e.onInvokeTask?e:c._invokeTaskZS),this._invokeTaskDlgt=e&&(e.onInvokeTask?c:c._invokeTaskDlgt),this._invokeTaskCurrZone=e&&(e.onInvokeTask?this._zone:c._invokeTaskCurrZone),this._cancelTaskZS=e&&(e.onCancelTask?e:c._cancelTaskZS),this._cancelTaskDlgt=e&&(e.onCancelTask?c:c._cancelTaskDlgt),this._cancelTaskCurrZone=e&&(e.onCancelTask?this._zone:c._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const d=e&&e.onHasTask;(d||c&&c._hasTaskZS)&&(this._hasTaskZS=d?e:s,this._hasTaskDlgt=c,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=this._zone,e.onScheduleTask||(this._scheduleTaskZS=s,this._scheduleTaskDlgt=c,this._scheduleTaskCurrZone=this._zone),e.onInvokeTask||(this._invokeTaskZS=s,this._invokeTaskDlgt=c,this._invokeTaskCurrZone=this._zone),e.onCancelTask||(this._cancelTaskZS=s,this._cancelTaskDlgt=c,this._cancelTaskCurrZone=this._zone))}fork(_,c){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,_,c):new n(_,c)}intercept(_,c,e){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,_,c,e):c}invoke(_,c,e,d,O){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,_,c,e,d,O):c.apply(e,d)}handleError(_,c){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,_,c)}scheduleTask(_,c){let e=c;if(this._scheduleTaskZS)this._hasTaskZS&&e._zoneDelegates.push(this._hasTaskDlgtOwner),e=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,_,c),e||(e=c);else if(c.scheduleFn)c.scheduleFn(c);else{if(c.type!=B)throw new Error("Task is missing scheduleFn.");z(c)}return e}invokeTask(_,c,e,d){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,_,c,e,d):c.callback.apply(e,d)}cancelTask(_,c){let e;if(this._cancelTaskZS)e=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,_,c);else{if(!c.cancelFn)throw Error("Task is not cancelable");e=c.cancelFn(c)}return e}hasTask(_,c){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,_,c)}catch(e){this.handleError(_,e)}}_updateTaskCount(_,c){const e=this._taskCounts,d=e[_],O=e[_]=d+c;if(O<0)throw new Error("More tasks executed then were scheduled.");0!=d&&0!=O||this.hasTask(this._zone,{microTask:e.microTask>0,macroTask:e.macroTask>0,eventTask:e.eventTask>0,change:_})}}class T{constructor(_,c,e,d,O,N){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=_,this.source=c,this.data=d,this.scheduleFn=O,this.cancelFn=N,!e)throw new Error("callback is not defined");this.callback=e;const D=this;this.invoke=_===W&&d&&d.useG?T.invokeTask:function(){return T.invokeTask.call(te,D,this,arguments)}}static invokeTask(_,c,e){_||(_=this),ee++;try{return _.runCount++,_.zone.runTask(_,c,e)}finally{1==ee&&K(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(X,k)}_transitionTo(_,c,e){if(this._state!==c&&this._state!==e)throw new Error(`${this.type} '${this.source}': can not transition to '${_}', expecting state '${c}'${e?" or '"+e+"'":""}, was '${this._state}'.`);this._state=_,_==X&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const g=Q("setTimeout"),m=Q("Promise"),C=Q("then");let A,E=[],P=!1;function V(j){if(A||te[m]&&(A=te[m].resolve(0)),A){let _=A[C];_||(_=A.then),_.call(A,j)}else te[g](j,0)}function z(j){0===ee&&0===E.length&&V(K),j&&E.push(j)}function K(){if(!P){for(P=!0;E.length;){const j=E;E=[];for(let _=0;_b,onUnhandledError:q,microtaskDrainDone:q,scheduleMicroTask:z,showUncaughtError:()=>!n[Q("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:q,patchMethod:()=>q,bindArguments:()=>[],patchThen:()=>q,patchMacroTask:()=>q,patchEventPrototype:()=>q,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>q,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>q,wrapWithCurrentZone:()=>q,filterProperties:()=>[],attachOriginToPatched:()=>q,_redefineProperty:()=>q,patchCallbacks:()=>q,nativeScheduleMicroTask:V};let b={parent:null,zone:new n(null,null)},S=null,ee=0;function q(){}return i("Zone","Zone"),n}(),t.Zone}();(function Zt(t){(function Nt(t){t.__load_patch("ZoneAwarePromise",(r,i,n)=>{const s=Object.getOwnPropertyDescriptor,f=Object.defineProperty,g=n.symbol,m=[],C=!1!==r[g("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],E=g("Promise"),P=g("then");n.onUnhandledError=l=>{if(n.showUncaughtError()){const a=l&&l.rejection;a?console.error("Unhandled Promise rejection:",a instanceof Error?a.message:a,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",a,a instanceof Error?a.stack:void 0):console.error(l)}},n.microtaskDrainDone=()=>{for(;m.length;){const l=m.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(a){z(a)}}};const V=g("unhandledPromiseRejectionHandler");function z(l){n.onUnhandledError(l);try{const a=i[V];"function"==typeof a&&a.call(this,l)}catch{}}function K(l){return l&&l.then}function J(l){return l}function X(l){return D.reject(l)}const k=g("state"),h=g("value"),x=g("finally"),G=g("parentPromiseValue"),Y=g("parentPromiseState"),p=null,W=!0,L=!1;function b(l,a){return o=>{try{j(l,a,o)}catch(u){j(l,!1,u)}}}const S=function(){let l=!1;return function(o){return function(){l||(l=!0,o.apply(null,arguments))}}},ee="Promise resolved with itself",q=g("currentTaskTrace");function j(l,a,o){const u=S();if(l===o)throw new TypeError(ee);if(l[k]===p){let v=null;try{("object"==typeof o||"function"==typeof o)&&(v=o&&o.then)}catch(R){return u(()=>{j(l,!1,R)})(),l}if(a!==L&&o instanceof D&&o.hasOwnProperty(k)&&o.hasOwnProperty(h)&&o[k]!==p)c(o),j(l,o[k],o[h]);else if(a!==L&&"function"==typeof v)try{v.call(o,u(b(l,a)),u(b(l,!1)))}catch(R){u(()=>{j(l,!1,R)})()}else{l[k]=a;const R=l[h];if(l[h]=o,l[x]===x&&a===W&&(l[k]=l[Y],l[h]=l[G]),a===L&&o instanceof Error){const y=i.currentTask&&i.currentTask.data&&i.currentTask.data.__creationTrace__;y&&f(o,q,{configurable:!0,enumerable:!1,writable:!0,value:y})}for(let y=0;y{try{const I=l[h],M=!!o&&x===o[x];M&&(o[G]=I,o[Y]=R);const Z=a.run(y,void 0,M&&y!==X&&y!==J?[]:[I]);j(o,!0,Z)}catch(I){j(o,!1,I)}},o)}const O=function(){},N=r.AggregateError;class D{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(a){return a instanceof D?a:j(new this(null),W,a)}static reject(a){return j(new this(null),L,a)}static withResolvers(){const a={};return a.promise=new D((o,u)=>{a.resolve=o,a.reject=u}),a}static any(a){if(!a||"function"!=typeof a[Symbol.iterator])return Promise.reject(new N([],"All promises were rejected"));const o=[];let u=0;try{for(let y of a)u++,o.push(D.resolve(y))}catch{return Promise.reject(new N([],"All promises were rejected"))}if(0===u)return Promise.reject(new N([],"All promises were rejected"));let v=!1;const R=[];return new D((y,I)=>{for(let M=0;M{v||(v=!0,y(Z))},Z=>{R.push(Z),u--,0===u&&(v=!0,I(new N(R,"All promises were rejected")))})})}static race(a){let o,u,v=new this((I,M)=>{o=I,u=M});function R(I){o(I)}function y(I){u(I)}for(let I of a)K(I)||(I=this.resolve(I)),I.then(R,y);return v}static all(a){return D.allWithCallback(a)}static allSettled(a){return(this&&this.prototype instanceof D?this:D).allWithCallback(a,{thenCallback:u=>({status:"fulfilled",value:u}),errorCallback:u=>({status:"rejected",reason:u})})}static allWithCallback(a,o){let u,v,R=new this((Z,F)=>{u=Z,v=F}),y=2,I=0;const M=[];for(let Z of a){K(Z)||(Z=this.resolve(Z));const F=I;try{Z.then(U=>{M[F]=o?o.thenCallback(U):U,y--,0===y&&u(M)},U=>{o?(M[F]=o.errorCallback(U),y--,0===y&&u(M)):v(U)})}catch(U){v(U)}y++,I++}return y-=2,0===y&&u(M),R}constructor(a){const o=this;if(!(o instanceof D))throw new Error("Must be an instanceof Promise.");o[k]=p,o[h]=[];try{const u=S();a&&a(u(b(o,W)),u(b(o,L)))}catch(u){j(o,!1,u)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return D}then(a,o){let u=this.constructor?.[Symbol.species];(!u||"function"!=typeof u)&&(u=this.constructor||D);const v=new u(O),R=i.current;return this[k]==p?this[h].push(R,v,a,o):e(this,R,v,a,o),v}catch(a){return this.then(null,a)}finally(a){let o=this.constructor?.[Symbol.species];(!o||"function"!=typeof o)&&(o=D);const u=new o(O);u[x]=x;const v=i.current;return this[k]==p?this[h].push(v,u,a,a):e(this,v,u,a,a),u}}D.resolve=D.resolve,D.reject=D.reject,D.race=D.race,D.all=D.all;const _e=r[E]=r.Promise;r.Promise=D;const he=g("thenPatched");function oe(l){const a=l.prototype,o=s(a,"then");if(o&&(!1===o.writable||!o.configurable))return;const u=a.then;a[P]=u,l.prototype.then=function(v,R){return new D((I,M)=>{u.call(this,I,M)}).then(v,R)},l[he]=!0}return n.patchThen=oe,_e&&(oe(_e),ue(r,"fetch",l=>function ye(l){return function(a,o){let u=l.apply(a,o);if(u instanceof D)return u;let v=u.constructor;return v[he]||oe(v),u}}(l))),Promise[i.__symbol__("uncaughtPromiseErrors")]=m,D})})(t),function Lt(t){t.__load_patch("toString",r=>{const i=Function.prototype.toString,n=H("OriginalDelegate"),s=H("Promise"),f=H("Error"),T=function(){if("function"==typeof this){const E=this[n];if(E)return"function"==typeof E?i.call(E):Object.prototype.toString.call(E);if(this===Promise){const P=r[s];if(P)return i.call(P)}if(this===Error){const P=r[f];if(P)return i.call(P)}}return i.call(this)};T[n]=i,Function.prototype.toString=T;const g=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":g.call(this)}})}(t),function Mt(t){t.__load_patch("util",(r,i,n)=>{const s=Fe(r);n.patchOnProperties=Ke,n.patchMethod=ue,n.bindArguments=Ve,n.patchMacroTask=yt;const f=i.__symbol__("BLACK_LISTED_EVENTS"),T=i.__symbol__("UNPATCHED_EVENTS");r[T]&&(r[f]=r[T]),r[f]&&(i[f]=i[T]=r[f]),n.patchEventPrototype=Pt,n.patchEventTarget=bt,n.isIEOrEdge=kt,n.ObjectDefineProperty=Le,n.ObjectGetOwnPropertyDescriptor=Ee,n.ObjectCreate=_t,n.ArraySlice=Et,n.patchClass=we,n.wrapWithCurrentZone=He,n.filterProperties=it,n.attachOriginToPatched=fe,n._redefineProperty=Object.defineProperty,n.patchCallbacks=It,n.getGlobalObjects=()=>({globalSources:tt,zoneSymbolEventNames:ne,eventNames:s,isBrowser:Ge,isMix:Xe,isNode:De,TRUE_STR:ae,FALSE_STR:le,ZONE_SYMBOL_PREFIX:Pe,ADD_EVENT_LISTENER_STR:Me,REMOVE_EVENT_LISTENER_STR:Ze})})}(t)})(at),function Ot(t){t.__load_patch("legacy",r=>{const i=r[t.__symbol__("legacyPatch")];i&&i()}),t.__load_patch("timers",r=>{const n="clear";pe(r,"set",n,"Timeout"),pe(r,"set",n,"Interval"),pe(r,"set",n,"Immediate")}),t.__load_patch("requestAnimationFrame",r=>{pe(r,"request","cancel","AnimationFrame"),pe(r,"mozRequest","mozCancel","AnimationFrame"),pe(r,"webkitRequest","webkitCancel","AnimationFrame")}),t.__load_patch("blocking",(r,i)=>{const n=["alert","prompt","confirm"];for(let s=0;sfunction(C,E){return i.current.run(T,r,E,m)})}),t.__load_patch("EventTarget",(r,i,n)=>{(function Dt(t,r){r.patchEventPrototype(t,r)})(r,n),function Ct(t,r){if(Zone[r.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:n,TRUE_STR:s,FALSE_STR:f,ZONE_SYMBOL_PREFIX:T}=r.getGlobalObjects();for(let m=0;m{we("MutationObserver"),we("WebKitMutationObserver")}),t.__load_patch("IntersectionObserver",(r,i,n)=>{we("IntersectionObserver")}),t.__load_patch("FileReader",(r,i,n)=>{we("FileReader")}),t.__load_patch("on_property",(r,i,n)=>{!function St(t,r){if(De&&!Xe||Zone[t.symbol("patchEvents")])return;const i=r.__Zone_ignore_on_properties;let n=[];if(Ge){const s=window;n=n.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const f=function mt(){try{const t=Te.navigator.userAgent;if(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:s,ignoreProperties:["error"]}]:[];ct(s,Fe(s),i&&i.concat(f),Ie(s))}n=n.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let s=0;s{!function Rt(t,r){const{isBrowser:i,isMix:n}=r.getGlobalObjects();(i||n)&&t.customElements&&"customElements"in t&&r.patchCallbacks(r,t.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback","formAssociatedCallback","formDisabledCallback","formResetCallback","formStateRestoreCallback"])}(r,n)}),t.__load_patch("XHR",(r,i)=>{!function C(E){const P=E.XMLHttpRequest;if(!P)return;const A=P.prototype;let z=A[Ae],K=A[je];if(!z){const w=E.XMLHttpRequestEventTarget;if(w){const b=w.prototype;z=b[Ae],K=b[je]}}const J="readystatechange",X="scheduled";function k(w){const b=w.data,S=b.target;S[T]=!1,S[m]=!1;const ee=S[f];z||(z=S[Ae],K=S[je]),ee&&K.call(S,J,ee);const q=S[f]=()=>{if(S.readyState===S.DONE)if(!b.aborted&&S[T]&&w.state===X){const _=S[i.__symbol__("loadfalse")];if(0!==S.status&&_&&_.length>0){const c=w.invoke;w.invoke=function(){const e=S[i.__symbol__("loadfalse")];for(let d=0;dfunction(w,b){return w[s]=0==b[2],w[g]=b[1],G.apply(w,b)}),B=H("fetchTaskAborting"),p=H("fetchTaskScheduling"),W=ue(A,"send",()=>function(w,b){if(!0===i.current[p]||w[s])return W.apply(w,b);{const S={target:w,url:w[g],isPeriodic:!1,args:b,aborted:!1},ee=xe("XMLHttpRequest.send",h,S,k,x);w&&!0===w[m]&&!S.aborted&&ee.state===X&&ee.invoke()}}),L=ue(A,"abort",()=>function(w,b){const S=function V(w){return w[n]}(w);if(S&&"string"==typeof S.type){if(null==S.cancelFn||S.data&&S.data.aborted)return;S.zone.cancelTask(S)}else if(!0===i.current[B])return L.apply(w,b)})}(r);const n=H("xhrTask"),s=H("xhrSync"),f=H("xhrListener"),T=H("xhrScheduled"),g=H("xhrURL"),m=H("xhrErrorBeforeScheduled")}),t.__load_patch("geolocation",r=>{r.navigator&&r.navigator.geolocation&&function gt(t,r){const i=t.constructor.name;for(let n=0;n{const m=function(){return g.apply(this,Ve(arguments,i+"."+s))};return fe(m,g),m})(f)}}}(r.navigator.geolocation,["getCurrentPosition","watchPosition"])}),t.__load_patch("PromiseRejectionEvent",(r,i)=>{function n(s){return function(f){st(r,s).forEach(g=>{const m=r.PromiseRejectionEvent;if(m){const C=new m(s,{promise:f.promise,reason:f.rejection});g.invoke(C)}})}}r.PromiseRejectionEvent&&(i[H("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),i[H("rejectionHandledHandler")]=n("rejectionhandled"))}),t.__load_patch("queueMicrotask",(r,i,n)=>{!function wt(t,r){r.patchMethod(t,"queueMicrotask",i=>function(n,s){Zone.current.scheduleMicroTask("queueMicrotask",s[0])})}(r,n)})}(at)}},te=>{te(te.s=50)}]); -"use strict";(self.webpackChunkcoverage_app=self.webpackChunkcoverage_app||[]).push([[792],{332:()=>{function ua(e,n){return Object.is(e,n)}let Le=null,xo=!1,ru=1;const Ke=Symbol("SIGNAL");function te(e){const n=Le;return Le=e,n}const Er={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:"unknown",producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function Oo(e){if(xo)throw new Error("");if(null===Le)return;Le.consumerOnSignalRead(e);const n=Le.nextProducerIndex++;ha(Le),ne.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function Ro(e){ha(e);for(let n=0;n0}function ha(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}function ip(e){e.liveConsumerNode??=[],e.liveConsumerIndexOfThis??=[]}function op(e){return void 0!==e.producerNode}const Mr=Symbol("UNSET"),pi=Symbol("COMPUTING"),Gn=Symbol("ERRORED"),vM={...Er,value:Mr,dirty:!0,error:null,equal:ua,kind:"computed",producerMustRecompute:e=>e.value===Mr||e.value===pi,producerRecomputeValue(e){if(e.value===pi)throw new Error("Detected cycle in computations.");const n=e.value;e.value=pi;const t=Ir(e);let r,i=!1;try{r=e.computation(),te(null),i=n!==Mr&&n!==Gn&&r!==Gn&&e.equal(n,r)}catch(o){r=Gn,e.error=o}finally{gi(e,t)}i?e.value=n:(e.value=r,e.version++)}};let sp=function _M(){throw new Error};function ap(){sp()}function ou(e,n){tp()||ap(),e.equal(e.value,n)||(e.value=n,function wM(e){e.version++,function pM(){ru++}(),ep(e)}(e))}const cp={...Er,equal:ua,value:void 0,kind:"signal"};function Be(e){return"function"==typeof e}function dp(e){const t=e(r=>{Error.call(r),r.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const au=dp(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((r,i)=>`${i+1}) ${r.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function pa(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class Rt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const o of t)o.remove(this);else t.remove(this);const{initialTeardown:r}=this;if(Be(r))try{r()}catch(o){n=o instanceof au?o.errors:[o]}const{_finalizers:i}=this;if(i){this._finalizers=null;for(const o of i)try{gp(o)}catch(s){n=n??[],s instanceof au?n=[...n,...s.errors]:n.push(s)}}if(n)throw new au(n)}}add(n){var t;if(n&&n!==this)if(this.closed)gp(n);else{if(n instanceof Rt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&pa(t,n)}remove(n){const{_finalizers:t}=this;t&&pa(t,n),n instanceof Rt&&n._removeParent(this)}}Rt.EMPTY=(()=>{const e=new Rt;return e.closed=!0,e})();const fp=Rt.EMPTY;function hp(e){return e instanceof Rt||e&&"closed"in e&&Be(e.remove)&&Be(e.add)&&Be(e.unsubscribe)}function gp(e){Be(e)?e():e.unsubscribe()}const Tr={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},ma={setTimeout(e,n,...t){const{delegate:r}=ma;return r?.setTimeout?r.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=ma;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function pp(e){ma.setTimeout(()=>{const{onUnhandledError:n}=Tr;if(!n)throw e;n(e)})}function mp(){}const TM=lu("C",void 0,void 0);function lu(e,n,t){return{kind:e,value:n,error:t}}let Sr=null;function va(e){if(Tr.useDeprecatedSynchronousErrorHandling){const n=!Sr;if(n&&(Sr={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:r}=Sr;if(Sr=null,t)throw r}}else e()}class cu extends Rt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,hp(n)&&n.add(this)):this.destination=kM}static create(n,t,r){return new du(n,t,r)}next(n){this.isStopped?fu(function NM(e){return lu("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?fu(function SM(e){return lu("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?fu(TM,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const OM=Function.prototype.bind;function uu(e,n){return OM.call(e,n)}class AM{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(r){_a(r)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(r){_a(r)}else _a(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){_a(t)}}}class du extends cu{constructor(n,t,r){let i;if(super(),Be(n)||!n)i={next:n??void 0,error:t??void 0,complete:r??void 0};else{let o;this&&Tr.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),i={next:n.next&&uu(n.next,o),error:n.error&&uu(n.error,o),complete:n.complete&&uu(n.complete,o)}):i=n}this.destination=new AM(i)}}function _a(e){Tr.useDeprecatedSynchronousErrorHandling?function xM(e){Tr.useDeprecatedSynchronousErrorHandling&&Sr&&(Sr.errorThrown=!0,Sr.error=e)}(e):pp(e)}function fu(e,n){const{onStoppedNotification:t}=Tr;t&&ma.setTimeout(()=>t(e,n))}const kM={closed:!0,next:mp,error:function RM(e){throw e},complete:mp},hu="function"==typeof Symbol&&Symbol.observable||"@@observable";function gu(e){return e}let kt=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const r=new e;return r.source=this,r.operator=t,r}subscribe(t,r,i){const o=function LM(e){return e&&e instanceof cu||function FM(e){return e&&Be(e.next)&&Be(e.error)&&Be(e.complete)}(e)&&hp(e)}(t)?t:new du(t,r,i);return va(()=>{const{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return new(r=_p(r))((i,o)=>{const s=new du({next:a=>{try{t(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:i});this.subscribe(s)})}_subscribe(t){var r;return null===(r=this.source)||void 0===r?void 0:r.subscribe(t)}[hu](){return this}pipe(...t){return function vp(e){return 0===e.length?gu:1===e.length?e[0]:function(t){return e.reduce((r,i)=>i(r),t)}}(t)(this)}toPromise(t){return new(t=_p(t))((r,i)=>{let o;this.subscribe(s=>o=s,s=>i(s),()=>r(o))})}}return e.create=n=>new e(n),e})();function _p(e){var n;return null!==(n=e??Tr.Promise)&&void 0!==n?n:Promise}const PM=dp(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let fn=(()=>{class e extends kt{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const r=new yp(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new PM}next(t){va(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const r of this.currentObservers)r.next(t)}})}error(t){va(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:r}=this;for(;r.length;)r.shift().error(t)}})}complete(){va(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:r,isStopped:i,observers:o}=this;return r||i?fp:(this.currentObservers=null,o.push(t),new Rt(()=>{this.currentObservers=null,pa(o,t)}))}_checkFinalizedStatuses(t){const{hasError:r,thrownError:i,isStopped:o}=this;r?t.error(i):o&&t.complete()}asObservable(){const t=new kt;return t.source=this,t}}return e.create=(n,t)=>new yp(n,t),e})();class yp extends fn{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===r||r.call(t,n)}error(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===r||r.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,r;return null!==(r=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==r?r:fp}}class VM extends fn{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:r}=this;if(n)throw t;return this._throwIfClosed(),r}next(n){super.next(this._value=n)}}function Nr(e){return n=>{if(function HM(e){return Be(e?.lift)}(n))return n.lift(function(t){try{return e(t,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function qn(e,n,t,r,i){return new BM(e,n,t,r,i)}class BM extends cu{constructor(n,t,r,i,o,s){super(n),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){n.error(l)}}:super._next,this._error=i?function(a){try{i(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function pu(e,n){return Nr((t,r)=>{let i=0;t.subscribe(qn(r,o=>{r.next(e.call(n,o,i++))}))})}const Cp="https://g.co/ng/security#xss";class N extends Error{code;constructor(n,t){super(function xr(e,n){return`NG0${Math.abs(e)}${n?": "+n:""}`}(n,t)),this.code=n}}function Sn(e){return{toString:e}.toString()}const vi="__parameters__";function yi(e,n,t){return Sn(()=>{const r=function mu(e){return function(...t){if(e){const r=e(...t);for(const i in r)this[i]=r[i]}}}(n);function i(...o){if(this instanceof i)return r.apply(this,o),this;const s=new i(...o);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(vi)?l[vi]:Object.defineProperty(l,vi,{value:[]})[vi];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return t&&(i.prototype=Object.create(t.prototype)),i.prototype.ngMetadataName=e,i.annotationCls=i,i})}const Ie=globalThis;function fe(e){for(let n in e)if(e[n]===fe)return n;throw Error("Could not find renamed property on target object.")}function jM(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function $e(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map($e).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const n=e.toString();if(null==n)return""+n;const t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function vu(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const UM=fe({__forward_ref__:fe});function ve(e){return e.__forward_ref__=ve,e.toString=function(){return $e(this())},e}function W(e){return Ca(e)?e():e}function Ca(e){return"function"==typeof e&&e.hasOwnProperty(UM)&&e.__forward_ref__===ve}function re(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Nn(e){return{providers:e.providers||[],imports:e.imports||[]}}function wa(e){return Ep(e,ba)||Ep(e,Ip)}function Ep(e,n){return e.hasOwnProperty(n)?e[n]:null}function Da(e){return e&&(e.hasOwnProperty(_u)||e.hasOwnProperty(WM))?e[_u]:null}const ba=fe({\u0275prov:fe}),_u=fe({\u0275inj:fe}),Ip=fe({ngInjectableDef:fe}),WM=fe({ngInjectorDef:fe});class R{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(n,t){this._desc=n,this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=re({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function wu(e){return e&&!!e.\u0275providers}const Ci=fe({\u0275cmp:fe}),Du=fe({\u0275dir:fe}),bu=fe({\u0275pipe:fe}),Tp=fe({\u0275mod:fe}),xn=fe({\u0275fac:fe}),Lo=fe({__NG_ELEMENT_ID__:fe}),Sp=fe({__NG_ENV_ID__:fe});function K(e){return"string"==typeof e?e:null==e?"":String(e)}function Eu(e,n){throw new N(-201,!1)}var oe=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(oe||{});let Iu;function Np(){return Iu}function Et(e){const n=Iu;return Iu=e,n}function xp(e,n,t){const r=wa(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:t&oe.Optional?null:void 0!==n?n:void Eu()}const Po={},Mu="__NG_DI_FLAG__",Ma="ngTempTokenPath",XM=/\n/gm,Op="__source";let wi;function Zn(e){const n=wi;return wi=e,n}function n0(e,n=oe.Default){if(void 0===wi)throw new N(-203,!1);return null===wi?xp(e,void 0,n):wi.get(e,n&oe.Optional?null:void 0,n)}function se(e,n=oe.Default){return(Np()||n0)(W(e),n)}function A(e,n=oe.Default){return se(e,Ta(n))}function Ta(e){return typeof e>"u"||"number"==typeof e?e:(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Tu(e){const n=[];for(let t=0;tArray.isArray(t)?Di(t,n):n(t))}function Rp(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function Sa(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function Lt(e,n,t){let r=bi(e,n);return r>=0?e[1|r]=t:(r=~r,function kp(e,n,t,r){let i=e.length;if(i==n)e.push(t,r);else if(1===i)e.push(r,e[0]),e[0]=t;else{for(i--,e.push(e[i-1],e[i]);i>n;)e[i]=e[i-2],i--;e[n]=t,e[n+1]=r}}(e,r,n,t)),r}function Ou(e,n){const t=bi(e,n);if(t>=0)return e[1|t]}function bi(e,n){return function Fp(e,n,t){let r=0,i=e.length>>t;for(;i!==r;){const o=r+(i-r>>1),s=e[o<n?i=o:r=o+1}return~(i<{t.push(s)};return Di(n,s=>{const a=s;Oa(a,o,[],r)&&(i||=[],i.push(a))}),void 0!==i&&Pp(i,o),t}function Pp(e,n){for(let t=0;t{n(o,r)})}}function Oa(e,n,t,r){if(!(e=W(e)))return!1;let i=null,o=Da(e);const s=!o&&ne(e);if(o||s){if(s&&!s.standalone)return!1;i=e}else{const l=e.ngModule;if(o=Da(l),!o)return!1;i=l}const a=r.has(i);if(s){if(a)return!1;if(r.add(i),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)Oa(c,n,t,r)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let c;r.add(i);try{Di(o.imports,u=>{Oa(u,n,t,r)&&(c||=[],c.push(u))})}finally{}void 0!==c&&Pp(c,n)}if(!a){const c=Or(i)||(()=>new i);n({provide:i,useFactory:c,deps:le},i),n({provide:Au,useValue:i,multi:!0},i),n({provide:en,useValue:()=>se(i),multi:!0},i)}const l=o.providers;if(null!=l&&!a){const c=e;ku(l,u=>{n(u,c)})}}}return i!==e&&void 0!==e.providers}function ku(e,n){for(let t of e)wu(t)&&(t=t.\u0275providers),Array.isArray(t)?ku(t,n):n(t)}const f0=fe({provide:String,useValue:fe});function Fu(e){return null!==e&&"object"==typeof e&&f0 in e}function kr(e){return"function"==typeof e}const Lu=new R(""),Aa={},g0={};let Pu;function Ra(){return void 0===Pu&&(Pu=new xa),Pu}class tn{}class Fr extends tn{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(n,t,r,i){super(),this.parent=t,this.source=r,this.scopes=i,Hu(n,s=>this.processProvider(s)),this.records.set(Lp,Ei(void 0,this)),i.has("environment")&&this.records.set(tn,Ei(void 0,this));const o=this.records.get(Lu);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(Au,le,oe.Self))}destroy(){Ho(this),this._destroyed=!0;const n=te(null);try{for(const r of this._ngOnDestroyHooks)r.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const r of t)r()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),te(n)}}onDestroy(n){return Ho(this),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){Ho(this);const t=Zn(this),r=Et(void 0);try{return n()}finally{Zn(t),Et(r)}}get(n,t=Po,r=oe.Default){if(Ho(this),n.hasOwnProperty(Sp))return n[Sp](this);r=Ta(r);const o=Zn(this),s=Et(void 0);try{if(!(r&oe.SkipSelf)){let l=this.records.get(n);if(void 0===l){const c=function y0(e){return"function"==typeof e||"object"==typeof e&&e instanceof R}(n)&&wa(n);l=c&&this.injectableDefInScope(c)?Ei(Vu(n),Aa):null,this.records.set(n,l)}if(null!=l)return this.hydrate(n,l)}return(r&oe.Self?Ra():this.parent).get(n,t=r&oe.Optional&&t===Po?null:t)}catch(a){if("NullInjectorError"===a.name){if((a[Ma]=a[Ma]||[]).unshift($e(n)),o)throw a;return function o0(e,n,t,r){const i=e[Ma];throw n[Op]&&i.unshift(n[Op]),e.message=function s0(e,n,t,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let i=$e(n);if(Array.isArray(n))i=n.map($e).join(" -> ");else if("object"==typeof n){let o=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):$e(a)))}i=`{${o.join(", ")}}`}return`${t}${r?"("+r+")":""}[${i}]: ${e.replace(XM,"\n ")}`}("\n"+e.message,i,t,r),e.ngTokenPath=i,e[Ma]=null,e}(a,n,"R3InjectorError",this.source)}throw a}finally{Et(s),Zn(o)}}resolveInjectorInitializers(){const n=te(null),t=Zn(this),r=Et(void 0);try{const o=this.get(en,le,oe.Self);for(const s of o)s()}finally{Zn(t),Et(r),te(n)}}toString(){const n=[],t=this.records;for(const r of t.keys())n.push($e(r));return`R3Injector[${n.join(", ")}]`}processProvider(n){let t=kr(n=W(n))?n:W(n&&n.provide);const r=function m0(e){return Fu(e)?Ei(void 0,e.useValue):Ei(Bp(e),Aa)}(n);if(!kr(n)&&!0===n.multi){let i=this.records.get(t);i||(i=Ei(void 0,Aa,!0),i.factory=()=>Tu(i.multi),this.records.set(t,i)),t=n,i.multi.push(n)}this.records.set(t,r)}hydrate(n,t){const r=te(null);try{return t.value===Aa&&(t.value=g0,t.value=t.factory()),"object"==typeof t.value&&t.value&&function _0(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{te(r)}}injectableDefInScope(n){if(!n.providedIn)return!1;const t=W(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function Vu(e){const n=wa(e),t=null!==n?n.factory:Or(e);if(null!==t)return t;if(e instanceof R)throw new N(204,!1);if(e instanceof Function)return function p0(e){if(e.length>0)throw new N(204,!1);const t=function qM(e){return e&&(e[ba]||e[Ip])||null}(e);return null!==t?()=>t.factory(e):()=>new e}(e);throw new N(204,!1)}function Bp(e,n,t){let r;if(kr(e)){const i=W(e);return Or(i)||Vu(i)}if(Fu(e))r=()=>W(e.useValue);else if(function Hp(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...Tu(e.deps||[]));else if(function Vp(e){return!(!e||!e.useExisting)}(e))r=()=>se(W(e.useExisting));else{const i=W(e&&(e.useClass||e.provide));if(!function v0(e){return!!e.deps}(e))return Or(i)||Vu(i);r=()=>new i(...Tu(e.deps))}return r}function Ho(e){if(e.destroyed)throw new N(205,!1)}function Ei(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function Hu(e,n){for(const t of e)Array.isArray(t)?Hu(t,n):t&&wu(t)?Hu(t.\u0275providers,n):n(t)}function jp(e,n){e instanceof Fr&&Ho(e);const r=Zn(e),i=Et(void 0);try{return n()}finally{Zn(r),Et(i)}}const G=11,k=25;function Ne(e){return Array.isArray(e)&&"object"==typeof e[1]}function qe(e){return Array.isArray(e)&&!0===e[1]}function Uu(e){return!!(4&e.flags)}function $t(e){return e.componentOffset>-1}function Va(e){return!(1&~e.flags)}function zt(e){return!!e.template}function Rn(e){return!!(512&e[2])}function Yn(e){return!(256&~e[2])}class O0{previousValue;currentValue;firstChange;constructor(n,t,r){this.previousValue=n,this.currentValue=t,this.firstChange=r}isFirstChange(){return this.firstChange}}function Yp(e,n,t,r){null!==n?n.applyValueToInputSignal(n,r):e[t]=r}const kn=(()=>{const e=()=>Kp;return e.ngInherit=!0,e})();function Kp(e){return e.type.prototype.ngOnChanges&&(e.setInput=R0),A0}function A0(){const e=Xp(this),n=e?.current;if(n){const t=e.previous;if(t===hn)e.previous=n;else for(let r in n)t[r]=n[r];e.current=null,this.ngOnChanges(n)}}function R0(e,n,t,r,i){const o=this.declaredInputs[r],s=Xp(e)||function k0(e,n){return e[Jp]=n}(e,{previous:hn,current:null}),a=s.current||(s.current={}),l=s.previous,c=l[o];a[o]=new O0(c&&c.currentValue,t,l===hn),Yp(e,n,i,t)}const Jp="__ngSimpleChanges__";function Xp(e){return e[Jp]||null}function ae(e){for(;Array.isArray(e);)e=e[0];return e}function Ai(e,n){return ae(n[e])}function ft(e,n){return ae(n[e.index])}function Hr(e,n){return e.data[n]}function ht(e,n){const t=n[e];return Ne(t)?t:t[0]}function Gu(e){return!(128&~e[2])}function qt(e,n){return null==n?null:e[n]}function nm(e){e[17]=0}function qu(e){1024&e[2]||(e[2]|=1024,Gu(e)&&jo(e))}function Ba(e){return!!(9216&e[2]||e[24]?.dirty)}function Wu(e){e[10].changeDetectionScheduler?.notify(9),64&e[2]&&(e[2]|=1024),Ba(e)&&jo(e)}function jo(e){e[10].changeDetectionScheduler?.notify(0);let n=Fn(e);for(;null!==n&&!(8192&n[2])&&(n[2]|=8192,Gu(n));)n=Fn(n)}function ja(e,n){if(Yn(e))throw new N(911,!1);null===e[21]&&(e[21]=[]),e[21].push(n)}function Fn(e){const n=e[3];return qe(n)?n[3]:n}function im(e){return e[7]??=[]}function om(e){return e.cleanup??=[]}const Q={lFrame:pm(null),bindingsEnabled:!0,skipHydrationRootTNode:null};let Yu=!1;function sm(){return Q.bindingsEnabled}function D(){return Q.lFrame.lView}function Z(){return Q.lFrame.tView}function B(e){return Q.lFrame.contextLView=e,e[8]}function j(e){return Q.lFrame.contextLView=null,e}function ie(){let e=am();for(;null!==e&&64===e.type;)e=e.parent;return e}function am(){return Q.lFrame.currentTNode}function nn(e,n){const t=Q.lFrame;t.currentTNode=e,t.isParent=n}function Ku(){return Q.lFrame.isParent}function Ju(){Q.lFrame.isParent=!1}function um(){return Yu}function $a(e){const n=Yu;return Yu=e,n}function gt(){const e=Q.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function Wt(){return Q.lFrame.bindingIndex++}function Pn(e){const n=Q.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function Q0(e,n){const t=Q.lFrame;t.bindingIndex=t.bindingRootIndex=e,Xu(n)}function Xu(e){Q.lFrame.currentDirectiveIndex=e}function td(){return Q.lFrame.currentQueryIndex}function za(e){Q.lFrame.currentQueryIndex=e}function K0(e){const n=e[1];return 2===n.type?n.declTNode:1===n.type?e[5]:null}function hm(e,n,t){if(t&oe.SkipSelf){let i=n,o=e;for(;!(i=i.parent,null!==i||t&oe.Host||(i=K0(o),null===i||(o=o[14],10&i.type))););if(null===i)return!1;n=i,e=o}const r=Q.lFrame=gm();return r.currentTNode=n,r.lView=e,!0}function nd(e){const n=gm(),t=e[1];Q.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function gm(){const e=Q.lFrame,n=null===e?null:e.child;return null===n?pm(e):n}function pm(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function mm(){const e=Q.lFrame;return Q.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const vm=mm;function rd(){const e=mm();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function rt(){return Q.lFrame.selectedIndex}function Ur(e){Q.lFrame.selectedIndex=e}function me(){const e=Q.lFrame;return Hr(e.tView,e.selectedIndex)}let Cm=!0;function $o(){return Cm}function mn(e){Cm=e}function Ga(e,n){for(let t=n.directiveStart,r=n.directiveEnd;t=r)break}else n[l]<0&&(e[17]+=65536),(a>14>16&&(3&e[2])===n&&(e[2]+=16384,Dm(a,o)):Dm(a,o)}class zo{factory;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(n,t,r){this.factory=n,this.canSeeViewProviders=t,this.injectImpl=r}}function bm(e){return 3===e||4===e||6===e}function Em(e){return 64===e.charCodeAt(0)}function ki(e,n){if(null!==n&&0!==n.length)if(null===e||0===e.length)e=n.slice();else{let t=-1;for(let r=0;rn){s=o-1;break}}}for(;o>16}(e),r=n;for(;t>0;)r=r[14],t--;return r}let cd=!0;function Za(e){const n=cd;return cd=e,n}let dT=0;const vn={};function Qa(e,n){const t=Sm(e,n);if(-1!==t)return t;const r=n[1];r.firstCreatePass&&(e.injectorIndex=n.length,ud(r.data,e),ud(n,null),ud(r.blueprint,null));const i=Ya(e,n),o=e.injectorIndex;if(ld(i)){const s=Go(i),a=qo(i,n),l=a[1].data;for(let c=0;c<8;c++)n[o+c]=a[s+c]|l[s+c]}return n[o+8]=i,o}function ud(e,n){e.push(0,0,0,0,0,0,0,0,n)}function Sm(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function Ya(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,r=null,i=n;for(;null!==i;){if(r=Fm(i),null===r)return-1;if(t++,i=i[14],-1!==r.injectorIndex)return r.injectorIndex|t<<16}return-1}function dd(e,n,t){!function fT(e,n,t){let r;"string"==typeof t?r=t.charCodeAt(0)||0:t.hasOwnProperty(Lo)&&(r=t[Lo]),null==r&&(r=t[Lo]=dT++);const i=255&r;n.data[e+(i>>5)]|=1<=0?255&n:mT:n}(t);if("function"==typeof o){if(!hm(n,e,r))return r&oe.Host?Nm(i,0,r):xm(n,t,r,i);try{let s;if(s=o(r),null!=s||r&oe.Optional)return s;Eu()}finally{vm()}}else if("number"==typeof o){let s=null,a=Sm(e,n),l=-1,c=r&oe.Host?n[15][5]:null;for((-1===a||r&oe.SkipSelf)&&(l=-1===a?Ya(e,n):n[a+8],-1!==l&&km(r,!1)?(s=n[1],a=Go(l),n=qo(l,n)):a=-1);-1!==a;){const u=n[1];if(Rm(o,a,u.data)){const d=gT(a,n,t,s,r,c);if(d!==vn)return d}l=n[a+8],-1!==l&&km(r,n[1].data[a+8]===c)&&Rm(o,a,n)?(s=u,a=Go(l),n=qo(l,n)):a=-1}}return i}function gT(e,n,t,r,i,o){const s=n[1],a=s.data[e+8],u=Ka(a,s,t,null==r?$t(a)&&cd:r!=s&&!!(3&a.type),i&oe.Host&&o===a);return null!==u?Wo(n,s,u,a):vn}function Ka(e,n,t,r,i){const o=e.providerIndexes,s=n.data,a=1048575&o,l=e.directiveStart,u=o>>20,g=i?a+u:e.directiveEnd;for(let h=r?a:a+u;h=l&&m.type===t)return h}if(i){const h=s[l];if(h&&zt(h)&&h.type===t)return l}return null}function Wo(e,n,t,r){let i=e[t];const o=n.data;if(function iT(e){return e instanceof zo}(i)){const s=i;s.resolving&&function YM(e,n){throw n&&n.join(" > "),new N(-200,e)}(function ce(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():K(e)}(o[t]));const a=Za(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?Et(s.injectImpl):null;hm(e,r,oe.Default);try{i=e[t]=s.factory(void 0,o,e,r),n.firstCreatePass&&t>=r.directiveStart&&function nT(e,n,t){const{ngOnChanges:r,ngOnInit:i,ngDoCheck:o}=n.type.prototype;if(r){const s=Kp(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}i&&(t.preOrderHooks??=[]).push(0-e,i),o&&((t.preOrderHooks??=[]).push(e,o),(t.preOrderCheckHooks??=[]).push(e,o))}(t,o[t],n)}finally{null!==c&&Et(c),Za(a),s.resolving=!1,vm()}}return i}function Rm(e,n,t){return!!(t[n+(e>>5)]&1<{const n=e.prototype.constructor,t=n[xn]||fd(n),r=Object.prototype;let i=Object.getPrototypeOf(e.prototype).constructor;for(;i&&i!==r;){const o=i[xn]||fd(i);if(o&&o!==t)return o;i=Object.getPrototypeOf(i)}return o=>new o})}function fd(e){return Ca(e)?()=>{const n=fd(W(e));return n&&n()}:Or(e)}function Fm(e){const n=e[1],t=n.type;return 2===t?n.declTNode:1===t?e[5]:null}function Bm(e,n=null,t=null,r){const i=jm(e,n,t,r);return i.resolveInjectorInitializers(),i}function jm(e,n=null,t=null,r,i=new Set){const o=[t||le,d0(e)];return r=r||("object"==typeof e?void 0:$e(e)),new Fr(o,n||Ra(),r||null,i)}class We{static THROW_IF_NOT_FOUND=Po;static NULL=new xa;static create(n,t){if(Array.isArray(n))return Bm({name:""},t,n,"");{const r=n.name??"";return Bm({name:r},n.parent,n.providers,r)}}static \u0275prov=re({token:We,providedIn:"any",factory:()=>se(Lp)});static __NG_ELEMENT_ID__=-1}new R("").__NG_ELEMENT_ID__=e=>{const n=ie();if(null===n)throw new N(204,!1);if(2&n.type)return n.value;if(e&oe.Optional)return null;throw new N(204,!1)};const Um=!1;let Jn=(()=>class e{static __NG_ELEMENT_ID__=MT;static __NG_ENV_ID__=t=>t})();class $m extends Jn{_lView;constructor(n){super(),this._lView=n}onDestroy(n){return ja(this._lView,n),()=>function Zu(e,n){if(null===e[21])return;const t=e[21].indexOf(n);-1!==t&&e[21].splice(t,1)}(this._lView,n)}}function MT(){return new $m(D())}class Vn{}const Zo=new R("",{providedIn:"root",factory:()=>!1}),zm=new R(""),gd=new R("");let Xn=(()=>{class e{taskId=0;pendingTasks=new Set;get _hasPendingTasks(){return this.hasPendingTasks.value}hasPendingTasks=new VM(!1);add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}has(t){return this.pendingTasks.has(t)}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static \u0275prov=re({token:e,providedIn:"root",factory:()=>new e})}return e})();const we=class ST extends fn{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(n=!1){super(),this.__isAsync=n,function Up(){return void 0!==Np()||null!=function t0(){return wi}()}()&&(this.destroyRef=A(Jn,{optional:!0})??void 0,this.pendingTasks=A(Xn,{optional:!0})??void 0)}emit(n){const t=te(null);try{super.next(n)}finally{te(t)}}subscribe(n,t,r){let i=n,o=t||(()=>null),s=r;if(n&&"object"==typeof n){const l=n;i=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=this.wrapInTimeout(o),i&&(i=this.wrapInTimeout(i)),s&&(s=this.wrapInTimeout(s)));const a=super.subscribe({next:i,error:o,complete:s});return n instanceof Rt&&n.add(a),a}wrapInTimeout(n){return t=>{const r=this.pendingTasks?.add();setTimeout(()=>{n(t),void 0!==r&&this.pendingTasks?.remove(r)})}}};function Qo(...e){}function Gm(e){let n,t;function r(){e=Qo;try{void 0!==t&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(t),void 0!==n&&clearTimeout(n)}catch{}}return n=setTimeout(()=>{e(),r()}),"function"==typeof requestAnimationFrame&&(t=requestAnimationFrame(()=>{e(),r()})),()=>r()}function qm(e){return queueMicrotask(()=>e()),()=>{e=Qo}}const pd="isAngularZone",el=pd+"_ID";let NT=0;class de{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new we(!1);onMicrotaskEmpty=new we(!1);onStable=new we(!1);onError=new we(!1);constructor(n){const{enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:r=!1,shouldCoalesceRunChangeDetection:i=!1,scheduleInRootZone:o=Um}=n;if(typeof Zone>"u")throw new N(908,!1);Zone.assertZonePatched();const s=this;s._nesting=0,s._outer=s._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(s._inner=s._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!i&&r,s.shouldCoalesceRunChangeDetection=i,s.callbackScheduled=!1,s.scheduleInRootZone=o,function AT(e){const n=()=>{!function OT(e){function n(){Gm(()=>{e.callbackScheduled=!1,vd(e),e.isCheckStableRunning=!0,md(e),e.isCheckStableRunning=!1})}e.isCheckStableRunning||e.callbackScheduled||(e.callbackScheduled=!0,e.scheduleInRootZone?Zone.root.run(()=>{n()}):e._outer.run(()=>{n()}),vd(e))}(e)},t=NT++;e._inner=e._inner.fork({name:"angular",properties:{[pd]:!0,[el]:t,[el+t]:!0},onInvokeTask:(r,i,o,s,a,l)=>{if(function RT(e){return Qm(e,"__ignore_ng_zone__")}(l))return r.invokeTask(o,s,a,l);try{return Wm(e),r.invokeTask(o,s,a,l)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&n(),Zm(e)}},onInvoke:(r,i,o,s,a,l,c)=>{try{return Wm(e),r.invoke(o,s,a,l,c)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!function kT(e){return Qm(e,"__scheduler_tick__")}(l)&&n(),Zm(e)}},onHasTask:(r,i,o,s)=>{r.hasTask(o,s),i===o&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,vd(e),md(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(r,i,o,s)=>(r.handleError(o,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(s)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get(pd)}static assertInAngularZone(){if(!de.isInAngularZone())throw new N(909,!1)}static assertNotInAngularZone(){if(de.isInAngularZone())throw new N(909,!1)}run(n,t,r){return this._inner.run(n,t,r)}runTask(n,t,r,i){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+i,n,xT,Qo,Qo);try{return o.runTask(s,t,r)}finally{o.cancelTask(s)}}runGuarded(n,t,r){return this._inner.runGuarded(n,t,r)}runOutsideAngular(n){return this._outer.run(n)}}const xT={};function md(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function vd(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&!0===e.callbackScheduled)}function Wm(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Zm(e){e._nesting--,md(e)}class _d{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new we;onMicrotaskEmpty=new we;onStable=new we;onError=new we;run(n,t,r){return n.apply(t,r)}runGuarded(n,t,r){return n.apply(t,r)}runOutsideAngular(n){return n()}runTask(n,t,r,i){return n.apply(t,r)}}function Qm(e,n){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0]?.data?.[n]}class _n{_console=console;handleError(n){this._console.error("ERROR",n)}}const LT=new R("",{providedIn:"root",factory:()=>{const e=A(de),n=A(_n);return t=>e.runOutsideAngular(()=>n.handleError(t))}});function PT(){return Fi(ie(),D())}function Fi(e,n){return new pt(ft(e,n))}let pt=(()=>class e{nativeElement;constructor(t){this.nativeElement=t}static __NG_ELEMENT_ID__=PT})();function Km(e){return e instanceof pt?e.nativeElement:e}const Jm=new Set;function Xe(e){Jm.has(e)||(Jm.add(e),performance?.mark?.("mark_feature_usage",{detail:{feature:e}}))}function Gr(e,n){Xe("NgSignals");const t=function CM(e){const n=Object.create(cp);n.value=e;const t=()=>(Oo(n),n.value);return t[Ke]=n,t}(e),r=t[Ke];return n?.equal&&(r.equal=n.equal),t.set=i=>ou(r,i),t.update=i=>function lp(e,n){tp()||ap(),ou(e,n(e.value))}(r,i),t.asReadonly=tl.bind(t),t}function tl(){const e=this[Ke];if(void 0===e.readonlyFn){const n=()=>this();n[Ke]=e,e.readonlyFn=n}return e.readonlyFn}function ev(e){return function Xm(e){return"function"==typeof e&&void 0!==e[Ke]}(e)&&"function"==typeof e.set}function VT(){return this._results[Symbol.iterator]()}class HT{_emitDistinctChangesOnly;dirty=!0;_onDirty=void 0;_results=[];_changesDetected=!1;_changes=void 0;length=0;first=void 0;last=void 0;get changes(){return this._changes??=new fn}constructor(n=!1){this._emitDistinctChangesOnly=n}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,t){return this._results.reduce(n,t)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,t){this.dirty=!1;const r=function It(e){return e.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function u0(e,n,t){if(e.length!==n.length)return!1;for(let r=0;raS}),aS="ng",Ed=new R(""),Pi=new R("",{providedIn:"platform",factory:()=>"unknown"}),yv=new R("",{providedIn:"root",factory:()=>yn().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null}),bv=new R("",{providedIn:"root",factory:()=>!1});var Fd=function(e){return e[e.CHANGE_DETECTION=0]="CHANGE_DETECTION",e[e.AFTER_NEXT_RENDER=1]="AFTER_NEXT_RENDER",e}(Fd||{});const Hi=new R("");let Ld=(()=>{class e{impl=null;execute(){this.impl?.execute()}static \u0275prov=re({token:e,providedIn:"root",factory:()=>new e})}return e})();function Xv(e,n){const t=e.contentQueries;if(null!==t){const r=te(null);try{for(let i=0;ie,createScript:e=>e,createScriptURL:e=>e})}catch{}return yl}()?.createHTML(e)||e}function e_(e){return function Kd(){if(void 0===Cl&&(Cl=null,Ie.trustedTypes))try{Cl=Ie.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Cl}()?.createHTML(e)||e}class r_{changingThisBreaksApplicationSecurity;constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Cp})`}}function rr(e){return e instanceof r_?e.changingThisBreaksApplicationSecurity:e}function cs(e,n){const t=function eN(e){return e instanceof r_&&e.getTypeName()||null}(e);if(null!=t&&t!==n){if("ResourceURL"===t&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${t} (see ${Cp})`)}return t===n}class tN{inertDocumentHelper;constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{const t=(new window.DOMParser).parseFromString(Zi(n),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(n):(t.firstChild?.remove(),t)}catch{return null}}}class nN{defaultDoc;inertDocument;constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){const t=this.inertDocument.createElement("template");return t.innerHTML=Zi(n),t}}const iN=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Jd(e){return(e=String(e)).match(iN)?e:"unsafe:"+e}function Hn(e){const n={};for(const t of e.split(","))n[t]=!0;return n}function us(...e){const n={};for(const t of e)for(const r in t)t.hasOwnProperty(r)&&(n[r]=!0);return n}const o_=Hn("area,br,col,hr,img,wbr"),s_=Hn("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),a_=Hn("rp,rt"),Xd=us(o_,us(s_,Hn("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),us(a_,Hn("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),us(a_,s_)),ef=Hn("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),l_=us(ef,Hn("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Hn("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),oN=Hn("script,style,template");class sN{sanitizedSomething=!1;buf=[];sanitizeChildren(n){let t=n.firstChild,r=!0,i=[];for(;t;)if(t.nodeType===Node.ELEMENT_NODE?r=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,r&&t.firstChild)i.push(t),t=cN(t);else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let o=lN(t);if(o){t=o;break}t=i.pop()}return this.buf.join("")}startElement(n){const t=c_(n).toLowerCase();if(!Xd.hasOwnProperty(t))return this.sanitizedSomething=!0,!oN.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const r=n.attributes;for(let i=0;i"),!0}endElement(n){const t=c_(n).toLowerCase();Xd.hasOwnProperty(t)&&!o_.hasOwnProperty(t)&&(this.buf.push(""))}chars(n){this.buf.push(d_(n))}}function lN(e){const n=e.nextSibling;if(n&&e!==n.previousSibling)throw u_(n);return n}function cN(e){const n=e.firstChild;if(n&&function aN(e,n){return(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}(e,n))throw u_(n);return n}function c_(e){const n=e.nodeName;return"string"==typeof n?n:"FORM"}function u_(e){return new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`)}const uN=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,dN=/([^\#-~ |!])/g;function d_(e){return e.replace(/&/g,"&").replace(uN,function(n){return"&#"+(1024*(n.charCodeAt(0)-55296)+(n.charCodeAt(1)-56320)+65536)+";"}).replace(dN,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}let wl;function tf(e){return"content"in e&&function hN(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Qi=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Qi||{});function f_(e){const n=ds();return n?e_(n.sanitize(Qi.HTML,e)||""):cs(e,"HTML")?e_(rr(e)):function fN(e,n){let t=null;try{wl=wl||function i_(e){const n=new nN(e);return function rN(){try{return!!(new window.DOMParser).parseFromString(Zi(""),"text/html")}catch{return!1}}()?new tN(n):n}(e);let r=n?String(n):"";t=wl.getInertBodyElement(r);let i=5,o=r;do{if(0===i)throw new Error("Failed to sanitize html because the input is unstable");i--,r=o,o=t.innerHTML,t=wl.getInertBodyElement(r)}while(r!==o);return Zi((new sN).sanitizeChildren(tf(t)||t))}finally{if(t){const r=tf(t)||t;for(;r.firstChild;)r.firstChild.remove()}}}(yn(),K(e))}function ir(e){const n=ds();return n?n.sanitize(Qi.URL,e)||"":cs(e,"URL")?rr(e):Jd(K(e))}function ds(){const e=D();return e&&e[10].sanitizer}const CN=/^>|^->||--!>|)/g;function El(e){return e.ownerDocument.defaultView}var or=function(e){return e[e.None=0]="None",e[e.SignalBased=1]="SignalBased",e[e.HasDecoratorInputTransform=2]="HasDecoratorInputTransform",e}(or||{});function AN(e,n,t){let r=e.length;for(;;){const i=e.indexOf(n,t);if(-1===i)return i;if(0===i||e.charCodeAt(i-1)<=32){const o=n.length;if(i+o===r||e.charCodeAt(i+o)<=32)return i}t=i+1}}const D_="ng-template";function RN(e,n,t,r){let i=0;if(r){for(;i-1){let o;for(;++io?"":i[u+1].toLowerCase(),2&r&&c!==d){if(rn(r))return!1;s=!0}}}}else{if(!s&&!rn(r)&&!rn(l))return!1;if(s&&rn(l))continue;s=!1,r=l|1&r}}return rn(r)||s}function rn(e){return!(1&e)}function LN(e,n,t,r){if(null===n)return-1;let i=0;if(r||!t){let o=!1;for(;i-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&r?i+="."+s:4&r&&(i+=" "+s);else""!==i&&!rn(s)&&(n+=E_(o,i),i=""),r=s,o=o||!rn(r);t++}return""!==i&&(n+=E_(o,i)),n}const J={};function af(e,n){return e.createComment(function g_(e){return e.replace(CN,n=>n.replace(wN,"\u200b$1\u200b"))}(n))}function Il(e,n,t){return e.createElement(n,t)}function Qr(e,n,t,r,i){e.insertBefore(n,t,r,i)}function M_(e,n,t){e.appendChild(n,t)}function T_(e,n,t,r,i){null!==r?Qr(e,n,t,r,i):M_(e,n,t)}function N_(e,n,t){const{mergedAttrs:r,classes:i,styles:o}=t;null!==r&&function lT(e,n,t){let r=0;for(;rk&&x_(e,n,k,!1),t(r,i)}finally{Ur(o)}}function lf(e,n,t){sm()&&(vt(ft(t,n),n),R_(e,n,t))}function R_(e,n,t){(function ix(e,n,t){const r=t.directiveStart,i=t.directiveEnd;$t(t)&&function hx(e,n,t){const r=ft(n,e),i=function k_(e){const n=e.tView;return null===n||n.incompleteFirstPass?e.tView=uf(1,null,e.template,e.decls,e.vars,e.directiveDefs,e.pipeDefs,e.viewQuery,e.schemas,e.consts,e.id):n}(t),o=e[10].rendererFactory,s=hf(e,Ml(e,i,null,function B_(e){let n=16;return e.signals?n=4096:e.onPush&&(n=64),n}(t),r,n,null,o.createRenderer(r,t),null,null,null));e[n.index]=s}(n,t,e.data[r+t.componentOffset]),e.firstCreatePass||Qa(t,n);const o=t.initialInputs;for(let s=r;snull;function L_(e,n,t,r,i){for(let o in n){if(!n.hasOwnProperty(o))continue;const s=n[o];if(void 0===s)continue;r??={};let a,l=or.None;Array.isArray(s)?(a=s[0],l=s[1]):a=s;let c=o;if(null!==i){if(!i.hasOwnProperty(o))continue;c=i[o]}0===e?P_(r,t,c,a,l):P_(r,t,c,a)}return r}function P_(e,n,t,r,i){let o;e.hasOwnProperty(t)?(o=e[t]).push(n,r):o=e[t]=[n,r],void 0!==i&&o.push(i)}function St(e,n,t,r,i,o,s,a){const l=ft(n,t);let u,c=n.inputs;!a&&null!=c&&(u=c[r])?(gf(e,t,u,r,i),$t(n)&&function ex(e,n){const t=ht(n,e);16&t[2]||(t[2]|=64)}(t,n.index)):3&n.type&&(r=function XN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(r),i=null!=s?s(i,n.value||"",r):i,o.setProperty(l,r,i))}function df(e,n,t,r){if(sm()){const i=null===r?null:{"":-1},o=function ax(e,n){const t=e.directiveRegistry;let r=null;if(t)for(let i=0;i0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,r,o)}}(e,n,r,hs(e,t,i.hostVars,J),i)}function Cn(e,n,t,r,i,o){const s=ft(e,n);!function ff(e,n,t,r,i,o,s){if(null==o)e.removeAttribute(n,i,t);else{const a=null==s?K(o):s(o,r||"",i);e.setAttribute(n,i,a,t)}}(n[G],s,o,e.value,t,r,i)}function gx(e,n,t,r,i,o){const s=o[n];if(null!==s)for(let a=0;a0&&(e[t-1][4]=r[4]);const o=Sa(e,10+n);!function $_(e,n){z_(e,n),n[0]=null,n[5]=null}(r[1],r);const s=o[18];null!==s&&s.detachView(o[1]),r[3]=null,r[4]=null,r[2]&=-129}return r}function ps(e,n){if(Yn(n))return;const t=n[G];t.destroyNode&&xl(e,n,t,3,null,null),function wx(e){let n=e[12];if(!n)return _f(e[1],e);for(;n;){let t=null;if(Ne(n))t=n[12];else{const r=n[10];r&&(t=r)}if(!t){for(;n&&!n[4]&&n!==e;)Ne(n)&&_f(n[1],n),n=n[3];null===n&&(n=e),Ne(n)&&_f(n[1],n),t=n&&n[4]}n=t}}(n)}function _f(e,n){if(Yn(n))return;const t=te(null);try{n[2]&=-129,n[2]|=256,n[24]&&ko(n[24]),function Ex(e,n){let t;if(null!=e&&null!=(t=e.destroyHooks))for(let r=0;r=0?r[a]():r[-a].unsubscribe(),s+=2}else t[s].call(r[t[s+1]]);null!==r&&(n[7]=null);const i=n[21];if(null!==i){n[21]=null;for(let s=0;s{jo(e.lView)},consumerOnSignalRead(){this.lView[24]=this}},Rx={...Er,consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:e=>{let n=Fn(e.lView);for(;n&&!ty(n[1]);)n=Fn(n);n&&qu(n)},consumerOnSignalRead(){this.lView[24]=this}};function ty(e){return 2!==e.type}function ny(e){if(null===e[23])return;let n=!0;for(;n;){let t=!1;for(const r of e[23])r.dirty&&(t=!0,null===r.zone||Zone.current===r.zone?r.run():r.zone.run(()=>r.run()));n=t&&!!(8192&e[2])}}function Ol(e,n=!0,t=0){const i=e[10].rendererFactory;i.begin?.();try{!function Fx(e,n){const t=um();try{$a(!0),If(e,n);let r=0;for(;Ba(e);){if(100===r)throw new N(103,!1);r++,If(e,1)}}finally{$a(t)}}(e,t)}catch(s){throw n&&Tl(e,s),s}finally{i.end?.()}}function iy(e,n,t,r){if(Yn(n))return;const i=n[2];nd(n);let a=!0,l=null,c=null;ty(e)?(c=function Sx(e){return e[24]??function Nx(e){const n=ey.pop()??Object.create(Ox);return n.lView=e,n}(e)}(n),l=Ir(c)):null===function iu(){return Le}()?(a=!1,c=function Ax(e){const n=e[24]??Object.create(Rx);return n.lView=e,n}(n),l=Ir(c)):n[24]&&(ko(n[24]),n[24]=null);try{nm(n),function dm(e){return Q.lFrame.bindingIndex=e}(e.bindingStartIndex),null!==t&&A_(e,n,t,2,r);const u=!(3&~i);if(u){const h=e.preOrderCheckHooks;null!==h&&qa(n,h,null)}else{const h=e.preOrderHooks;null!==h&&Wa(n,h,0,null),id(n,0)}if(function Lx(e){for(let n=cv(e);null!==n;n=uv(n)){if(!(2&n[2]))continue;const t=n[9];for(let r=0;r-1&&(gs(n,r),Sa(t,r))}this._attachedToViewContainer=!1}ps(this._lView[1],this._lView)}onDestroy(n){ja(this._lView,n)}markForCheck(){ms(this._cdRefInjectingView||this._lView,4)}markForRefresh(){qu(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){Wu(this._lView),this._lView[2]|=128}detectChanges(){this._lView[2]|=1024,Ol(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new N(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;const n=Rn(this._lView),t=this._lView[16];null!==t&&!n&&vf(t,this._lView),z_(this._lView[1],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new N(902,!1);this._appRef=n;const t=Rn(this._lView),r=this._lView[16];null!==r&&!t&&G_(r,this._lView),Wu(this._lView)}}let Bn=(()=>class e{static __NG_ELEMENT_ID__=jx})();const Hx=Bn,Bx=class extends Hx{_declarationLView;_declarationTContainer;elementRef;constructor(n,t,r){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,r){const i=function Ji(e,n,t,r){const i=te(null);try{const o=n.tView,l=Ml(e,o,t,4096&e[2]?4096:16,null,n,null,null,r?.injector??null,r?.embeddedViewInjector??null,r?.dehydratedView??null);l[16]=e[n.index];const u=e[18];return null!==u&&(l[18]=u.createEmbeddedView(o)),Sl(o,l,t),l}finally{te(i)}}(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:t,dehydratedView:r});return new vs(i)}};function jx(){return Al(ie(),D())}function Al(e,n){return 4&e.type?new Bx(n,e,Fi(e,n)):null}function Jr(e,n,t,r,i){let o=e.data[n];if(null===o)o=function Nf(e,n,t,r,i){const o=am(),s=Ku(),l=e.data[n]=function Kx(e,n,t,r,i,o){let s=n?n.injectorIndex:-1,a=0;return function jr(){return null!==Q.skipHydrationRootTNode}()&&(a|=128),{type:t,index:r,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:i,attrs:o,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?o:o&&o.parent,t,n,r,i);return function Yx(e,n,t,r){null===e.firstChild&&(e.firstChild=n),null!==t&&(r?null==t.child&&null!==n.parent&&(t.child=n):null===t.next&&(t.next=n,n.prev=t))}(e,l,o,s),l}(e,n,t,r,i),function Z0(){return Q.lFrame.inI18n}()&&(o.flags|=32);else if(64&o.type){o.type=t,o.value=r,o.attrs=i;const s=function Uo(){const e=Q.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();o.injectorIndex=null===s?-1:s.injectorIndex}return nn(o,!0),o}class P1{}class Ny{}class V1{resolveComponentFactory(n){throw Error(`No component factory found for ${$e(n)}.`)}}class Vl{static NULL=new V1}class Vf{}let on=(()=>class e{destroyNode=null;static __NG_ELEMENT_ID__=()=>function H1(){const e=D(),t=ht(ie().index,e);return(Ne(t)?t:e)[G]}()})(),B1=(()=>{class e{static \u0275prov=re({token:e,providedIn:"root",factory:()=>null})}return e})();function Bl(e,n,t){let r=t?e.styles:null,i=t?e.classes:null,o=0;if(null!==n)for(let s=0;sclass e{static __NG_ELEMENT_ID__=q1})();function q1(){return Ly(ie(),D())}const W1=wn,ky=class extends W1{_lContainer;_hostTNode;_hostLView;constructor(n,t,r){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=r}get element(){return Fi(this._hostTNode,this._hostLView)}get injector(){return new Ae(this._hostTNode,this._hostLView)}get parentInjector(){const n=Ya(this._hostTNode,this._hostLView);if(ld(n)){const t=qo(n,this._hostLView),r=Go(n);return new Ae(t[1].data[r+8],t)}return new Ae(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=Fy(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-10}createEmbeddedView(n,t,r){let i,o;"number"==typeof r?i=r:null!=r&&(i=r.index,o=r.injector);const a=n.createEmbeddedViewImpl(t||{},o,null);return this.insertImpl(a,i,Kr(this._hostTNode,null)),a}createComponent(n,t,r,i,o){const s=n&&!function Bo(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const m=t||{};a=m.index,r=m.injector,i=m.projectableNodes,o=m.environmentInjector||m.ngModuleRef}const l=s?n:new Ts(ne(n)),c=r||this.parentInjector;if(!o&&null==l.ngModule){const C=(s?c:this.parentInjector).get(tn,null);C&&(o=C)}ne(l.componentType??{});const h=l.create(c,i,null,o);return this.insertImpl(h.hostView,a,Kr(this._hostTNode,null)),h}insert(n,t){return this.insertImpl(n,t,!0)}insertImpl(n,t,r){const i=n._lView;if(function V0(e){return qe(e[3])}(i)){const a=this.indexOf(n);if(-1!==a)this.detach(a);else{const l=i[3],c=new ky(l,l[5],l[3]);c.detach(c.indexOf(n))}}const o=this._adjustIndex(t),s=this._lContainer;return function Xi(e,n,t,r=!0){const i=n[1];if(function Dx(e,n,t,r){const i=10+r,o=t.length;r>0&&(t[i-1][4]=n),rn.trim())}(n):n}}class Gf{queries;constructor(n=[]){this.queries=n}elementStart(n,t){for(let r=0;r0)r.push(s[a/2]);else{const c=o[a+1],u=n[-l];for(let d=10;dt()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class Jf extends hO{moduleType;constructor(n){super(),this.moduleType=n}create(n){return new Kf(this.moduleType,n,[])}}class rC extends ti{injector;componentFactoryResolver=new Ay(this);instance=null;constructor(n){super();const t=new Fr([...n.providers,{provide:ti,useValue:this},{provide:Vl,useValue:this.componentFactoryResolver}],n.parent||Ra(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}let mO=(()=>{class e{_injector;cachedInjectors=new Map;constructor(t){this._injector=t}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){const r=Ru(0,t.type),i=r.length>0?function iC(e,n,t=null){return new rC({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,i)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}static \u0275prov=re({token:e,providedIn:"environment",factory:()=>new e(se(tn))})}return e})();function sn(e){return Sn(()=>{const n=sC(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===nl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:n.standalone?i=>i.get(mO).getOrCreateStandaloneInjector(t):null,getExternalStyles:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Zt.Emulated,styles:e.styles||le,_:null,schemas:e.schemas||null,tView:null,id:""};n.standalone&&Xe("NgStandalone"),aC(t);const r=e.dependencies;return t.directiveDefs=Ul(r,!1),t.pipeDefs=Ul(r,!0),t.id=function CO(e){let n=0;const r=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,"function"==typeof e.consts?"":e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery];for(const o of r.join("|"))n=Math.imul(31,n)+o.charCodeAt(0)|0;return n+=2147483648,"c"+n}(t),t})}function vO(e){return ne(e)||ze(e)}function _O(e){return null!==e}function cr(e){return Sn(()=>({type:e.type,bootstrap:e.bootstrap||le,declarations:e.declarations||le,imports:e.imports||le,exports:e.exports||le,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function oC(e,n){if(null==e)return hn;const t={};for(const r in e)if(e.hasOwnProperty(r)){const i=e[r];let o,s,a=or.None;Array.isArray(i)?(a=i[0],o=i[1],s=i[2]??o):(o=i,s=i),n?(t[o]=a!==or.None?[r,a]:r,n[o]=s):t[o]=r}return t}function Y(e){return Sn(()=>{const n=sC(e);return aC(n),n})}function Nt(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:e.standalone??!0,onDestroy:e.type.prototype.ngOnDestroy||null}}function sC(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:e.inputs||hn,exportAs:e.exportAs||null,standalone:e.standalone??!0,signals:!0===e.signals,selectors:e.selectors||le,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:oC(e.inputs,n),outputs:oC(e.outputs),debugInfo:null}}function aC(e){e.features?.forEach(n=>n(e))}function Ul(e,n){if(!e)return null;const t=n?nt:vO;return()=>("function"==typeof e?e():e).map(r=>t(r)).filter(_O)}function ue(e){let n=function lC(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),t=!0;const r=[e];for(;n;){let i;if(zt(e))i=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new N(903,!1);i=n.\u0275dir}if(i){if(t){r.push(i);const s=e;s.inputs=$l(e.inputs),s.inputTransforms=$l(e.inputTransforms),s.declaredInputs=$l(e.declaredInputs),s.outputs=$l(e.outputs);const a=i.hostBindings;a&&IO(e,a);const l=i.viewQuery,c=i.contentQueries;if(l&&bO(e,l),c&&EO(e,c),wO(e,i),jM(e.outputs,i.outputs),zt(i)&&i.data.animation){const u=e.data;u.animation=(u.animation||[]).concat(i.data.animation)}}const o=i.features;if(o)for(let s=0;s=0;r--){const i=e[r];i.hostVars=n+=i.hostVars,i.hostAttrs=ki(i.hostAttrs,t=ki(t,i.hostAttrs))}}(r)}function wO(e,n){for(const t in n.inputs){if(!n.inputs.hasOwnProperty(t)||e.inputs.hasOwnProperty(t))continue;const r=n.inputs[t];if(void 0!==r&&(e.inputs[t]=r,e.declaredInputs[t]=n.declaredInputs[t],null!==n.inputTransforms)){const i=Array.isArray(r)?r[0]:r;if(!n.inputTransforms.hasOwnProperty(i))continue;e.inputTransforms??={},e.inputTransforms[i]=n.inputTransforms[i]}}}function $l(e){return e===hn?{}:e===le?[]:e}function bO(e,n){const t=e.viewQuery;e.viewQuery=t?(r,i)=>{n(r,i),t(r,i)}:n}function EO(e,n){const t=e.contentQueries;e.contentQueries=t?(r,i,o)=>{n(r,i,o),t(r,i,o)}:n}function IO(e,n){const t=e.hostBindings;e.hostBindings=t?(r,i)=>{n(r,i),t(r,i)}:n}function zl(e){return!!eh(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function eh(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function Dn(e,n,t){return e[n]=t}function Re(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function ni(e,n,t,r){const i=Re(e,n,t);return Re(e,n+1,r)||i}function V(e,n,t,r,i,o,s,a){const l=D(),c=Z();return function xs(e,n,t,r,i,o,s,a,l,c){const u=t+k,d=n.firstCreatePass?function FO(e,n,t,r,i,o,s,a,l){const c=n.consts,u=Jr(n,e,4,s||null,a||null);df(n,t,u,qt(c,l)),Ga(n,u);const d=u.tView=uf(2,u,r,i,o,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,u),d.queries=n.queries.embeddedTView(u)),u}(u,n,e,r,i,o,s,a,l):n.data[u];nn(d,!1);const g=hC(n,e,d,t);$o()&&Nl(n,e,g,d),vt(g,e);const h=j_(g,e,g,d);return e[u]=h,hf(e,h),Va(d)&&lf(n,e,d),null!=l&&cf(e,d,c),d}(l,c,e,n,t,r,i,qt(c.consts,o),s,a),V}let hC=function gC(e,n,t,r){return mn(!0),n[G].createComment("")};const TC=new R(""),Ql=new R("");let lh,sh=(()=>{class e{_ngZone;registry;_isZoneStable=!0;_callbacks=[];taskTrackingZone=null;constructor(t,r,i){this._ngZone=t,this.registry=r,lh||(function kA(e){lh=e}(i),i.addToWindow(r)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{de.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}isStable(){return this._isZoneStable&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb()}});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(t)||(clearTimeout(r.timeoutId),!1))}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,r,i){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),t()},r)),this._callbacks.push({doneCb:t,timeoutId:o,updateCb:i})}whenStable(t,r,i){if(i&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,r,i),this._runCallbacksIfReady()}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,r,i){return[]}static \u0275fac=function(r){return new(r||e)(se(de),se(ah),se(Ql))};static \u0275prov=re({token:e,factory:e.\u0275fac})}return e})(),ah=(()=>{class e{_applications=new Map;registerApplication(t,r){this._applications.set(t,r)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,r=!0){return lh?.findTestabilityInTree(this,t,r)??null}static \u0275fac=function(r){return new(r||e)};static \u0275prov=re({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function Yl(e){return!!e&&"function"==typeof e.then}function SC(e){return!!e&&"function"==typeof e.subscribe}const NC=new R("");let xC=(()=>{class e{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((t,r)=>{this.resolve=t,this.reject=r});appInits=A(NC,{optional:!0})??[];injector=A(We);constructor(){}runInitializers(){if(this.initialized)return;const t=[];for(const i of this.appInits){const o=jp(this.injector,i);if(Yl(o))t.push(o);else if(SC(o)){const s=new Promise((a,l)=>{o.subscribe({complete:a,error:l})});t.push(s)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{r()}).catch(i=>{this.reject(i)}),0===t.length&&r(),this.initialized=!0}static \u0275fac=function(r){return new(r||e)};static \u0275prov=re({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),ch=(()=>{class e{static \u0275prov=re({token:e,providedIn:"root",factory:()=>new OC})}return e})();class OC{queuedEffectCount=0;queues=new Map;schedule(n){this.enqueue(n)}remove(n){const r=this.queues.get(n.zone);r.has(n)&&(r.delete(n),this.queuedEffectCount--)}enqueue(n){const t=n.zone;this.queues.has(t)||this.queues.set(t,new Set);const r=this.queues.get(t);r.has(n)||(this.queuedEffectCount++,r.add(n))}flush(){for(;this.queuedEffectCount>0;)for(const[n,t]of this.queues)null===n?this.flushQueue(t):n.run(()=>this.flushQueue(t))}flushQueue(n){for(const t of n)n.delete(t),this.queuedEffectCount--,t.run()}}const Kl=new R("");function RC(e,n){return Array.isArray(n)?n.reduce(RC,e):{...e,...n}}let Yt=(()=>{class e{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=A(LT);afterRenderManager=A(Ld);zonelessEnabled=A(Zo);rootEffectScheduler=A(ch);dirtyFlags=0;deferredDirtyFlags=0;tracingSnapshot=null;externalTestViews=new Set;afterTick=new fn;get allViews(){return[...this.externalTestViews.keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];isStable=A(Xn).hasPendingTasks.pipe(pu(t=>!t));constructor(){A(Hi,{optional:!0})}whenStable(){let t;return new Promise(r=>{t=this.isStable.subscribe({next:i=>{i&&r()}})}).finally(()=>{t.unsubscribe()})}_injector=A(tn);_rendererFactory=null;get injector(){return this._injector}bootstrap(t,r){const i=t instanceof Ny;if(!this._injector.get(xC).done)throw!i&&function Ar(e){const n=ne(e)||ze(e)||nt(e);return null!==n&&n.standalone}(t),new N(405,!1);let s;s=i?t:this._injector.get(Vl).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function FA(e){return e.isBoundToModule}(s)?void 0:this._injector.get(ti),c=s.create(We.NULL,[],r||s.selector,a),u=c.location.nativeElement,d=c.injector.get(TC,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),Jl(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick=()=>{if(null!==this.tracingSnapshot){const r=this.tracingSnapshot;return this.tracingSnapshot=null,r.run(Fd.CHANGE_DETECTION,this._tick),void r.dispose()}if(this._runningTick)throw new N(101,!1);const t=te(null);try{this._runningTick=!0,this.synchronize()}catch(r){this.internalErrorHandler(r)}finally{this._runningTick=!1,te(t),this.afterTick.next()}};synchronize(){null===this._rendererFactory&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(Vf,null,{optional:!0})),this.dirtyFlags|=this.deferredDirtyFlags,this.deferredDirtyFlags=0;let t=0;for(;0!==this.dirtyFlags&&t++<10;)this.synchronizeOnce()}synchronizeOnce(){if(this.dirtyFlags|=this.deferredDirtyFlags,this.deferredDirtyFlags=0,16&this.dirtyFlags&&(this.dirtyFlags&=-17,this.rootEffectScheduler.flush()),7&this.dirtyFlags){const t=!!(1&this.dirtyFlags);this.dirtyFlags&=-8,this.dirtyFlags|=8;for(let{_lView:r,notifyErrorHandler:i}of this.allViews)VA(r,i,t,this.zonelessEnabled);if(this.dirtyFlags&=-5,this.syncDirtyFlagsWithViews(),23&this.dirtyFlags)return}else this._rendererFactory?.begin?.(),this._rendererFactory?.end?.();8&this.dirtyFlags&&(this.dirtyFlags&=-9,this.afterRenderManager.execute()),this.syncDirtyFlagsWithViews()}syncDirtyFlagsWithViews(){this.allViews.some(({_lView:t})=>Ba(t))?this.dirtyFlags|=2:this.dirtyFlags&=-8}attachView(t){const r=t;this._views.push(r),r.attachToAppRef(this)}detachView(t){const r=t;Jl(this._views,r),r.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(Kl,[]).forEach(i=>i(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>Jl(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new N(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}static \u0275fac=function(r){return new(r||e)};static \u0275prov=re({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Jl(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function VA(e,n,t,r){(t||Ba(e))&&Ol(e,n,t&&!r?0:1)}function _t(e,n,t,r){const i=D();return Re(i,Wt(),n)&&(Z(),Cn(me(),i,e,n,t,r)),_t}function ao(e,n,t,r){return Re(e,Wt(),t)?n+K(t)+r:J}function Xl(e,n){return e<<17|n<<2}function hr(e){return e>>17&32767}function hh(e){return 2|e}function ii(e){return(131068&e)>>2}function gh(e,n){return-131069&e|n<<2}function ph(e){return 1|e}function ZC(e,n,t,r){const i=e[t+1],o=null===n;let s=r?hr(i):ii(i),a=!1;for(;0!==s&&(!1===a||o);){const c=e[s+1];DR(e[s],n)&&(a=!0,e[s+1]=r?ph(c):hh(c)),s=r?hr(c):ii(c)}a&&(e[t+1]=r?hh(i):ph(i))}function DR(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&bi(e,n)>=0}const Ze={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function QC(e){return e.substring(Ze.key,Ze.keyEnd)}function YC(e,n){const t=Ze.textEnd;return t===n?-1:(n=Ze.keyEnd=function MR(e,n,t){for(;n32;)n++;return n}(e,Ze.key=n,t),mo(e,n,t))}function mo(e,n,t){for(;n=0;t=YC(n,t))Lt(e,QC(n),!0)}function an(e,n,t,r){const i=D(),o=Z(),s=Pn(2);o.firstUpdatePass&&nw(o,e,s,r),n!==J&&Re(i,s,n)&&iw(o,o.data[rt()],i,i[G],e,i[s+1]=function VR(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=$e(rr(e)))),e}(n,t),r,s)}function tw(e,n){return n>=e.expandoStartIndex}function nw(e,n,t,r){const i=e.data;if(null===i[t+1]){const o=i[rt()],s=tw(e,t);sw(o,r)&&null===n&&!s&&(n=!1),n=function OR(e,n,t,r){const i=function ed(e){const n=Q.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let o=r?n.residualClasses:n.residualStyles;if(null===i)0===(r?n.classBindings:n.styleBindings)&&(t=Rs(t=vh(null,e,n,t,r),n.attrs,r),o=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==i)if(t=vh(i,e,n,t,r),null===o){let l=function AR(e,n,t){const r=t?n.classBindings:n.styleBindings;if(0!==ii(r))return e[hr(r)]}(e,n,r);void 0!==l&&Array.isArray(l)&&(l=vh(null,e,n,l[1],r),l=Rs(l,n.attrs,r),function RR(e,n,t,r){e[hr(t?n.classBindings:n.styleBindings)]=r}(e,n,r,l))}else o=function kR(e,n,t){let r;const i=n.directiveEnd;for(let o=1+n.directiveStylingLast;o0)&&(c=!0)):u=t,i)if(0!==l){const g=hr(e[a+1]);e[r+1]=Xl(g,a),0!==g&&(e[g+1]=gh(e[g+1],r)),e[a+1]=function _R(e,n){return 131071&e|n<<17}(e[a+1],r)}else e[r+1]=Xl(a,0),0!==a&&(e[a+1]=gh(e[a+1],r)),a=r;else e[r+1]=Xl(l,0),0===a?a=r:e[l+1]=gh(e[l+1],r),l=r;c&&(e[r+1]=hh(e[r+1])),ZC(e,u,r,!0),ZC(e,u,r,!1),function wR(e,n,t,r,i){const o=i?e.residualClasses:e.residualStyles;null!=o&&"string"==typeof n&&bi(o,n)>=0&&(t[r+1]=ph(t[r+1]))}(n,u,e,r,o),s=Xl(a,l),o?n.classBindings=s:n.styleBindings=s}(i,o,n,t,s,r)}}function vh(e,n,t,r,i){let o=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[i],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let g=t[i+1];g===J&&(g=d?le:void 0);let h=d?Ou(g,r):u===r?g:void 0;if(c&&!tc(h)&&(h=Ou(l,r)),tc(h)&&(a=h,s))return a;const m=e[i+1];i=s?hr(m):ii(m)}if(null!==n){let l=o?n.residualClasses:n.residualStyles;null!=l&&(a=Ou(l,r))}return a}function tc(e){return void 0!==e}function sw(e,n){return!!(e.flags&(n?8:16))}function Kt(e,n,t){!function ln(e,n,t,r){const i=Z(),o=Pn(2);i.firstUpdatePass&&nw(i,null,o,r);const s=D();if(t!==J&&Re(s,o,t)){const a=i.data[rt()];if(sw(a,r)&&!tw(i,o)){let l=r?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(t=vu(l,t||"")),mh(i,a,s,t,r)}else!function PR(e,n,t,r,i,o,s,a){i===J&&(i=le);let l=0,c=0,u=0(mn(!0),Il(r,i,function ym(){return Q.lFrame.currentNamespace}()));function X(e,n,t){const r=D(),i=Z(),o=e+k,s=i.firstCreatePass?function ck(e,n,t,r,i){const o=n.consts,s=qt(o,r),a=Jr(n,e,8,"ng-container",s);return null!==s&&Bl(a,s,!0),df(n,t,a,qt(o,i)),null!==n.queries&&n.queries.elementStart(n,a),a}(o,i,r,n,t):i.data[o];nn(s,!0);const a=fw(i,r,s,e);return r[o]=a,$o()&&Nl(i,r,a,s),vt(a,r),Va(s)&&(lf(i,r,s),Qd(i,s,r)),null!=t&&cf(r,s),X}function ee(){let e=ie();const n=Z();return Ku()?Ju():(e=e.parent,nn(e,!1)),n.firstCreatePass&&(Ga(n,e),Uu(e)&&n.queries.elementEnd(e)),ee}let fw=(e,n,t,r)=>(mn(!0),af(n[G],""));function ge(){return D()}const rc="en-US";let vw=rc;function q(e,n,t,r){const i=D(),o=Z(),s=ie();return bh(o,i,i[G],s,e,n,r),q}function bh(e,n,t,r,i,o,s){const a=Va(r),c=e.firstCreatePass&&om(e),u=n[8],d=im(n);let g=!0;if(3&r.type||s){const C=ft(r,n),E=s?s(C):C,I=d.length,w=s?z=>s(ae(z[r.index])):r.index;let L=null;if(!s&&a&&(L=function nF(e,n,t,r){const i=e.cleanup;if(null!=i)for(let o=0;ol?a[l]:null}"string"==typeof s&&(o+=2)}return null}(e,n,i,r.index)),null!==L)(L.__ngLastListenerFn__||L).__ngNextListenerFn__=o,L.__ngLastListenerFn__=o,g=!1;else{o=Hw(r,n,u,o);const z=t.listen(E,i,o);d.push(o,z),c&&c.push(i,w,I,I+1)}}else o=Hw(r,n,u,o);const h=r.outputs;let m;if(g&&null!==h&&(m=h[i])){const C=m.length;if(C)for(let E=0;E0;)n=n[14],e--;return n}(e,Q.lFrame.contextLView))[8]}(e)}function In(e,n,t){return Eh(e,"",n,"",t),In}function Eh(e,n,t,r,i){const o=D(),s=ao(o,n,t,r);return s!==J&&St(Z(),me(),o,e,s,o[G],i,!1),Eh}function Zw(e,n,t,r){!function zy(e,n,t,r){const i=Z();if(i.firstCreatePass){const o=ie();Gy(i,new By(n,t,r),o.index),function rO(e,n){const t=e.contentQueries||(e.contentQueries=[]);n!==(t.length?t[t.length-1]:-1)&&t.push(e.queries.length-1,n)}(i,e),!(2&~t)&&(i.staticContentQueries=!0)}return Uy(i,D(),t)}(e,n,t,r)}function Vt(e,n,t){!function $y(e,n,t){const r=Z();return r.firstCreatePass&&(Gy(r,new By(e,n,t),-1),!(2&~n)&&(r.staticViewQueries=!0)),Uy(r,D(),n)}(e,n,t)}function Ot(e){const n=D(),t=Z(),r=td();za(r+1);const i=Qf(t,r);if(e.dirty&&function P0(e){return!(4&~e[2])}(n)===!(2&~i.metadata.flags)){if(null===i.matches)e.reset([]);else{const o=qy(n,r);e.reset(o,Km),e.notifyOnChanges()}return!0}return!1}function At(){return function Zf(e,n){return e[18].queries[n].queryList}(D(),td())}function b(e,n=""){const t=D(),r=Z(),i=e+k,o=r.firstCreatePass?Jr(r,i,1,n,null):r.data[i],s=iD(r,t,o,n,e);t[i]=s,$o()&&Nl(r,t,s,o),nn(o,!1)}let iD=(e,n,t,r,i)=>(mn(!0),function sf(e,n){return e.createText(n)}(n[G],r));function O(e){return U("",e,""),O}function U(e,n,t){const r=D(),i=ao(r,e,n,t);return i!==J&&function Un(e,n,t){const r=Ai(n,e);!function I_(e,n,t){e.setValue(n,t)}(e[G],r,t)}(r,rt(),i),U}function Qe(e,n,t){ev(n)&&(n=n());const r=D();return Re(r,Wt(),n)&&St(Z(),me(),r,e,n,r[G],t,!1),Qe}function be(e,n){const t=ev(e);return t&&e.set(n),t}function tt(e,n){const t=D(),r=Z(),i=ie();return bh(r,t,t[G],i,e,n),tt}function Mh(e,n,t,r,i){if(e=W(e),Array.isArray(e))for(let o=0;o>20;if(kr(e)||!e.multi){const h=new zo(c,i,T),m=Sh(l,n,i?u:u+g,d);-1===m?(dd(Qa(a,s),o,l),Th(o,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,i&&(a.providerIndexes+=1048576),t.push(h),s.push(h)):(t[m]=h,s[m]=h)}else{const h=Sh(l,n,u+g,d),m=Sh(l,n,u,u+g),E=m>=0&&t[m];if(i&&!E||!i&&!(h>=0&&t[h])){dd(Qa(a,s),o,l);const I=function SF(e,n,t,r,i){const o=new zo(e,t,T);return o.multi=[],o.index=n,o.componentProviders=0,pD(o,i,r&&!t),o}(i?TF:MF,t.length,i,r,c);!i&&E&&(t[m].providerFactory=I),Th(o,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,i&&(a.providerIndexes+=1048576),t.push(I),s.push(I)}else Th(o,e,h>-1?h:m,pD(t[i?m:h],c,!i&&r));!i&&r&&E&&t[m].componentProviders++}}}function Th(e,n,t,r){const i=kr(n),o=function h0(e){return!!e.useClass}(n);if(i||o){const l=(o?W(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!i&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[r,l]):c[u+1].push(r,l)}else c.push(t,l)}}}function pD(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function Sh(e,n,t,r){for(let i=t;i{t.providersResolver=(r,i)=>function IF(e,n,t){const r=Z();if(r.firstCreatePass){const i=zt(e);Mh(t,r.data,r.blueprint,i,!0),Mh(n,r.data,r.blueprint,i,!1)}}(r,i?i(e):e,n)}}function _o(e,n,t,r){return function vD(e,n,t,r,i,o){const s=n+t;return Re(e,s,i)?Dn(e,s+1,o?r.call(o,i):r(i)):Hs(e,s+1)}(D(),gt(),e,n,t,r)}function xh(e,n,t,r,i){return function _D(e,n,t,r,i,o,s){const a=n+t;return ni(e,a,i,o)?Dn(e,a+2,s?r.call(s,i,o):r(i,o)):Hs(e,a+2)}(D(),gt(),e,n,t,r,i)}function Fe(e,n,t,r,i,o){return yD(D(),gt(),e,n,t,r,i,o)}function Hs(e,n){const t=e[n];return t===J?void 0:t}function yD(e,n,t,r,i,o,s,a){const l=n+t;return function Gl(e,n,t,r,i){const o=ni(e,n,t,r);return Re(e,n+2,i)||o}(e,l,i,o,s)?Dn(e,l+3,a?r.call(a,i,o,s):r(i,o,s)):Hs(e,l+3)}let wL=(()=>{class e{zone=A(de);changeDetectionScheduler=A(Vn);applicationRef=A(Yt);_onMicrotaskEmptySubscription;initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static \u0275fac=function(r){return new(r||e)};static \u0275prov=re({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Fh({ngZoneFactory:e,ignoreChangesOutsideZone:n,scheduleInRootZone:t}){return e??=()=>new de({...Lh(),scheduleInRootZone:t}),[{provide:de,useFactory:e},{provide:en,multi:!0,useFactory:()=>{const r=A(wL,{optional:!0});return()=>r.initialize()}},{provide:en,multi:!0,useFactory:()=>{const r=A(bL);return()=>{r.initialize()}}},!0===n?{provide:zm,useValue:!0}:[],{provide:gd,useValue:t??Um}]}function Lh(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}let bL=(()=>{class e{subscription=new Rt;initialized=!1;zone=A(de);pendingTasks=A(Xn);initialize(){if(this.initialized)return;this.initialized=!0;let t=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(t=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{de.assertNotInAngularZone(),queueMicrotask(()=>{null!==t&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(t),t=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{de.assertInAngularZone(),t??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static \u0275fac=function(r){return new(r||e)};static \u0275prov=re({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Us=(()=>{class e{appRef=A(Yt);taskService=A(Xn);ngZone=A(de);zonelessEnabled=A(Zo);tracing=A(Hi,{optional:!0});disableScheduling=A(zm,{optional:!0})??!1;zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new Rt;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(el):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(A(gd,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()})),this.disableScheduling||=!this.zonelessEnabled&&(this.ngZone instanceof _d||!this.zoneIsDefined)}notify(t){if(!this.zonelessEnabled&&5===t)return;let r=!1;switch(t){case 0:this.appRef.dirtyFlags|=2;break;case 3:case 2:case 4:case 5:case 1:this.appRef.dirtyFlags|=4;break;case 8:this.appRef.deferredDirtyFlags|=8;break;case 6:case 14:this.appRef.dirtyFlags|=2,r=!0;break;case 13:this.appRef.dirtyFlags|=16,r=!0;break;case 12:r=!0;break;default:this.appRef.dirtyFlags|=8}if(this.appRef.tracingSnapshot=this.tracing?.snapshot(this.appRef.tracingSnapshot)??null,!this.shouldScheduleTick(r))return;const i=this.useMicrotaskScheduler?qm:Gm;this.pendingRenderTaskId=this.taskService.add(),this.cancelScheduledCallback=this.scheduleInRootZone?Zone.root.run(()=>i(()=>this.tick())):this.ngZone.runOutsideAngular(()=>i(()=>this.tick()))}shouldScheduleTick(t){return!(this.disableScheduling&&!t||this.appRef.destroyed||null!==this.pendingRenderTaskId||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(el+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;if(0===this.appRef.dirtyFlags)return void this.cleanup();!this.zonelessEnabled&&7&this.appRef.dirtyFlags&&(this.appRef.dirtyFlags|=1);const t=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(r){throw this.taskService.remove(t),r}finally{this.cleanup()}this.useMicrotaskScheduler=!0,qm(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(t)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,null!==this.pendingRenderTaskId){const t=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(t)}}static \u0275fac=function(r){return new(r||e)};static \u0275prov=re({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const gr=new R("",{providedIn:"root",factory:()=>A(gr,oe.Optional|oe.SkipSelf)||function EL(){return typeof $localize<"u"&&$localize.locale||rc}()}),dc=new R(""),xL=new R("");function $s(e){return!e.moduleRef}let zD=(()=>{class e{_injector;_modules=[];_destroyListeners=[];_destroyed=!1;constructor(t){this._injector=t}bootstrapModuleFactory(t,r){const i=r?.scheduleInRootZone,s=r?.ignoreChangesOutsideZone,a=[Fh({ngZoneFactory:()=>function FT(e="zone.js",n){return"noop"===e?new _d:"zone.js"===e?new de(n):e}(r?.ngZone,{...Lh({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}),scheduleInRootZone:i}),ignoreChangesOutsideZone:s}),{provide:Vn,useExisting:Us}],l=function pO(e,n,t){return new Kf(e,n,t,!1)}(t.moduleType,this.injector,a);return function $D(e){const n=$s(e)?e.r3Injector:e.moduleRef.injector,t=n.get(de);return t.run(()=>{$s(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();const r=n.get(_n,null);let i;if(t.runOutsideAngular(()=>{i=t.onError.subscribe({next:o=>{r.handleError(o)}})}),$s(e)){const o=()=>n.destroy(),s=e.platformInjector.get(dc);s.add(o),n.onDestroy(()=>{i.unsubscribe(),s.delete(o)})}else{const o=()=>e.moduleRef.destroy(),s=e.platformInjector.get(dc);s.add(o),e.moduleRef.onDestroy(()=>{Jl(e.allPlatformModules,e.moduleRef),i.unsubscribe(),s.delete(o)})}return function PA(e,n,t){try{const r=t();return Yl(r)?r.catch(i=>{throw n.runOutsideAngular(()=>e.handleError(i)),i}):r}catch(r){throw n.runOutsideAngular(()=>e.handleError(r)),r}}(r,t,()=>{const o=n.get(xC);return o.runInitializers(),o.donePromise.then(()=>{if(function _k(e){"string"==typeof e&&(vw=e.toLowerCase().replace(/_/g,"-"))}(n.get(gr,rc)||rc),!n.get(xL,!0))return $s(e)?n.get(Yt):(e.allPlatformModules.push(e.moduleRef),e.moduleRef);if($s(e)){const l=n.get(Yt);return void 0!==e.rootComponent&&l.bootstrap(e.rootComponent),l}return function OL(e,n){const t=e.injector.get(Yt);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(r=>t.bootstrap(r));else{if(!e.instance.ngDoBootstrap)throw new N(-403,!1);e.instance.ngDoBootstrap(t)}n.push(e)}(e.moduleRef,e.allPlatformModules),e.moduleRef})})})}({moduleRef:l,allPlatformModules:this._modules,platformInjector:this.injector})}bootstrapModule(t,r=[]){const i=RC({},r);return function CL(e,n,t){const r=new Jf(t);return Promise.resolve(r)}(0,0,t).then(o=>this.bootstrapModuleFactory(o,i))}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new N(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const t=this._injector.get(dc,null);t&&(t.forEach(r=>r()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static \u0275fac=function(r){return new(r||e)(se(We))};static \u0275prov=re({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),pr=null;const GD=new R("");function qD(e,n,t=[]){const r=`Platform: ${n}`,i=new R(r);return(o=[])=>{let s=Vh();if(!s||s.injector.get(GD,!1)){const a=[...t,...o,{provide:i,useValue:!0}];e?e(a):function AL(e){if(pr&&!pr.get(GD,!1))throw new N(400,!1);(function AC(){!function yM(e){sp=e}(()=>{throw new N(600,!1)})})(),pr=e;const n=e.get(zD);(function ZD(e){const n=e.get(Ed,null);jp(e,()=>{n?.forEach(t=>t())})})(e)}(function WD(e=[],n){return We.create({name:n,providers:[{provide:Lu,useValue:"platform"},{provide:dc,useValue:new Set([()=>pr=null])},...e]})}(a,r))}return function RL(){const n=Vh();if(!n)throw new N(401,!1);return n}()}}function Vh(){return pr?.get(zD)??null}let si=(()=>class e{static __NG_ELEMENT_ID__=FL})();function FL(e){return function LL(e,n,t){if($t(e)&&!t){const r=ht(e.index,n);return new vs(r,r)}return 175&e.type?new vs(n[15],n):null}(ie(),D(),!(16&~e))}class XD{constructor(){}supports(n){return zl(n)}create(n){return new jL(n)}}const BL=(e,n)=>n;class jL{length=0;collection;_linkedRecords=null;_unlinkedRecords=null;_previousItHead=null;_itHead=null;_itTail=null;_additionsHead=null;_additionsTail=null;_movesHead=null;_movesTail=null;_removalsHead=null;_removalsTail=null;_identityChangesHead=null;_identityChangesTail=null;_trackByFn;constructor(n){this._trackByFn=n||BL}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,r=this._removalsHead,i=0,o=null;for(;t||r;){const s=!r||t&&t.currentIndex{s=this._trackByFn(i,a),null!==t&&Object.is(t.trackById,s)?(r&&(t=this._verifyReinsertion(t,a,s,i)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,i),r=!0),t=t._next,i++}),this.length=i;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,r,i){let o;return null===n?o=this._itTail:(o=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,o,i)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(r,i))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,o,i)):n=this._addAfter(new UL(t,r),o,i),n}_verifyReinsertion(n,t,r,i){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==o?n=this._reinsertAfter(o,n._prev,i):n.currentIndex!=i&&(n.currentIndex=i,this._addToMoves(n,i)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const i=n._prevRemoved,o=n._nextRemoved;return null===i?this._removalsHead=o:i._nextRemoved=o,null===o?this._removalsTail=i:o._prevRemoved=i,this._insertAfter(n,t,r),this._addToMoves(n,r),n}_moveAfter(n,t,r){return this._unlink(n),this._insertAfter(n,t,r),this._addToMoves(n,r),n}_addAfter(n,t,r){return this._insertAfter(n,t,r),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,r){const i=null===t?this._itHead:t._next;return n._next=i,n._prev=t,null===i?this._itTail=n:i._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new eb),this._linkedRecords.put(n),n.currentIndex=r,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,r=n._next;return null===t?this._itHead=r:t._next=r,null===r?this._itTail=t:r._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new eb),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class UL{item;trackById;currentIndex=null;previousIndex=null;_nextPrevious=null;_prev=null;_next=null;_prevDup=null;_nextDup=null;_prevRemoved=null;_nextRemoved=null;_nextAdded=null;_nextMoved=null;_nextIdentityChange=null;constructor(n,t){this.item=n,this.trackById=t}}class $L{_head=null;_tail=null;add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let r;for(r=this._head;null!==r;r=r._nextDup)if((null===t||t<=r.currentIndex)&&Object.is(r.trackById,n))return r;return null}remove(n){const t=n._prevDup,r=n._nextDup;return null===t?this._head=r:t._nextDup=r,null===r?this._tail=t:r._prevDup=t,null===this._head}}class eb{map=new Map;put(n){const t=n.trackById;let r=this.map.get(t);r||(r=new $L,this.map.set(t,r)),r.add(n)}get(n,t){const i=this.map.get(n);return i?i.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function tb(e,n,t){const r=e.previousIndex;if(null===r)return r;let i=0;return t&&r{if(t&&t.key===i)this._maybeAddToChanges(t,r),this._appendAfter=t,t=t._next;else{const o=this._getOrCreateRecordForKey(i,r);t=this._insertBeforeOrAppend(t,o)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let r=t;null!==r;r=r._nextRemoved)r===this._mapHead&&(this._mapHead=null),this._records.delete(r.key),r._nextRemoved=r._next,r.previousValue=r.currentValue,r.currentValue=null,r._prev=null,r._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const r=n._prev;return t._next=n,t._prev=r,n._prev=t,r&&(r._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const i=this._records.get(n);this._maybeAddToChanges(i,t);const o=i._prev,s=i._next;return o&&(o._next=s),s&&(s._prev=o),i._next=null,i._prev=null,i}const r=new GL(n);return this._records.set(n,r),r.currentValue=t,this._addToAdditions(r),r}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(r=>t(n[r],r))}}class GL{key;previousValue=null;currentValue=null;_nextPrevious=null;_next=null;_prev=null;_nextAdded=null;_nextRemoved=null;_nextChanged=null;constructor(n){this.key=n}}function rb(){return new $h([new XD])}let $h=(()=>{class e{factories;static \u0275prov=re({token:e,providedIn:"root",factory:rb});constructor(t){this.factories=t}static create(t,r){if(null!=r){const i=r.factories.slice();t=t.concat(i)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||rb()),deps:[[e,new Nu,new Su]]}}find(t){const r=this.factories.find(i=>i.supports(t));if(null!=r)return r;throw new N(901,!1)}}return e})();function ib(){return new gc([new nb])}let gc=(()=>{class e{static \u0275prov=re({token:e,providedIn:"root",factory:ib});factories;constructor(t){this.factories=t}static create(t,r){if(r){const i=r.factories.slice();t=t.concat(i)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||ib()),deps:[[e,new Nu,new Su]]}}find(t){const r=this.factories.find(i=>i.supports(t));if(r)return r;throw new N(901,!1)}}return e})();const ZL=qD(null,"core",[]);let QL=(()=>{class e{constructor(t){}static \u0275fac=function(r){return new(r||e)(se(Yt))};static \u0275mod=cr({type:e});static \u0275inj=Nn({})}return e})();function Mn(e,n){Xe("NgSignals");const t=function mM(e){const n=Object.create(vM);n.computation=e;const t=()=>{if(Ao(n),Oo(n),n.value===Gn)throw n.error;return n.value};return t[Ke]=n,t}(e);return n?.equal&&(t[Ke].equal=n.equal),t}function it(e){const n=te(null);try{return e()}finally{te(n)}}let Lb=null;function Qs(){return Lb}class JP{}const li=new R(""),ig=/\s+/,Gb=[];let Do=(()=>{class e{_ngEl;_renderer;initialClasses=Gb;rawClass;stateMap=new Map;constructor(t,r){this._ngEl=t,this._renderer=r}set klass(t){this.initialClasses=null!=t?t.trim().split(ig):Gb}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(ig):t}ngDoCheck(){for(const r of this.initialClasses)this._updateState(r,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const r of t)this._updateState(r,!0);else if(null!=t)for(const r of Object.keys(t))this._updateState(r,!!t[r]);this._applyStateDiff()}_updateState(t,r){const i=this.stateMap.get(t);void 0!==i?(i.enabled!==r&&(i.changed=!0,i.enabled=r),i.touched=!0):this.stateMap.set(t,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const r=t[0],i=t[1];i.changed?(this._toggleClass(r,i.enabled),i.changed=!1):i.touched||(i.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),i.touched=!1}}_toggleClass(t,r){(t=t.trim()).length>0&&t.split(ig).forEach(i=>{r?this._renderer.addClass(this._ngEl.nativeElement,i):this._renderer.removeClass(this._ngEl.nativeElement,i)})}static \u0275fac=function(r){return new(r||e)(T(pt),T(on))};static \u0275dir=Y({type:e,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"}})}return e})();class BV{$implicit;ngForOf;index;count;constructor(n,t,r,i){this.$implicit=n,this.ngForOf=t,this.index=r,this.count=i}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let ci=(()=>{class e{_viewContainer;_template;_differs;set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}_ngForOf=null;_ngForOfDirty=!0;_differ=null;_trackByFn;constructor(t,r,i){this._viewContainer=t,this._template=r,this._differs=i}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const r=this._viewContainer;t.forEachOperation((i,o,s)=>{if(null==i.previousIndex)r.createEmbeddedView(this._template,new BV(i.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)r.remove(null===o?void 0:o);else if(null!==o){const a=r.get(o);r.move(a,s),Wb(a,i)}});for(let i=0,o=r.length;i{Wb(r.get(i.currentIndex),i)})}static ngTemplateContextGuard(t,r){return!0}static \u0275fac=function(r){return new(r||e)(T(wn),T(Bn),T($h))};static \u0275dir=Y({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}})}return e})();function Wb(e,n){e.context.$implicit=n.item}let zn=(()=>{class e{_viewContainer;_context=new jV;_thenTemplateRef=null;_elseTemplateRef=null;_thenViewRef=null;_elseViewRef=null;constructor(t,r){this._viewContainer=t,this._thenTemplateRef=r}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Zb("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Zb("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngIfUseIfTypeGuard;static ngTemplateGuard_ngIf;static ngTemplateContextGuard(t,r){return!0}static \u0275fac=function(r){return new(r||e)(T(wn),T(Bn))};static \u0275dir=Y({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}})}return e})();class jV{$implicit=null;ngIf=null}function Zb(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${$e(n)}'.`)}let Yb=(()=>{class e{_ngEl;_differs;_renderer;_ngStyle=null;_differ=null;constructor(t,r,i){this._ngEl=t,this._differs=r,this._renderer=i}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,r){const[i,o]=t.split("."),s=-1===i.indexOf("-")?void 0:sr.DashCase;null!=r?this._renderer.setStyle(this._ngEl.nativeElement,i,o?`${r}${o}`:r,s):this._renderer.removeStyle(this._ngEl.nativeElement,i,s)}_applyChanges(t){t.forEachRemovedItem(r=>this._setStyle(r.key,null)),t.forEachAddedItem(r=>this._setStyle(r.key,r.currentValue)),t.forEachChangedItem(r=>this._setStyle(r.key,r.currentValue))}static \u0275fac=function(r){return new(r||e)(T(pt),T(gc),T(on))};static \u0275dir=Y({type:e,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}})}return e})(),Kb=(()=>{class e{_viewContainerRef;_viewRef=null;ngTemplateOutletContext=null;ngTemplateOutlet=null;ngTemplateOutletInjector=null;constructor(t){this._viewContainerRef=t}ngOnChanges(t){if(this._shouldRecreateView(t)){const r=this._viewContainerRef;if(this._viewRef&&r.remove(r.indexOf(this._viewRef)),!this.ngTemplateOutlet)return void(this._viewRef=null);const i=this._createContextForwardProxy();this._viewRef=r.createEmbeddedView(this.ngTemplateOutlet,i,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(t){return!!t.ngTemplateOutlet||!!t.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(t,r,i)=>!!this.ngTemplateOutletContext&&Reflect.set(this.ngTemplateOutletContext,r,i),get:(t,r,i)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,r,i)}})}static \u0275fac=function(r){return new(r||e)(T(wn))};static \u0275dir=Y({type:e,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},features:[kn]})}return e})();let Xb=(()=>{class e{transform(t,r,i){if(null==t)return null;if(!this.supports(t))throw function un(e,n){return new N(2100,!1)}();return t.slice(r,i)}supports(t){return"string"==typeof t||Array.isArray(t)}static \u0275fac=function(r){return new(r||e)};static \u0275pipe=Nt({name:"slice",type:e,pure:!1})}return e})(),eE=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=cr({type:e});static \u0275inj=Nn({})}return e})();function nE(e){return"server"===e}class $2 extends JP{supportsDOMEvents=!0}class fg extends $2{static makeCurrent(){!function KP(e){Lb??=e}(new fg)}onAndCancel(n,t,r,i){return n.addEventListener(t,r,i),()=>{n.removeEventListener(t,r,i)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.remove()}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function z2(){return Xs=Xs||document.querySelector("base"),Xs?Xs.getAttribute("href"):null}();return null==t?null:function G2(e){return new URL(e,document.baseURI).pathname}(t)}resetBaseElement(){Xs=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return function VV(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const r=t.indexOf("="),[i,o]=-1==r?[t,""]:[t.slice(0,r),t.slice(r+1)];if(i.trim()===n)return decodeURIComponent(o)}return null}(document.cookie,n)}}let Xs=null,W2=(()=>{class e{build(){return new XMLHttpRequest}static \u0275fac=function(r){return new(r||e)};static \u0275prov=re({token:e,factory:e.\u0275fac})}return e})();const hg=new R("");let hE=(()=>{class e{_zone;_plugins;_eventNameToPlugin=new Map;constructor(t,r){this._zone=r,t.forEach(i=>{i.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,r,i,o){return this._findPluginFor(r).addEventListener(t,r,i,o)}getZone(){return this._zone}_findPluginFor(t){let r=this._eventNameToPlugin.get(t);if(r)return r;if(r=this._plugins.find(o=>o.supports(t)),!r)throw new N(5101,!1);return this._eventNameToPlugin.set(t,r),r}static \u0275fac=function(r){return new(r||e)(se(hg),se(de))};static \u0275prov=re({token:e,factory:e.\u0275fac})}return e})();class gE{_doc;constructor(n){this._doc=n}manager}const Vc="ng-app-id";function pE(e){for(const n of e)n.remove()}function mE(e,n){const t=n.createElement("style");return t.textContent=e,t}function gg(e,n){const t=n.createElement("link");return t.setAttribute("rel","stylesheet"),t.setAttribute("href",e),t}let vE=(()=>{class e{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;isServer;constructor(t,r,i,o={}){this.doc=t,this.appId=r,this.nonce=i,this.isServer=nE(o),function Z2(e,n,t,r){const i=e.head?.querySelectorAll(`style[${Vc}="${n}"],link[${Vc}="${n}"]`);if(i)for(const o of i)o.removeAttribute(Vc),o instanceof HTMLLinkElement?r.set(o.href.slice(o.href.lastIndexOf("/")+1),{usage:0,elements:[o]}):o.textContent&&t.set(o.textContent,{usage:0,elements:[o]})}(t,r,this.inline,this.external),this.hosts.add(t.head)}addStyles(t,r){for(const i of t)this.addUsage(i,this.inline,mE);r?.forEach(i=>this.addUsage(i,this.external,gg))}removeStyles(t,r){for(const i of t)this.removeUsage(i,this.inline);r?.forEach(i=>this.removeUsage(i,this.external))}addUsage(t,r,i){const o=r.get(t);o?o.usage++:r.set(t,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,i(t,this.doc)))})}removeUsage(t,r){const i=r.get(t);i&&(i.usage--,i.usage<=0&&(pE(i.elements),r.delete(t)))}ngOnDestroy(){for(const[,{elements:t}]of[...this.inline,...this.external])pE(t);this.hosts.clear()}addHost(t){this.hosts.add(t);for(const[r,{elements:i}]of this.inline)i.push(this.addElement(t,mE(r,this.doc)));for(const[r,{elements:i}]of this.external)i.push(this.addElement(t,gg(r,this.doc)))}removeHost(t){this.hosts.delete(t)}addElement(t,r){return this.nonce&&r.setAttribute("nonce",this.nonce),this.isServer&&r.setAttribute(Vc,this.appId),t.appendChild(r)}static \u0275fac=function(r){return new(r||e)(se(li),se(qr),se(yv,8),se(Pi))};static \u0275prov=re({token:e,factory:e.\u0275fac})}return e})();const pg={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},mg=/%COMP%/g,eH=new R("",{providedIn:"root",factory:()=>!0});function yE(e,n){return n.map(t=>t.replace(mg,e))}let CE=(()=>{class e{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;platformId;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;platformIsServer;constructor(t,r,i,o,s,a,l,c=null,u=null){this.eventManager=t,this.sharedStylesHost=r,this.appId=i,this.removeStylesOnCompDestroy=o,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.tracingService=u,this.platformIsServer=nE(a),this.defaultRenderer=new vg(t,s,l,this.platformIsServer,this.tracingService)}createRenderer(t,r){if(!t||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===Zt.ShadowDom&&(r={...r,encapsulation:Zt.Emulated});const i=this.getOrCreateRenderer(t,r);return i instanceof DE?i.applyToHost(t):i instanceof _g&&i.applyStyles(),i}getOrCreateRenderer(t,r){const i=this.rendererByCompId;let o=i.get(r.id);if(!o){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,d=this.platformIsServer,g=this.tracingService;switch(r.encapsulation){case Zt.Emulated:o=new DE(l,c,r,this.appId,u,s,a,d,g);break;case Zt.ShadowDom:return new iH(l,c,t,r,s,a,this.nonce,d,g);default:o=new _g(l,c,r,u,s,a,d,g)}i.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(t){this.rendererByCompId.delete(t)}static \u0275fac=function(r){return new(r||e)(se(hE),se(vE),se(qr),se(eH),se(li),se(Pi),se(de),se(yv),se(Hi,8))};static \u0275prov=re({token:e,factory:e.\u0275fac})}return e})();class vg{eventManager;doc;ngZone;platformIsServer;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(n,t,r,i,o){this.eventManager=n,this.doc=t,this.ngZone=r,this.platformIsServer=i,this.tracingService=o}destroy(){}destroyNode=null;createElement(n,t){return t?this.doc.createElementNS(pg[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(wE(n)?n.content:n).appendChild(t)}insertBefore(n,t,r){n&&(wE(n)?n.content:n).insertBefore(t,r)}removeChild(n,t){t.remove()}selectRootElement(n,t){let r="string"==typeof n?this.doc.querySelector(n):n;if(!r)throw new N(-5104,!1);return t||(r.textContent=""),r}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,r,i){if(i){t=i+":"+t;const o=pg[i];o?n.setAttributeNS(o,t,r):n.setAttribute(t,r)}else n.setAttribute(t,r)}removeAttribute(n,t,r){if(r){const i=pg[r];i?n.removeAttributeNS(i,t):n.removeAttribute(`${r}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,r,i){i&(sr.DashCase|sr.Important)?n.style.setProperty(t,r,i&sr.Important?"important":""):n.style[t]=r}removeStyle(n,t,r){r&sr.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,r){null!=n&&(n[t]=r)}setValue(n,t){n.nodeValue=t}listen(n,t,r,i){if("string"==typeof n&&!(n=Qs().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${t}`);let o=this.decoratePreventDefault(r);return null!==this.tracingService&&this.tracingService.wrapEventListener&&(o=this.tracingService.wrapEventListener(n,t,o)),this.eventManager.addEventListener(n,t,o,i)}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function wE(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class iH extends vg{sharedStylesHost;hostEl;shadowRoot;constructor(n,t,r,i,o,s,a,l,c){super(n,o,s,l,c),this.sharedStylesHost=t,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let u=i.styles;u=yE(i.id,u);for(const g of u){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=g,this.shadowRoot.appendChild(h)}const d=i.getExternalStyles?.();if(d)for(const g of d){const h=gg(g,o);a&&h.setAttribute("nonce",a),this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,r){return super.insertBefore(this.nodeOrShadowRoot(n),t,r)}removeChild(n,t){return super.removeChild(null,t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class _g extends vg{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(n,t,r,i,o,s,a,l,c){super(n,o,s,a,l),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=i;let u=r.styles;this.styles=c?yE(c,u):u,this.styleUrls=r.getExternalStyles?.(c)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}}class DE extends _g{contentAttr;hostAttr;constructor(n,t,r,i,o,s,a,l,c){const u=i+"-"+r.id;super(n,t,r,o,s,a,l,c,u),this.contentAttr=function tH(e){return"_ngcontent-%COMP%".replace(mg,e)}(u),this.hostAttr=function nH(e){return"_nghost-%COMP%".replace(mg,e)}(u)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const r=super.createElement(n,t);return super.setAttribute(r,this.contentAttr,""),r}}let oH=(()=>{class e extends gE{constructor(t){super(t)}supports(t){return!0}addEventListener(t,r,i,o){return t.addEventListener(r,i,o),()=>this.removeEventListener(t,r,i,o)}removeEventListener(t,r,i,o){return t.removeEventListener(r,i,o)}static \u0275fac=function(r){return new(r||e)(se(li))};static \u0275prov=re({token:e,factory:e.\u0275fac})}return e})();const bE=["alt","control","meta","shift"],sH={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},aH={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let lH=(()=>{class e extends gE{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,r,i,o){const s=e.parseEventName(r),a=e.eventCallback(s.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Qs().onAndCancel(t,s.domEventName,a,o))}static parseEventName(t){const r=t.toLowerCase().split("."),i=r.shift();if(0===r.length||"keydown"!==i&&"keyup"!==i)return null;const o=e._normalizeKey(r.pop());let s="",a=r.indexOf("code");if(a>-1&&(r.splice(a,1),s="code."),bE.forEach(c=>{const u=r.indexOf(c);u>-1&&(r.splice(u,1),s+=c+".")}),s+=o,0!=r.length||0===o.length)return null;const l={};return l.domEventName=i,l.fullKey=s,l}static matchEventFullKeyCode(t,r){let i=sH[t.key]||t.key,o="";return r.indexOf("code.")>-1&&(i=t.code,o="code."),!(null==i||!i)&&(i=i.toLowerCase()," "===i?i="space":"."===i&&(i="dot"),bE.forEach(s=>{s!==i&&(0,aH[s])(t)&&(o+=s+".")}),o+=i,o===r)}static eventCallback(t,r,i){return o=>{e.matchEventFullKeyCode(o,t)&&i.runGuarded(()=>r(o))}}static _normalizeKey(t){return"esc"===t?"escape":t}static \u0275fac=function(r){return new(r||e)(se(li))};static \u0275prov=re({token:e,factory:e.\u0275fac})}return e})();const fH=qD(ZL,"browser",[{provide:Pi,useValue:"browser"},{provide:Ed,useValue:function cH(){fg.makeCurrent()},multi:!0},{provide:li,useFactory:function dH(){return function sS(e){bd=e}(document),document},deps:[]}]),ME=[{provide:Ql,useClass:class q2{addToWindow(n){Ie.getAngularTestability=(r,i=!0)=>{const o=n.findTestabilityInTree(r,i);if(null==o)throw new N(5103,!1);return o},Ie.getAllAngularTestabilities=()=>n.getAllTestabilities(),Ie.getAllAngularRootElements=()=>n.getAllRootElements(),Ie.frameworkStabilizers||(Ie.frameworkStabilizers=[]),Ie.frameworkStabilizers.push(r=>{const i=Ie.getAllAngularTestabilities();let o=i.length;const s=function(){o--,0==o&&r()};i.forEach(a=>{a.whenStable(s)})})}findTestabilityInTree(n,t,r){return null==t?null:n.getTestability(t)??(r?Qs().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:TC,useClass:sh,deps:[de,ah,Ql]},{provide:sh,useClass:sh,deps:[de,ah,Ql]}],TE=[{provide:Lu,useValue:"root"},{provide:_n,useFactory:function uH(){return new _n},deps:[]},{provide:hg,useClass:oH,multi:!0,deps:[li,de,Pi]},{provide:hg,useClass:lH,multi:!0,deps:[li]},CE,vE,hE,{provide:Vf,useExisting:CE},{provide:class p2{},useClass:W2,deps:[]},[]];let hH=(()=>{class e{constructor(){}static \u0275fac=function(r){return new(r||e)};static \u0275mod=cr({type:e});static \u0275inj=Nn({providers:[...TE,...ME],imports:[eE,QL]})}return e})();function vr(e){return this instanceof vr?(this.v=e,this):new vr(e)}function RE(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function Dg(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(o){t[o]=e[o]&&function(s){return new Promise(function(a,l){!function i(o,s,a,l){Promise.resolve(l).then(function(c){o({value:c,done:a})},s)}(a,l,(s=e[o](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const kE=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function FE(e){return Be(e?.then)}function LE(e){return Be(e[hu])}function PE(e){return Symbol.asyncIterator&&Be(e?.[Symbol.asyncIterator])}function VE(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const HE=function $H(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function BE(e){return Be(e?.[HE])}function jE(e){return function AE(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,r=t.apply(e,n||[]),o=[];return i=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",function s(h){return function(m){return Promise.resolve(m).then(h,d)}}),i[Symbol.asyncIterator]=function(){return this},i;function a(h,m){r[h]&&(i[h]=function(C){return new Promise(function(E,I){o.push([h,C,E,I])>1||l(h,C)})},m&&(i[h]=m(i[h])))}function l(h,m){try{!function c(h){h.value instanceof vr?Promise.resolve(h.value.v).then(u,d):g(o[0][2],h)}(r[h](m))}catch(C){g(o[0][3],C)}}function u(h){l("next",h)}function d(h){l("throw",h)}function g(h,m){h(m),o.shift(),o.length&&l(o[0][0],o[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:r,done:i}=yield vr(t.read());if(i)return yield vr(void 0);yield yield vr(r)}}finally{t.releaseLock()}})}function UE(e){return Be(e?.getReader)}function ta(e){if(e instanceof kt)return e;if(null!=e){if(LE(e))return function zH(e){return new kt(n=>{const t=e[hu]();if(Be(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(kE(e))return function GH(e){return new kt(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,pp)})}(e);if(PE(e))return $E(e);if(BE(e))return function WH(e){return new kt(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(UE(e))return function ZH(e){return $E(jE(e))}(e)}throw VE(e)}function $E(e){return new kt(n=>{(function QH(e,n){var t,r,i,o;return function xE(e,n,t,r){return new(t||(t=Promise))(function(o,s){function a(u){try{c(r.next(u))}catch(d){s(d)}}function l(u){try{c(r.throw(u))}catch(d){s(d)}}function c(u){u.done?o(u.value):function i(o){return o instanceof t?o:new t(function(s){s(o)})}(u.value).then(a,l)}c((r=r.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=RE(e);!(r=yield t.next()).done;)if(n.next(r.value),n.closed)return}catch(s){i={error:s}}finally{try{r&&!r.done&&(o=t.return)&&(yield o.call(t))}finally{if(i)throw i.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function ui(e,n,t,r=0,i=!1){const o=n.schedule(function(){t(),i?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(o),!i)return o}function zE(e,n=0){return Nr((t,r)=>{t.subscribe(qn(r,i=>ui(r,e,()=>r.next(i),n),()=>ui(r,e,()=>r.complete(),n),i=>ui(r,e,()=>r.error(i),n)))})}function GE(e,n=0){return Nr((t,r)=>{r.add(e.schedule(()=>t.subscribe(r),n))})}function qE(e,n){if(!e)throw new Error("Iterable cannot be null");return new kt(t=>{ui(t,n,()=>{const r=e[Symbol.asyncIterator]();ui(t,n,()=>{r.next().then(i=>{i.done?t.complete():t.next(i.value)})},0,!0)})})}const{isArray:rB}=Array,{getPrototypeOf:iB,prototype:oB,keys:sB}=Object;const{isArray:uB}=Array;function hB(e,n){return e.reduce((t,r,i)=>(t[r]=n[i],t),{})}function gB(...e){const n=function cB(e){return Be(function Eg(e){return e[e.length-1]}(e))?e.pop():void 0}(e),{args:t,keys:r}=function aB(e){if(1===e.length){const n=e[0];if(rB(n))return{args:n,keys:null};if(function lB(e){return e&&"object"==typeof e&&iB(e)===oB}(n)){const t=sB(n);return{args:t.map(r=>n[r]),keys:t}}}return{args:e,keys:null}}(e),i=new kt(o=>{const{length:s}=t;if(!s)return void o.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!d)&&(c||o.next(r?hB(r,a):a),o.complete())}))}});return n?i.pipe(function fB(e){return pu(n=>function dB(e,n){return uB(n)?e(...n):e(n)}(e,n))}(n)):i}let WE=(()=>{class e{_renderer;_elementRef;onChange=t=>{};onTouched=()=>{};constructor(t,r){this._renderer=t,this._elementRef=r}setProperty(t,r){this._renderer.setProperty(this._elementRef.nativeElement,t,r)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static \u0275fac=function(r){return new(r||e)(T(on),T(pt))};static \u0275dir=Y({type:e})}return e})(),di=(()=>{class e extends WE{static \u0275fac=(()=>{let t;return function(i){return(t||(t=lt(e)))(i||e)}})();static \u0275dir=Y({type:e,features:[ue]})}return e})();const dn=new R(""),pB={provide:dn,useExisting:ve(()=>Ig),multi:!0};let Ig=(()=>{class e extends di{writeValue(t){this.setProperty("checked",t)}static \u0275fac=(()=>{let t;return function(i){return(t||(t=lt(e)))(i||e)}})();static \u0275dir=Y({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(r,i){1&r&&q("change",function(s){return i.onChange(s.target.checked)})("blur",function(){return i.onTouched()})},standalone:!1,features:[Me([pB]),ue]})}return e})();const mB={provide:dn,useExisting:ve(()=>na),multi:!0},_B=new R("");let na=(()=>{class e extends WE{_compositionMode;_composing=!1;constructor(t,r,i){super(t,r),this._compositionMode=i,null==this._compositionMode&&(this._compositionMode=!function vB(){const e=Qs()?Qs().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static \u0275fac=function(r){return new(r||e)(T(on),T(pt),T(_B,8))};static \u0275dir=Y({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(r,i){1&r&&q("input",function(s){return i._handleInput(s.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(s){return i._compositionEnd(s.target.value)})},standalone:!1,features:[Me([mB]),ue]})}return e})();const ct=new R(""),yr=new R("");function rI(e){return null!=e}function iI(e){return Yl(e)?function nB(e,n){return n?function tB(e,n){if(null!=e){if(LE(e))return function YH(e,n){return ta(e).pipe(GE(n),zE(n))}(e,n);if(kE(e))return function JH(e,n){return new kt(t=>{let r=0;return n.schedule(function(){r===e.length?t.complete():(t.next(e[r++]),t.closed||this.schedule())})})}(e,n);if(FE(e))return function KH(e,n){return ta(e).pipe(GE(n),zE(n))}(e,n);if(PE(e))return qE(e,n);if(BE(e))return function XH(e,n){return new kt(t=>{let r;return ui(t,n,()=>{r=e[HE](),ui(t,n,()=>{let i,o;try{({value:i,done:o}=r.next())}catch(s){return void t.error(s)}o?t.complete():t.next(i)},0,!0)}),()=>Be(r?.return)&&r.return()})}(e,n);if(UE(e))return function eB(e,n){return qE(jE(e),n)}(e,n)}throw VE(e)}(e,n):ta(e)}(e):e}function oI(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function sI(e,n){return n.map(t=>t(e))}function aI(e){return e.map(n=>function CB(e){return!e.validate}(n)?n:t=>n.validate(t))}function Mg(e){return null!=e?function lI(e){if(!e)return null;const n=e.filter(rI);return 0==n.length?null:function(t){return oI(sI(t,n))}}(aI(e)):null}function Tg(e){return null!=e?function cI(e){if(!e)return null;const n=e.filter(rI);return 0==n.length?null:function(t){return gB(sI(t,n).map(iI)).pipe(pu(oI))}}(aI(e)):null}function uI(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function Sg(e){return e?Array.isArray(e)?e:[e]:[]}function Bc(e,n){return Array.isArray(e)?e.includes(n):e===n}function hI(e,n){const t=Sg(n);return Sg(e).forEach(i=>{Bc(t,i)||t.push(i)}),t}function gI(e,n){return Sg(n).filter(t=>!Bc(e,t))}class pI{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Mg(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=Tg(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class Dt extends pI{name;get formDirective(){return null}get path(){return null}}class Cr extends pI{_parent=null;name=null;valueAccessor=null}class mI{_cd;constructor(n){this._cd=n}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}}let jc=(()=>{class e extends mI{constructor(t){super(t)}static \u0275fac=function(r){return new(r||e)(T(Cr,2))};static \u0275dir=Y({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(r,i){2&r&&jn("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},standalone:!1,features:[ue]})}return e})();const ra="VALID",$c="INVALID",Eo="PENDING",ia="DISABLED";class Io{}class _I extends Io{value;source;constructor(n,t){super(),this.value=n,this.source=t}}class Og extends Io{pristine;source;constructor(n,t){super(),this.pristine=n,this.source=t}}class Ag extends Io{touched;source;constructor(n,t){super(),this.touched=n,this.source=t}}class zc extends Io{status;source;constructor(n,t){super(),this.status=n,this.source=t}}function Gc(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class Fg{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(n,t){this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get status(){return it(this.statusReactive)}set status(n){it(()=>this.statusReactive.set(n))}_status=Mn(()=>this.statusReactive());statusReactive=Gr(void 0);get valid(){return this.status===ra}get invalid(){return this.status===$c}get pending(){return this.status==Eo}get disabled(){return this.status===ia}get enabled(){return this.status!==ia}errors;get pristine(){return it(this.pristineReactive)}set pristine(n){it(()=>this.pristineReactive.set(n))}_pristine=Mn(()=>this.pristineReactive());pristineReactive=Gr(!0);get dirty(){return!this.pristine}get touched(){return it(this.touchedReactive)}set touched(n){it(()=>this.touchedReactive.set(n))}_touched=Mn(()=>this.touchedReactive());touchedReactive=Gr(!1);get untouched(){return!this.touched}_events=new fn;events=this._events.asObservable();valueChanges;statusChanges;get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(hI(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(hI(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(gI(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(gI(n,this._rawAsyncValidators))}hasValidator(n){return Bc(this._rawValidators,n)}hasAsyncValidator(n){return Bc(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){const t=!1===this.touched;this.touched=!0;const r=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsTouched({...n,sourceControl:r}),t&&!1!==n.emitEvent&&this._events.next(new Ag(!0,r))}markAllAsTouched(n={}){this.markAsTouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:this}),this._forEachChild(t=>t.markAllAsTouched(n))}markAsUntouched(n={}){const t=!0===this.touched;this.touched=!1,this._pendingTouched=!1;const r=n.sourceControl??this;this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:r})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,r),t&&!1!==n.emitEvent&&this._events.next(new Ag(!1,r))}markAsDirty(n={}){const t=!0===this.pristine;this.pristine=!1;const r=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsDirty({...n,sourceControl:r}),t&&!1!==n.emitEvent&&this._events.next(new Og(!1,r))}markAsPristine(n={}){const t=!1===this.pristine;this.pristine=!0,this._pendingDirty=!1;const r=n.sourceControl??this;this._forEachChild(i=>{i.markAsPristine({onlySelf:!0,emitEvent:n.emitEvent})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n,r),t&&!1!==n.emitEvent&&this._events.next(new Og(!0,r))}markAsPending(n={}){this.status=Eo;const t=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new zc(this.status,t)),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.markAsPending({...n,sourceControl:t})}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=ia,this.errors=null,this._forEachChild(i=>{i.disable({...n,onlySelf:!0})}),this._updateValue();const r=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new _I(this.value,r)),this._events.next(new zc(this.status,r)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t},this),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=ra,this._forEachChild(r=>{r.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t},this),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(n,t){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine({},t),this._parent._updateTouched({},t))}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){const r=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===ra||this.status===Eo)&&this._runAsyncValidator(r,n.emitEvent)}const t=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new _I(this.value,t)),this._events.next(new zc(this.status,t)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity({...n,sourceControl:t})}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?ia:ra}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n,t){if(this.asyncValidator){this.status=Eo,this._hasOwnPendingAsyncValidator={emitEvent:!1!==t};const r=iI(this.asyncValidator(this));this._asyncValidationSubscription=r.subscribe(i=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(i,{emitEvent:t,shouldHaveEmitted:n})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();const n=this._hasOwnPendingAsyncValidator?.emitEvent??!1;return this._hasOwnPendingAsyncValidator=null,n}return!1}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent,this,t.shouldHaveEmitted)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((r,i)=>r&&r._find(i),this)}getError(n,t){const r=t?this.get(t):this;return r&&r.errors?r.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n,t,r){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),(n||r)&&this._events.next(new zc(this.status,t)),this._parent&&this._parent._updateControlsErrors(n,t,r)}_initObservables(){this.valueChanges=new we,this.statusChanges=new we}_calculateStatus(){return this._allControlsDisabled()?ia:this.errors?$c:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Eo)?Eo:this._anyControlsHaveStatus($c)?$c:ra}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n,t){const r=!this._anyControlsDirty(),i=this.pristine!==r;this.pristine=r,this._parent&&!n.onlySelf&&this._parent._updatePristine(n,t),i&&this._events.next(new Og(this.pristine,t))}_updateTouched(n={},t){this.touched=this._anyControlsTouched(),this._events.next(new Ag(this.touched,t)),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,t)}_onDisabledChange=[];_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Gc(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function SB(e){return Array.isArray(e)?Mg(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function NB(e){return Array.isArray(e)?Tg(e):e||null}(this._rawAsyncValidators)}}const Mo=new R("",{providedIn:"root",factory:()=>qc}),qc="always";function oa(e,n,t=qc){(function Pg(e,n){const t=function dI(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(uI(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const r=function fI(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(uI(r,n.asyncValidator)):"function"==typeof r&&e.setAsyncValidators([r]);const i=()=>e.updateValueAndValidity();Qc(n._rawValidators,i),Qc(n._rawAsyncValidators,i)})(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function AB(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&wI(e,n)})}(e,n),function kB(e,n){const t=(r,i)=>{n.valueAccessor.writeValue(r),i&&n.viewToModelUpdate(r)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function RB(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&wI(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function OB(e,n){if(n.valueAccessor.setDisabledState){const t=r=>{n.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function Qc(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function wI(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function EI(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function II(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}Promise.resolve();const MI=class extends Fg{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(n=null,t,r){super(function Rg(e){return(Gc(e)?e.validators:e)||null}(t),function kg(e,n){return(Gc(n)?n.asyncValidators:e)||null}(r,t)),this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Gc(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=II(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(r=>r(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){EI(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){EI(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){II(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},UB={provide:Cr,useExisting:ve(()=>aa)},NI=Promise.resolve();let aa=(()=>{class e extends Cr{_changeDetectorRef;callSetDisabledState;control=new MI;static ngAcceptInputType_isDisabled;_registered=!1;viewModel;name="";isDisabled;model;options;update=new we;constructor(t,r,i,o,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this._parent=t,this._setValidators(r),this._setAsyncValidators(i),this.valueAccessor=function Bg(e,n){if(!n)return null;let t,r,i;return Array.isArray(n),n.forEach(o=>{o.constructor===na?t=o:function PB(e){return Object.getPrototypeOf(e.constructor)===di}(o)?r=o:i=o}),i||r||t||null}(0,o)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const r=t.name.previousValue;this.formDirective.removeControl({name:r,path:this._getPath(r)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function Hg(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){oa(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){NI.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const r=t.isDisabled.currentValue,i=0!==r&&function qh(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(r);NI.then(()=>{i&&!this.control.disabled?this.control.disable():!i&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function Wc(e,n){return[...n.path,e]}(t,this._parent):[t]}static \u0275fac=function(r){return new(r||e)(T(Dt,9),T(ct,10),T(yr,10),T(dn,10),T(si,8),T(Mo,8))};static \u0275dir=Y({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:!1,features:[Me([UB]),ue,kn]})}return e})();const WB={provide:dn,useExisting:ve(()=>Ug),multi:!0};let Ug=(()=>{class e extends di{writeValue(t){this.setProperty("value",parseFloat(t))}registerOnChange(t){this.onChange=r=>{t(""==r?null:parseFloat(r))}}static \u0275fac=(()=>{let t;return function(i){return(t||(t=lt(e)))(i||e)}})();static \u0275dir=Y({type:e,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function(r,i){1&r&&q("change",function(s){return i.onChange(s.target.value)})("input",function(s){return i.onChange(s.target.value)})("blur",function(){return i.onTouched()})},standalone:!1,features:[Me([WB]),ue]})}return e})();const XB={provide:dn,useExisting:ve(()=>la),multi:!0};function LI(e,n){return null==e?`${n}`:(n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let la=(()=>{class e extends di{value;_optionMap=new Map;_idCounter=0;set compareWith(t){this._compareWith=t}_compareWith=Object.is;writeValue(t){this.value=t;const i=LI(this._getOptionId(t),t);this.setProperty("value",i)}registerOnChange(t){this.onChange=r=>{this.value=this._getOptionValue(r),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),t))return r;return null}_getOptionValue(t){const r=function ej(e){return e.split(":")[0]}(t);return this._optionMap.has(r)?this._optionMap.get(r):t}static \u0275fac=(()=>{let t;return function(i){return(t||(t=lt(e)))(i||e)}})();static \u0275dir=Y({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(r,i){1&r&&q("change",function(s){return i.onChange(s.target.value)})("blur",function(){return i.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[Me([XB]),ue]})}return e})(),qg=(()=>{class e{_element;_renderer;_select;id;constructor(t,r,i){this._element=t,this._renderer=r,this._select=i,this._select&&(this.id=this._select._registerOption())}set ngValue(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(LI(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._setElementValue(t),this._select&&this._select.writeValue(this._select.value)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(r){return new(r||e)(T(pt),T(on),T(la,9))};static \u0275dir=Y({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return e})();const tj={provide:dn,useExisting:ve(()=>Wg),multi:!0};function PI(e,n){return null==e?`${n}`:("string"==typeof n&&(n=`'${n}'`),n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let Wg=(()=>{class e extends di{value;_optionMap=new Map;_idCounter=0;set compareWith(t){this._compareWith=t}_compareWith=Object.is;writeValue(t){let r;if(this.value=t,Array.isArray(t)){const i=t.map(o=>this._getOptionId(o));r=(o,s)=>{o._setSelected(i.indexOf(s.toString())>-1)}}else r=(i,o)=>{i._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(t){this.onChange=r=>{const i=[],o=r.selectedOptions;if(void 0!==o){const s=o;for(let a=0;a{let t;return function(i){return(t||(t=lt(e)))(i||e)}})();static \u0275dir=Y({type:e,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(r,i){1&r&&q("change",function(s){return i.onChange(s.target)})("blur",function(){return i.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[Me([tj]),ue]})}return e})(),Zg=(()=>{class e{_element;_renderer;_select;id;_value;constructor(t,r,i){this._element=t,this._renderer=r,this._select=i,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(PI(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(PI(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}_setSelected(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(r){return new(r||e)(T(pt),T(on),T(Wg,9))};static \u0275dir=Y({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return e})(),dj=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=cr({type:e});static \u0275inj=Nn({})}return e})(),hj=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:Mo,useValue:t.callSetDisabledState??qc}]}}static \u0275fac=function(r){return new(r||e)};static \u0275mod=cr({type:e});static \u0275inj=Nn({imports:[dj]})}return e})();class gj extends Rt{constructor(n,t){super()}schedule(n,t=0){return this}}const Kc={setInterval(e,n,...t){const{delegate:r}=Kc;return r?.setInterval?r.setInterval(e,n,...t):setInterval(e,n,...t)},clearInterval(e){const{delegate:n}=Kc;return(n?.clearInterval||clearInterval)(e)},delegate:void 0},WI={now:()=>(WI.delegate||Date).now(),delegate:void 0};class ca{constructor(n,t=ca.now){this.schedulerActionCtor=n,this.now=t}schedule(n,t=0,r){return new this.schedulerActionCtor(this,n).schedule(r,t)}}ca.now=WI.now;const ZI=new class mj extends ca{constructor(n,t=ca.now){super(n,t),this.actions=[],this._active=!1}flush(n){const{actions:t}=this;if(this._active)return void t.push(n);let r;this._active=!0;do{if(r=n.execute(n.state,n.delay))break}while(n=t.shift());if(this._active=!1,r){for(;n=t.shift();)n.unsubscribe();throw r}}}(class pj extends gj{constructor(n,t){super(n,t),this.scheduler=n,this.work=t,this.pending=!1}schedule(n,t=0){var r;if(this.closed)return this;this.state=n;const i=this.id,o=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(o,i,t)),this.pending=!0,this.delay=t,this.id=null!==(r=this.id)&&void 0!==r?r:this.requestAsyncId(o,this.id,t),this}requestAsyncId(n,t,r=0){return Kc.setInterval(n.flush.bind(n,this),r)}recycleAsyncId(n,t,r=0){if(null!=r&&this.delay===r&&!1===this.pending)return t;null!=t&&Kc.clearInterval(t)}execute(n,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const r=this._execute(n,t);if(r)return r;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,t){let i,r=!1;try{this.work(n)}catch(o){r=!0,i=o||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),i}unsubscribe(){if(!this.closed){const{id:n,scheduler:t}=this,{actions:r}=t;this.work=this.state=this.scheduler=null,this.pending=!1,pa(r,this),null!=n&&(this.id=this.recycleAsyncId(t,n,null)),this.delay=null,super.unsubscribe()}}}),vj=ZI;function QI(e,n=ZI,t){const r=function wj(e=0,n,t=vj){let r=-1;return null!=n&&(function yj(e){return e&&Be(e.schedule)}(n)?t=n:r=n),new kt(i=>{let o=function Cj(e){return e instanceof Date&&!isNaN(e)}(e)?+e-t.now():e;o<0&&(o=0);let s=0;return t.schedule(function(){i.closed||(i.next(s++),0<=r?this.schedule(void 0,r):i.complete())},o)})}(e,n);return function _j(e,n){return Nr((t,r)=>{const{leading:i=!0,trailing:o=!1}=n??{};let s=!1,a=null,l=null,c=!1;const u=()=>{l?.unsubscribe(),l=null,o&&(h(),c&&r.complete())},d=()=>{l=null,c&&r.complete()},g=m=>l=ta(e(m)).subscribe(qn(r,u,d)),h=()=>{if(s){s=!1;const m=a;a=null,r.next(m),!c&&g(m)}};t.subscribe(qn(r,m=>{s=!0,a=m,(!l||l.closed)&&(i?h():g(m))},()=>{c=!0,(!(o&&s&&l)||l.closed)&&r.complete()}))})}(()=>r,t)}function YI(e,n,t){const r=Be(e)||n||t?{next:e,error:n,complete:t}:e;return r?Nr((i,o)=>{var s;null===(s=r.subscribe)||void 0===s||s.call(r);let a=!0;i.subscribe(qn(o,l=>{var c;null===(c=r.next)||void 0===c||c.call(r,l),o.next(l)},()=>{var l;a=!1,null===(l=r.complete)||void 0===l||l.call(r),o.complete()},l=>{var c;a=!1,null===(c=r.error)||void 0===c||c.call(r,l),o.error(l)},()=>{var l,c;a&&(null===(l=r.unsubscribe)||void 0===l||l.call(r)),null===(c=r.finalize)||void 0===c||c.call(r)}))}):gu}function KI(e,n=gu){return e=e??Dj,Nr((t,r)=>{let i,o=!0;t.subscribe(qn(r,s=>{const a=n(s);(o||!e(i,a))&&(o=!1,i=a,r.next(s))}))})}function Dj(e,n){return e===n}var Bt=typeof window<"u"?window:{screen:{},navigator:{}},To=(Bt.matchMedia||function(){return{matches:!1}}).bind(Bt),JI=!1,XI=function(){};Bt.addEventListener&&Bt.addEventListener("p",XI,{get passive(){return JI=!0}}),Bt.removeEventListener&&Bt.removeEventListener("p",XI,!1);var eM=JI,Yg="ontouchstart"in Bt,nM=(Yg||"TouchEvent"in Bt&&To("(any-pointer: coarse)"),Bt.navigator.userAgent||"");To("(pointer: coarse)").matches&&/iPad|Macintosh/.test(nM)&&Math.min(Bt.screen.width||0,Bt.screen.height||0);(To("(pointer: coarse)").matches||!To("(pointer: fine)").matches&&Yg)&&/Windows.*Firefox/.test(nM),To("(any-pointer: fine)").matches||To("(any-hover: hover)");const Nj=(e,n,t)=>({tooltip:e,placement:n,content:t});function xj(e,n){}function Oj(e,n){1&e&&V(0,xj,0,0,"ng-template")}function Aj(e,n){if(1&e&&(X(0),V(1,Oj,1,0,null,1),ee()),2&e){const t=v();f(),p("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Fe(2,Nj,t.tooltip,t.placement,t.content))}}function Rj(e,n){if(1&e&&(X(0),y(1,"div",2),b(2),_(),ee()),2&e){const t=v();f(),_t("title",t.tooltip)("data-tooltip-placement",t.placement),f(),U(" ",t.content," ")}}const kj=["tooltipTemplate"],Fj=["leftOuterSelectionBar"],Lj=["rightOuterSelectionBar"],Pj=["fullBar"],Vj=["selectionBar"],Hj=["minHandle"],Bj=["maxHandle"],jj=["floorLabel"],Uj=["ceilLabel"],$j=["minHandleLabel"],zj=["maxHandleLabel"],Gj=["combinedLabel"],qj=["ticksElement"],Wj=e=>({"ngx-slider-selected":e});function Zj(e,n){if(1&e&&x(0,"ngx-slider-tooltip-wrapper",32),2&e){const t=v().$implicit;p("template",v().tooltipTemplate)("tooltip",t.valueTooltip)("placement",t.valueTooltipPlacement)("content",t.value)}}function Qj(e,n){1&e&&x(0,"span",33),2&e&&p("innerText",v().$implicit.legend)}function Yj(e,n){1&e&&x(0,"span",34),2&e&&p("innerHTML",v().$implicit.legend,f_)}function Kj(e,n){if(1&e&&(y(0,"span",27),x(1,"ngx-slider-tooltip-wrapper",28),V(2,Zj,1,4,"ngx-slider-tooltip-wrapper",29)(3,Qj,1,1,"span",30)(4,Yj,1,1,"span",31),_()),2&e){const t=n.$implicit,r=v();p("ngClass",_o(8,Wj,t.selected))("ngStyle",t.style),f(),p("template",r.tooltipTemplate)("tooltip",t.tooltip)("placement",t.tooltipPlacement),f(),p("ngIf",null!=t.value),f(),p("ngIf",null!=t.legend&&!1===r.allowUnsafeHtmlInSlider),f(),p("ngIf",null!=t.legend&&(null==r.allowUnsafeHtmlInSlider||r.allowUnsafeHtmlInSlider))}}var Tn=function(e){return e[e.Low=0]="Low",e[e.High=1]="High",e[e.Floor=2]="Floor",e[e.Ceil=3]="Ceil",e[e.TickValue=4]="TickValue",e}(Tn||{});class Jc{floor=0;ceil=null;step=1;minRange=null;maxRange=null;pushRange=!1;minLimit=null;maxLimit=null;translate=null;combineLabels=null;getLegend=null;getStepLegend=null;stepsArray=null;bindIndexForStepsArray=!1;draggableRange=!1;draggableRangeOnly=!1;showSelectionBar=!1;showSelectionBarEnd=!1;showSelectionBarFromValue=null;showOuterSelectionBars=!1;hidePointerLabels=!1;hideLimitLabels=!1;autoHideLimitLabels=!0;readOnly=!1;disabled=!1;showTicks=!1;showTicksValues=!1;tickStep=null;tickValueStep=null;ticksArray=null;ticksTooltip=null;ticksValuesTooltip=null;vertical=!1;getSelectionBarColor=null;getTickColor=null;getPointerColor=null;keyboardSupport=!0;scale=1;rotate=0;enforceStep=!0;enforceRange=!0;enforceStepsArray=!0;noSwitching=!1;onlyBindHandles=!1;rightToLeft=!1;reversedControls=!1;boundPointerLabels=!0;logScale=!1;customValueToPosition=null;customPositionToValue=null;precisionLimit=12;selectionBarGradient=null;ariaLabel="ngx-slider";ariaLabelledBy=null;ariaLabelHigh="ngx-slider-max";ariaLabelledByHigh=null;handleDimension=null;barDimension=null;animate=!0;animateOnMove=!1}const oM=new R("AllowUnsafeHtmlInSlider");var F=function(e){return e[e.Min=0]="Min",e[e.Max=1]="Max",e}(F||{});class Jj{value;highValue;pointerType}class M{static isNullOrUndefined(n){return null==n}static areArraysEqual(n,t){if(n.length!==t.length)return!1;for(let r=0;rMath.abs(n-o.value));let i=0;for(let o=0;o{o.events.next(a)};return n.addEventListener(t,s,{passive:!0,capture:!1}),o.teardownCallback=()=>{n.removeEventListener(t,s,{passive:!0,capture:!1})},o.eventsSubscription=o.events.pipe(M.isNullOrUndefined(i)?YI(()=>{}):QI(i,void 0,{leading:!0,trailing:!0})).subscribe(a=>{r(a)}),o}detachEventListener(n){M.isNullOrUndefined(n.eventsSubscription)||(n.eventsSubscription.unsubscribe(),n.eventsSubscription=null),M.isNullOrUndefined(n.events)||(n.events.complete(),n.events=null),M.isNullOrUndefined(n.teardownCallback)||(n.teardownCallback(),n.teardownCallback=null)}attachEventListener(n,t,r,i){const o=new sM;return o.eventName=t,o.events=new fn,o.teardownCallback=this.renderer.listen(n,t,a=>{o.events.next(a)}),o.eventsSubscription=o.events.pipe(M.isNullOrUndefined(i)?YI(()=>{}):QI(i,void 0,{leading:!0,trailing:!0})).subscribe(a=>{r(a)}),o}}let Dr=(()=>{class e{elemRef;renderer;changeDetectionRef;_position=0;get position(){return this._position}_dimension=0;get dimension(){return this._dimension}_alwaysHide=!1;get alwaysHide(){return this._alwaysHide}_vertical=!1;get vertical(){return this._vertical}_scale=1;get scale(){return this._scale}_rotate=0;get rotate(){return this._rotate}opacity=1;visibility="visible";left="";bottom="";height="";width="";transform="";eventListenerHelper;eventListeners=[];constructor(t,r,i){this.elemRef=t,this.renderer=r,this.changeDetectionRef=i,this.eventListenerHelper=new aM(this.renderer)}setAlwaysHide(t){this._alwaysHide=t,this.visibility=t?"hidden":"visible"}hide(){this.opacity=0}show(){this.alwaysHide||(this.opacity=1)}isVisible(){return!this.alwaysHide&&0!==this.opacity}setVertical(t){this._vertical=t,this._vertical?(this.left="",this.width=""):(this.bottom="",this.height="")}setScale(t){this._scale=t}setRotate(t){this._rotate=t,this.transform="rotate("+t+"deg)"}getRotate(){return this._rotate}setPosition(t){this._position!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._position=t,this._vertical?this.bottom=Math.round(t)+"px":this.left=Math.round(t)+"px"}calculateDimension(){const t=this.getBoundingClientRect();this._dimension=this.vertical?(t.bottom-t.top)*this.scale:(t.right-t.left)*this.scale}setDimension(t){this._dimension!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._dimension=t,this._vertical?this.height=Math.round(t)+"px":this.width=Math.round(t)+"px"}getBoundingClientRect(){return this.elemRef.nativeElement.getBoundingClientRect()}on(t,r,i){const o=this.eventListenerHelper.attachEventListener(this.elemRef.nativeElement,t,r,i);this.eventListeners.push(o)}onPassive(t,r,i){const o=this.eventListenerHelper.attachPassiveEventListener(this.elemRef.nativeElement,t,r,i);this.eventListeners.push(o)}off(t){let r,i;M.isNullOrUndefined(t)?(r=[],i=this.eventListeners):(r=this.eventListeners.filter(o=>o.eventName!==t),i=this.eventListeners.filter(o=>o.eventName===t));for(const o of i)this.eventListenerHelper.detachEventListener(o);this.eventListeners=r}isRefDestroyed(){return M.isNullOrUndefined(this.changeDetectionRef)||this.changeDetectionRef.destroyed}static \u0275fac=function(r){return new(r||e)(T(pt),T(on),T(si))};static \u0275dir=Y({type:e,selectors:[["","ngxSliderElement",""]],hostVars:14,hostBindings:function(r,i){2&r&&ec("opacity",i.opacity)("visibility",i.visibility)("left",i.left)("bottom",i.bottom)("height",i.height)("width",i.width)("transform",i.transform)},standalone:!1})}return e})(),Kg=(()=>{class e extends Dr{active=!1;role="";tabindex="";ariaOrientation="";ariaLabel="";ariaLabelledBy="";ariaValueNow="";ariaValueText="";ariaValueMin="";ariaValueMax="";focus(){this.elemRef.nativeElement.focus()}focusIfNeeded(){document.activeElement!==this.elemRef.nativeElement&&this.elemRef.nativeElement.focus()}constructor(t,r,i){super(t,r,i)}static \u0275fac=function(r){return new(r||e)(T(pt),T(on),T(si))};static \u0275dir=Y({type:e,selectors:[["","ngxSliderHandle",""]],hostVars:11,hostBindings:function(r,i){2&r&&(_t("role",i.role)("tabindex",i.tabindex)("aria-orientation",i.ariaOrientation)("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledBy)("aria-valuenow",i.ariaValueNow)("aria-valuetext",i.ariaValueText)("aria-valuemin",i.ariaValueMin)("aria-valuemax",i.ariaValueMax),jn("ngx-slider-active",i.active))},standalone:!1,features:[ue]})}return e})(),So=(()=>{class e extends Dr{allowUnsafeHtmlInSlider;_value=null;get value(){return this._value}constructor(t,r,i,o){super(t,r,i),this.allowUnsafeHtmlInSlider=o}setValue(t){let r=!1;!this.alwaysHide&&(M.isNullOrUndefined(this.value)||this.value.length!==t.length||this.value.length>0&&0===this.dimension)&&(r=!0),this._value=t,!1===this.allowUnsafeHtmlInSlider?this.elemRef.nativeElement.innerText=t:this.elemRef.nativeElement.innerHTML=t,r&&this.calculateDimension()}static \u0275fac=function(r){return new(r||e)(T(pt),T(on),T(si),T(oM,8))};static \u0275dir=Y({type:e,selectors:[["","ngxSliderLabel",""]],standalone:!1,features:[ue]})}return e})(),Xj=(()=>{class e{template;tooltip;placement;content;static \u0275fac=function(r){return new(r||e)};static \u0275cmp=sn({type:e,selectors:[["ngx-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},standalone:!1,decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ngx-slider-inner-tooltip"]],template:function(r,i){1&r&&V(0,Aj,2,6,"ng-container",0)(1,Rj,3,3,"ng-container",0),2&r&&(p("ngIf",i.template),f(),p("ngIf",!i.template))},dependencies:[zn,Kb],styles:[".ngx-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]})}return e})();class e3{selected=!1;style={};tooltip=null;tooltipPlacement=null;value=null;valueTooltip=null;valueTooltipPlacement=null;legend=null}class lM{active=!1;value=0;difference=0;position=0;lowLimit=0;highLimit=0}class Xc{value;highValue;static compare(n,t){return!(M.isNullOrUndefined(n)&&M.isNullOrUndefined(t)||M.isNullOrUndefined(n)!==M.isNullOrUndefined(t))&&n.value===t.value&&n.highValue===t.highValue}}class cM extends Xc{forceChange;static compare(n,t){return!(M.isNullOrUndefined(n)&&M.isNullOrUndefined(t)||M.isNullOrUndefined(n)!==M.isNullOrUndefined(t))&&n.value===t.value&&n.highValue===t.highValue&&n.forceChange===t.forceChange}}const t3={provide:dn,useExisting:ve(()=>uM),multi:!0};let uM=(()=>{class e{renderer;elementRef;changeDetectionRef;zone;allowUnsafeHtmlInSlider;sliderElementNgxSliderClass=!0;value=null;valueChange=new we;highValue=null;highValueChange=new we;options=new Jc;userChangeStart=new we;userChange=new we;userChangeEnd=new we;manualRefreshSubscription;set manualRefresh(t){this.unsubscribeManualRefresh(),this.manualRefreshSubscription=t.subscribe(()=>{setTimeout(()=>this.calculateViewDimensionsAndDetectChanges())})}triggerFocusSubscription;set triggerFocus(t){this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=t.subscribe(r=>{this.focusPointer(r)})}cancelUserChangeSubscription;set cancelUserChange(t){this.unsubscribeCancelUserChange(),this.cancelUserChangeSubscription=t.subscribe(()=>{this.moving&&(this.positionTrackingHandle(this.preStartHandleValue),this.forceEnd(!0))})}get range(){return!M.isNullOrUndefined(this.value)&&!M.isNullOrUndefined(this.highValue)}initHasRun=!1;inputModelChangeSubject=new fn;inputModelChangeSubscription=null;outputModelChangeSubject=new fn;outputModelChangeSubscription=null;viewLowValue=null;viewHighValue=null;viewOptions=new Jc;handleHalfDimension=0;maxHandlePosition=0;currentTrackingPointer=null;currentFocusPointer=null;firstKeyDown=!1;touchId=null;dragging=new lM;preStartHandleValue=null;leftOuterSelectionBarElement;rightOuterSelectionBarElement;fullBarElement;selectionBarElement;minHandleElement;maxHandleElement;floorLabelElement;ceilLabelElement;minHandleLabelElement;maxHandleLabelElement;combinedLabelElement;ticksElement;tooltipTemplate;sliderElementVerticalClass=!1;sliderElementAnimateClass=!1;sliderElementWithLegendClass=!1;sliderElementDisabledAttr=null;sliderElementAriaLabel="ngx-slider";barStyle={};minPointerStyle={};maxPointerStyle={};fullBarTransparentClass=!1;selectionBarDraggableClass=!1;ticksUnderValuesClass=!1;get showTicks(){return this.viewOptions.showTicks}intermediateTicks=!1;ticks=[];eventListenerHelper=null;onMoveEventListener=null;onEndEventListener=null;moving=!1;resizeObserver=null;onTouchedCallback=null;onChangeCallback=null;constructor(t,r,i,o,s){this.renderer=t,this.elementRef=r,this.changeDetectionRef=i,this.zone=o,this.allowUnsafeHtmlInSlider=s,this.eventListenerHelper=new aM(this.renderer)}ngOnInit(){this.viewOptions=new Jc,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState(),this.updateAriaLabel()}ngAfterViewInit(){this.applyOptions(),this.subscribeInputModelChangeSubject(),this.subscribeOutputModelChangeSubject(),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.updateAriaLabel(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}ngOnChanges(t){!M.isNullOrUndefined(t.options)&&JSON.stringify(t.options.previousValue)!==JSON.stringify(t.options.currentValue)&&this.onChangeOptions(),(!M.isNullOrUndefined(t.value)||!M.isNullOrUndefined(t.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,forceChange:!1,internalChange:!1})}ngOnDestroy(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}writeValue(t){t instanceof Array?(this.value=t[0],this.highValue=t[1]):this.value=t,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1,controlAccessorChange:!0})}registerOnChange(t){this.onChangeCallback=t}registerOnTouched(t){this.onTouchedCallback=t}setDisabledState(t){this.viewOptions.disabled=t,this.updateDisabledState(),this.initHasRun&&this.manageEventsBindings()}setAriaLabel(t){this.viewOptions.ariaLabel=t,this.updateAriaLabel()}onResize(t){this.calculateViewDimensionsAndDetectChanges()}subscribeInputModelChangeSubject(){this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe(KI(cM.compare),function bj(e,n){return Nr((t,r)=>{let i=0;t.subscribe(qn(r,o=>e.call(n,o,i++)&&r.next(o)))})}(t=>!t.forceChange&&!t.internalChange)).subscribe(t=>this.applyInputModelChange(t))}subscribeOutputModelChangeSubject(){this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe(KI(cM.compare)).subscribe(t=>this.publishOutputModelChange(t))}subscribeResizeObserver(){wr.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(()=>this.calculateViewDimensionsAndDetectChanges()),this.resizeObserver.observe(this.elementRef.nativeElement))}unsubscribeResizeObserver(){wr.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}unsubscribeOnMove(){M.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}unsubscribeOnEnd(){M.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}unsubscribeInputModelChangeSubject(){M.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}unsubscribeOutputModelChangeSubject(){M.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}unsubscribeManualRefresh(){M.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}unsubscribeTriggerFocus(){M.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}unsubscribeCancelUserChange(){M.isNullOrUndefined(this.cancelUserChangeSubscription)||(this.cancelUserChangeSubscription.unsubscribe(),this.cancelUserChangeSubscription=null)}getPointerElement(t){return t===F.Min?this.minHandleElement:t===F.Max?this.maxHandleElement:null}getCurrentTrackingValue(){return this.currentTrackingPointer===F.Min?this.viewLowValue:this.currentTrackingPointer===F.Max?this.viewHighValue:null}modelValueToViewValue(t){return M.isNullOrUndefined(t)?NaN:M.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+t:M.findStepIndex(+t,this.viewOptions.stepsArray)}viewValueToModelValue(t){return M.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?t:this.getStepValue(t)}getStepValue(t){const r=this.viewOptions.stepsArray[t];return M.isNullOrUndefined(r)?NaN:r.value}applyViewChange(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,forceChange:!1,internalChange:!0})}applyInputModelChange(t){const r=this.normaliseModelValues(t),i=!Xc.compare(t,r);i&&(this.value=r.value,this.highValue=r.highValue),this.viewLowValue=this.modelValueToViewValue(r.value),this.viewHighValue=this.range?this.modelValueToViewValue(r.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:r.value,highValue:r.highValue,controlAccessorChange:t.controlAccessorChange,forceChange:i,userEventInitiated:!1})}publishOutputModelChange(t){const r=()=>{this.valueChange.emit(t.value),this.range&&this.highValueChange.emit(t.highValue),!t.controlAccessorChange&&(M.isNullOrUndefined(this.onChangeCallback)||this.onChangeCallback(this.range?[t.value,t.highValue]:t.value),M.isNullOrUndefined(this.onTouchedCallback)||this.onTouchedCallback(this.range?[t.value,t.highValue]:t.value))};t.userEventInitiated?(r(),this.userChange.emit(this.getChangeContext())):setTimeout(()=>{r()})}normaliseModelValues(t){const r=new Xc;if(r.value=t.value,r.highValue=t.highValue,!M.isNullOrUndefined(this.viewOptions.stepsArray)){if(this.viewOptions.enforceStepsArray){const i=M.findStepIndex(r.value,this.viewOptions.stepsArray);if(r.value=this.viewOptions.stepsArray[i].value,this.range){const o=M.findStepIndex(r.highValue,this.viewOptions.stepsArray);r.highValue=this.viewOptions.stepsArray[o].value}}return r}if(this.viewOptions.enforceStep&&(r.value=this.roundStep(r.value),this.range&&(r.highValue=this.roundStep(r.highValue))),this.viewOptions.enforceRange&&(r.value=He.clampToRange(r.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(r.highValue=He.clampToRange(r.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&t.value>t.highValue))if(this.viewOptions.noSwitching)r.value=r.highValue;else{const i=t.value;r.value=t.highValue,r.highValue=i}return r}renormaliseModelValues(){const t={value:this.value,highValue:this.highValue},r=this.normaliseModelValues(t);Xc.compare(r,t)||(this.value=r.value,this.highValue=r.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,forceChange:!0,userEventInitiated:!1}))}onChangeOptions(){if(!this.initHasRun)return;const t=this.getOptionsInfluencingEventBindings(this.viewOptions);this.applyOptions();const r=this.getOptionsInfluencingEventBindings(this.viewOptions),i=!M.areArraysEqual(t,r);this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider(i)}applyOptions(){if(this.viewOptions=new Jc,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!M.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!M.isNullOrUndefined(this.viewOptions.tickStep)||!M.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!M.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),M.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),M.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=(t,r)=>t+" - "+r),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}applyStepsArrayOptions(){this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,M.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(this.viewOptions.bindIndexForStepsArray?this.getStepValue(t):t))}applyFloorCeilOptions(){if(M.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),M.isNullOrUndefined(this.viewOptions.ceil)||M.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,M.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(t))}resetSlider(t=!0){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),t&&(this.unbindEvents(),this.manageEventsBindings()),this.updateDisabledState(),this.updateAriaLabel(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}focusPointer(t){t!==F.Min&&t!==F.Max&&(t=F.Min),t===F.Min?this.minHandleElement.focus():this.range&&t===F.Max&&this.maxHandleElement.focus()}refocusPointerIfNeeded(){M.isNullOrUndefined(this.currentFocusPointer)||this.getPointerElement(this.currentFocusPointer).focusIfNeeded()}manageElementsStyle(){this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);const t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(()=>{this.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate}),this.updateRotate()}manageEventsBindings(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}updateDisabledState(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}updateAriaLabel(){this.sliderElementAriaLabel=this.viewOptions.ariaLabel||"nxg-slider"}updateVerticalState(){this.sliderElementVerticalClass=this.viewOptions.vertical;for(const t of this.getAllSliderElements())M.isNullOrUndefined(t)||t.setVertical(this.viewOptions.vertical)}updateScale(){for(const t of this.getAllSliderElements())t.setScale(this.viewOptions.scale)}updateRotate(){for(const t of this.getAllSliderElements())t.setRotate(this.viewOptions.rotate)}getAllSliderElements(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}initHandles(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}addAccessibility(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.minHandleElement.ariaOrientation=this.viewOptions.vertical||0!==this.viewOptions.rotate?"vertical":"horizontal",M.isNullOrUndefined(this.viewOptions.ariaLabel)?M.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical||0!==this.viewOptions.rotate?"vertical":"horizontal",M.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?M.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}updateAriaAttributes(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,Tn.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,Tn.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}calculateViewDimensions(){M.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);const t=this.minHandleElement.dimension;this.handleHalfDimension=t/2,M.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-t,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}calculateViewDimensionsAndDetectChanges(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}isRefDestroyed(){return this.changeDetectionRef.destroyed}updateTicksScale(){if(!this.viewOptions.showTicks&&this.sliderElementWithLegendClass)return void setTimeout(()=>{this.sliderElementWithLegendClass=!1});const t=M.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,r=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();const i=M.isNullOrUndefined(this.viewOptions.tickValueStep)?M.isNullOrUndefined(this.viewOptions.tickStep)?this.viewOptions.step:this.viewOptions.tickStep:this.viewOptions.tickValueStep;let o=!1;const s=t.map(a=>{let l=this.valueToPosition(a);this.viewOptions.vertical&&(l=this.maxHandlePosition-l);const c=r+"("+Math.round(l)+"px)",u=new e3;u.selected=this.isTickSelected(a),u.style={"-webkit-transform":c,"-moz-transform":c,"-o-transform":c,"-ms-transform":c,transform:c},u.selected&&!M.isNullOrUndefined(this.viewOptions.getSelectionBarColor)&&(u.style["background-color"]=this.getSelectionBarColor()),!u.selected&&!M.isNullOrUndefined(this.viewOptions.getTickColor)&&(u.style["background-color"]=this.getTickColor(a)),M.isNullOrUndefined(this.viewOptions.ticksTooltip)||(u.tooltip=this.viewOptions.ticksTooltip(a),u.tooltipPlacement=this.viewOptions.vertical?"right":"top"),this.viewOptions.showTicksValues&&!M.isNullOrUndefined(i)&&He.isModuloWithinPrecisionLimit(a,i,this.viewOptions.precisionLimit)&&(u.value=this.getDisplayValue(a,Tn.TickValue),M.isNullOrUndefined(this.viewOptions.ticksValuesTooltip)||(u.valueTooltip=this.viewOptions.ticksValuesTooltip(a),u.valueTooltipPlacement=this.viewOptions.vertical?"right":"top"));let d=null;if(M.isNullOrUndefined(this.viewOptions.stepsArray))M.isNullOrUndefined(this.viewOptions.getLegend)||(d=this.viewOptions.getLegend(a));else{const g=this.viewOptions.stepsArray[a];M.isNullOrUndefined(this.viewOptions.getStepLegend)?M.isNullOrUndefined(g)||(d=g.legend):d=this.viewOptions.getStepLegend(g)}return M.isNullOrUndefined(d)||(u.legend=d,o=!0),u});if(this.sliderElementWithLegendClass!==o&&setTimeout(()=>{this.sliderElementWithLegendClass=o}),M.isNullOrUndefined(this.ticks)||this.ticks.length!==s.length)this.ticks=s,this.isRefDestroyed()||this.changeDetectionRef.detectChanges();else for(let a=0;a=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&t<=this.viewLowValue)return!0}else{const r=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>r&&t>=r&&t<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&t>=this.viewLowValue&&t<=this.viewHighValue)}updateFloorLabel(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,Tn.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}updateCeilLabel(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,Tn.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}updateHandles(t,r){t===F.Min?this.updateLowHandle(r):t===F.Max&&this.updateHighHandle(r),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}getHandleLabelPos(t,r){const i=t===F.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,o=r-i/2+this.handleHalfDimension,s=this.fullBarElement.dimension-i;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&t===F.Min||!this.viewOptions.rightToLeft&&t===F.Max?Math.min(o,s):Math.min(Math.max(o,0),s):o}updateLowHandle(t){this.minHandleElement.setPosition(t),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,Tn.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(F.Min,t)),M.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(F.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateHighHandle(t){this.maxHandleElement.setPosition(t),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,Tn.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(F.Max,t)),M.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(F.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateFloorAndCeilLabelsVisibility(){if(this.viewOptions.hidePointerLabels)return;let t=!1,r=!1;const i=this.isLabelBelowFloorLabel(this.minHandleLabelElement),o=this.isLabelAboveCeilLabel(this.minHandleLabelElement),s=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),a=this.isLabelBelowFloorLabel(this.combinedLabelElement),l=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(i?(t=!0,this.floorLabelElement.hide()):(t=!1,this.floorLabelElement.show()),o?(r=!0,this.ceilLabelElement.hide()):(r=!1,this.ceilLabelElement.show()),this.range){const c=this.combinedLabelElement.isVisible()?l:s,u=this.combinedLabelElement.isVisible()?a:i;c?this.ceilLabelElement.hide():r||this.ceilLabelElement.show(),u?this.floorLabelElement.hide():t||this.floorLabelElement.show()}}isLabelBelowFloorLabel(t){const r=t.position,o=this.floorLabelElement.position;return this.viewOptions.rightToLeft?r+t.dimension>=o-2:r<=o+this.floorLabelElement.dimension+2}isLabelAboveCeilLabel(t){const r=t.position,o=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?r<=o+this.ceilLabelElement.dimension+2:r+t.dimension>=o-2}updateSelectionBar(){let t=0,r=0;const i=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,o=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)r=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),t=o;else if(M.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))i?(r=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),t=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(r=this.minHandleElement.position+this.handleHalfDimension,t=0);else{const s=this.viewOptions.showSelectionBarFromValue,a=this.valueToPosition(s);(this.viewOptions.rightToLeft?this.viewLowValue<=s:this.viewLowValue>s)?(r=this.minHandleElement.position-a,t=a+this.handleHalfDimension):(r=a-this.minHandleElement.position,t=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(r),this.selectionBarElement.setPosition(t),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(t),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+r)),this.leftOuterSelectionBarElement.setPosition(t+r)):(this.leftOuterSelectionBarElement.setDimension(t),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+r)),this.rightOuterSelectionBarElement.setPosition(t+r))),M.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!M.isNullOrUndefined(this.viewOptions.selectionBarGradient)){const s=M.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),a=s-t>0&&!i||s-t<=0&&i;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?a?"bottom":"top":a?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(s+r+t+(a?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=s-t+(a?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{const s=this.getSelectionBarColor();this.barStyle={backgroundColor:s}}}getSelectionBarColor(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}getPointerColor(t){return this.viewOptions.getPointerColor(t===F.Max?this.highValue:this.value,t)}getTickColor(t){return this.viewOptions.getTickColor(t)}updateCombinedLabel(){let t=null;if(t=this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position,t){const r=this.getDisplayValue(this.viewLowValue,Tn.Low),i=this.getDisplayValue(this.viewHighValue,Tn.High),o=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(i,r):this.viewOptions.combineLabels(r,i);this.combinedLabelElement.setValue(o);const s=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(s),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}getDisplayValue(t,r){return!M.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(t=this.getStepValue(t)),this.viewOptions.translate(t,r)}roundStep(t,r){const i=M.isNullOrUndefined(r)?this.viewOptions.step:r;let o=He.roundToPrecisionLimit((t-this.viewOptions.floor)/i,this.viewOptions.precisionLimit);return o=Math.round(o)*i,He.roundToPrecisionLimit(this.viewOptions.floor+o,this.viewOptions.precisionLimit)}valueToPosition(t){let r=M.linearValueToPosition;M.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(r=M.logValueToPosition):r=this.viewOptions.customValueToPosition;let i=r(t=He.clampToRange(t,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return M.isNullOrUndefined(i)&&(i=0),this.viewOptions.rightToLeft&&(i=1-i),i*this.maxHandlePosition}positionToValue(t){let r=t/this.maxHandlePosition;this.viewOptions.rightToLeft&&(r=1-r);let i=M.linearPositionToValue;M.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(i=M.logPositionToValue):i=this.viewOptions.customPositionToValue;const o=i(r,this.viewOptions.floor,this.viewOptions.ceil);return M.isNullOrUndefined(o)?0:o}getEventXY(t,r){if(t instanceof MouseEvent)return this.viewOptions.vertical||0!==this.viewOptions.rotate?t.clientY:t.clientX;let i=0;const o=t.touches;if(!M.isNullOrUndefined(r))for(let s=0;so?F.Max:this.viewOptions.rightToLeft?r>this.minHandleElement.position?F.Min:F.Max:rthis.onBarStart(null,t,r,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.on("mousedown",r=>this.onBarStart(F.Min,t,r,!0,!0)),this.maxHandleElement.on("mousedown",r=>this.onBarStart(F.Max,t,r,!0,!0))):(this.minHandleElement.on("mousedown",r=>this.onStart(F.Min,r,!0,!0)),this.range&&this.maxHandleElement.on("mousedown",r=>this.onStart(F.Max,r,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.on("mousedown",r=>this.onStart(null,r,!0,!0,!0)),this.ticksElement.on("mousedown",r=>this.onStart(null,r,!0,!0,!0,!0)))),this.viewOptions.onlyBindHandles||this.selectionBarElement.onPassive("touchstart",r=>this.onBarStart(null,t,r,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.onPassive("touchstart",r=>this.onBarStart(F.Min,t,r,!0,!0)),this.maxHandleElement.onPassive("touchstart",r=>this.onBarStart(F.Max,t,r,!0,!0))):(this.minHandleElement.onPassive("touchstart",r=>this.onStart(F.Min,r,!0,!0)),this.range&&this.maxHandleElement.onPassive("touchstart",r=>this.onStart(F.Max,r,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.onPassive("touchstart",r=>this.onStart(null,r,!0,!0,!0)),this.ticksElement.onPassive("touchstart",r=>this.onStart(null,r,!1,!1,!0,!0)))),this.viewOptions.keyboardSupport&&(this.minHandleElement.on("focus",()=>this.onPointerFocus(F.Min)),this.range&&this.maxHandleElement.on("focus",()=>this.onPointerFocus(F.Max)))}getOptionsInfluencingEventBindings(t){return[t.disabled,t.readOnly,t.draggableRange,t.draggableRangeOnly,t.onlyBindHandles,t.keyboardSupport]}unbindEvents(){this.unsubscribeOnMove(),this.unsubscribeOnEnd();for(const t of this.getAllSliderElements())M.isNullOrUndefined(t)||t.off()}onBarStart(t,r,i,o,s,a,l){r?this.onDragStart(t,i,o,s):this.onStart(t,i,o,s,a,l)}onStart(t,r,i,o,s,a){r.stopPropagation(),!wr.isTouchEvent(r)&&!eM&&r.preventDefault(),this.moving=!1,this.calculateViewDimensions(),M.isNullOrUndefined(t)&&(t=this.getNearestHandle(r)),this.currentTrackingPointer=t;const l=this.getPointerElement(t);if(l.active=!0,this.preStartHandleValue=this.getCurrentTrackingValue(),this.viewOptions.keyboardSupport&&l.focus(),i){this.unsubscribeOnMove();const c=u=>this.dragging.active?this.onDragMove(u):this.onMove(u);this.onMoveEventListener=wr.isTouchEvent(r)?this.eventListenerHelper.attachPassiveEventListener(document,"touchmove",c):this.eventListenerHelper.attachEventListener(document,"mousemove",c)}if(o){this.unsubscribeOnEnd();const c=u=>this.onEnd(u);this.onEndEventListener=wr.isTouchEvent(r)?this.eventListenerHelper.attachPassiveEventListener(document,"touchend",c):this.eventListenerHelper.attachEventListener(document,"mouseup",c)}this.userChangeStart.emit(this.getChangeContext()),wr.isTouchEvent(r)&&!M.isNullOrUndefined(r.changedTouches)&&M.isNullOrUndefined(this.touchId)&&(this.touchId=r.changedTouches[0].identifier),s&&this.onMove(r,!0),a&&this.onEnd(r)}onMove(t,r){let i=null;if(wr.isTouchEvent(t)){const c=t.changedTouches;for(let u=0;u=this.maxHandlePosition?s=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(s=this.positionToValue(o),s=r&&!M.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(s,this.viewOptions.tickStep):this.roundStep(s)),this.positionTrackingHandle(s)}forceEnd(t=!1){this.moving=!1,this.viewOptions.animate&&(this.sliderElementAnimateClass=!0),t&&(this.sliderElementAnimateClass=!1,setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate})),this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext())}onEnd(t){wr.isTouchEvent(t)&&t.changedTouches[0].identifier!==this.touchId||this.forceEnd()}onPointerFocus(t){const r=this.getPointerElement(t);r.on("blur",()=>this.onPointerBlur(r)),r.on("keydown",i=>this.onKeyboardEvent(i)),r.on("keyup",()=>this.onKeyUp()),r.active=!0,this.currentTrackingPointer=t,this.currentFocusPointer=t,this.firstKeyDown=!0}onKeyUp(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}onPointerBlur(t){t.off("blur"),t.off("keydown"),t.off("keyup"),t.active=!1,M.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}getKeyActions(t){const r=this.viewOptions.ceil-this.viewOptions.floor;let i=t+this.viewOptions.step,o=t-this.viewOptions.step,s=t+r/10,a=t-r/10;this.viewOptions.reversedControls&&(i=t-this.viewOptions.step,o=t+this.viewOptions.step,s=t-r/10,a=t+r/10);const l={UP:i,DOWN:o,LEFT:o,RIGHT:i,PAGEUP:s,PAGEDOWN:a,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(l.LEFT=i,l.RIGHT=o,(this.viewOptions.vertical||0!==this.viewOptions.rotate)&&(l.UP=o,l.DOWN=i)),l}onKeyboardEvent(t){const r=this.getCurrentTrackingValue(),i=M.isNullOrUndefined(t.keyCode)?t.which:t.keyCode,l=this.getKeyActions(r)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[i]];if(M.isNullOrUndefined(l)||M.isNullOrUndefined(this.currentTrackingPointer))return;t.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));const c=He.clampToRange(l,this.viewOptions.floor,this.viewOptions.ceil),u=this.roundStep(c);if(this.viewOptions.draggableRangeOnly){const d=this.viewHighValue-this.viewLowValue;let g,h;this.currentTrackingPointer===F.Min?(g=u,h=u+d,h>this.viewOptions.ceil&&(h=this.viewOptions.ceil,g=h-d)):this.currentTrackingPointer===F.Max&&(h=u,g=u-d,g=this.maxHandlePosition-i;let u,d;if(r<=o){if(0===s.position)return;u=this.getMinValue(r,!0,!1),d=this.getMaxValue(r,!0,!1)}else if(c){if(a.position===this.maxHandlePosition)return;d=this.getMaxValue(r,!0,!0),u=this.getMinValue(r,!0,!0)}else u=this.getMinValue(r,!1,!1),d=this.getMaxValue(r,!1,!1);this.positionTrackingBar(u,d)}positionTrackingBar(t,r){!M.isNullOrUndefined(this.viewOptions.minLimit)&&tthis.viewOptions.maxLimit&&(t=He.roundToPrecisionLimit((r=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=t,this.viewHighValue=r,this.applyViewChange(),this.updateHandles(F.Min,this.valueToPosition(t)),this.updateHandles(F.Max,this.valueToPosition(r))}positionTrackingHandle(t){t=this.applyMinMaxLimit(t),this.range&&(this.viewOptions.pushRange?t=this.applyPushRange(t):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===F.Min&&t>this.viewHighValue?t=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===F.Max&&tthis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(F.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=F.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===F.Max&&tthis.viewOptions.maxLimit?this.viewOptions.maxLimit:t}applyMinMaxRange(t){const i=Math.abs(t-(this.currentTrackingPointer===F.Min?this.viewHighValue:this.viewLowValue));if(!M.isNullOrUndefined(this.viewOptions.minRange)&&ithis.viewOptions.maxRange){if(this.currentTrackingPointer===F.Min)return He.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===F.Max)return He.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return t}applyPushRange(t){const r=this.currentTrackingPointer===F.Min?this.viewHighValue-t:t-this.viewLowValue,i=M.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,o=this.viewOptions.maxRange;return ro&&(this.currentTrackingPointer===F.Min?(this.viewHighValue=He.roundToPrecisionLimit(t+o,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(F.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===F.Max&&(this.viewLowValue=He.roundToPrecisionLimit(t-o,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(F.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),t}getChangeContext(){const t=new Jj;return t.pointerType=this.currentTrackingPointer,t.value=+this.value,this.range&&(t.highValue=+this.highValue),t}static \u0275fac=function(r){return new(r||e)(T(on),T(pt),T(si),T(de),T(oM,8))};static \u0275cmp=sn({type:e,selectors:[["ngx-slider"]],contentQueries:function(r,i,o){if(1&r&&Zw(o,kj,5),2&r){let s;Ot(s=At())&&(i.tooltipTemplate=s.first)}},viewQuery:function(r,i){if(1&r&&(Vt(Fj,5,Dr),Vt(Lj,5,Dr),Vt(Pj,5,Dr),Vt(Vj,5,Dr),Vt(Hj,5,Kg),Vt(Bj,5,Kg),Vt(jj,5,So),Vt(Uj,5,So),Vt($j,5,So),Vt(zj,5,So),Vt(Gj,5,So),Vt(qj,5,Dr)),2&r){let o;Ot(o=At())&&(i.leftOuterSelectionBarElement=o.first),Ot(o=At())&&(i.rightOuterSelectionBarElement=o.first),Ot(o=At())&&(i.fullBarElement=o.first),Ot(o=At())&&(i.selectionBarElement=o.first),Ot(o=At())&&(i.minHandleElement=o.first),Ot(o=At())&&(i.maxHandleElement=o.first),Ot(o=At())&&(i.floorLabelElement=o.first),Ot(o=At())&&(i.ceilLabelElement=o.first),Ot(o=At())&&(i.minHandleLabelElement=o.first),Ot(o=At())&&(i.maxHandleLabelElement=o.first),Ot(o=At())&&(i.combinedLabelElement=o.first),Ot(o=At())&&(i.ticksElement=o.first)}},hostVars:10,hostBindings:function(r,i){1&r&&q("resize",function(s){return i.onResize(s)},0,El),2&r&&(_t("disabled",i.sliderElementDisabledAttr)("aria-label",i.sliderElementAriaLabel),jn("ngx-slider",i.sliderElementNgxSliderClass)("vertical",i.sliderElementVerticalClass)("animate",i.sliderElementAnimateClass)("with-legend",i.sliderElementWithLegendClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus",cancelUserChange:"cancelUserChange"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},standalone:!1,features:[Me([t3]),kn],decls:29,vars:13,consts:[["leftOuterSelectionBar",""],["rightOuterSelectionBar",""],["fullBar",""],["selectionBar",""],["minHandle",""],["maxHandle",""],["floorLabel",""],["ceilLabel",""],["minHandleLabel",""],["maxHandleLabel",""],["combinedLabel",""],["ticksElement",""],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-left-out-selection"],[1,"ngx-slider-span","ngx-slider-bar"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-right-out-selection"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-full-bar"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-selection-bar"],[1,"ngx-slider-span","ngx-slider-bar","ngx-slider-selection",3,"ngStyle"],["ngxSliderHandle","",1,"ngx-slider-span","ngx-slider-pointer","ngx-slider-pointer-min",3,"ngStyle"],["ngxSliderHandle","",1,"ngx-slider-span","ngx-slider-pointer","ngx-slider-pointer-max",3,"ngStyle"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-limit","ngx-slider-floor"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-limit","ngx-slider-ceil"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-model-value"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-model-high"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-combined"],["ngxSliderElement","",1,"ngx-slider-ticks",3,"hidden"],["class","ngx-slider-tick",3,"ngClass","ngStyle",4,"ngFor","ngForOf"],[1,"ngx-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],["class","ngx-slider-span ngx-slider-tick-value",3,"template","tooltip","placement","content",4,"ngIf"],["class","ngx-slider-span ngx-slider-tick-legend",3,"innerText",4,"ngIf"],["class","ngx-slider-span ngx-slider-tick-legend",3,"innerHTML",4,"ngIf"],[1,"ngx-slider-span","ngx-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ngx-slider-span","ngx-slider-tick-legend",3,"innerText"],[1,"ngx-slider-span","ngx-slider-tick-legend",3,"innerHTML"]],template:function(r,i){1&r&&(y(0,"span",12,0),x(2,"span",13),_(),y(3,"span",14,1),x(5,"span",13),_(),y(6,"span",15,2),x(8,"span",13),_(),y(9,"span",16,3),x(11,"span",17),_(),x(12,"span",18,4)(14,"span",19,5)(16,"span",20,6)(18,"span",21,7)(20,"span",22,8)(22,"span",23,9)(24,"span",24,10),y(26,"span",25,11),V(28,Kj,5,10,"span",26),_()),2&r&&(f(6),jn("ngx-slider-transparent",i.fullBarTransparentClass),f(3),jn("ngx-slider-draggable",i.selectionBarDraggableClass),f(2),p("ngStyle",i.barStyle),f(),p("ngStyle",i.minPointerStyle),f(2),ec("display",i.range?"inherit":"none"),p("ngStyle",i.maxPointerStyle),f(12),jn("ngx-slider-ticks-values-under",i.ticksUnderValuesClass),p("hidden",!i.showTicks),f(2),p("ngForOf",i.ticks))},dependencies:[Do,ci,zn,Yb,Dr,Kg,So,Xj],styles:['.ngx-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;user-select:none;touch-action:pan-y} .ngx-slider.with-legend{margin-bottom:40px} .ngx-slider[disabled]{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ngx-slider[disabled] .ngx-slider-draggable{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-selection{background:#8b91a2} .ngx-slider[disabled] .ngx-slider-tick{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-tick.ngx-slider-selected{background:#8b91a2} .ngx-slider .ngx-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ngx-slider .ngx-slider-base{width:100%;height:100%;padding:0} .ngx-slider .ngx-slider-bar-wrapper{left:0;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ngx-slider .ngx-slider-draggable{cursor:move} .ngx-slider .ngx-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-transparent .ngx-slider-bar{background:transparent} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-left-out-selection .ngx-slider-bar{background:#df002d} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-right-out-selection .ngx-slider-bar{background:#03a688} .ngx-slider .ngx-slider-selection{z-index:2;background:#0db9f0;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} .ngx-slider .ngx-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px} .ngx-slider .ngx-slider-pointer:after{content:"";width:8px;height:8px;position:absolute;top:12px;left:12px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;background:#fff} .ngx-slider .ngx-slider-pointer:hover:after{background-color:#fff} .ngx-slider .ngx-slider-pointer.ngx-slider-active{z-index:4} .ngx-slider .ngx-slider-pointer.ngx-slider-active:after{background-color:#451aff} .ngx-slider .ngx-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:#55637d} .ngx-slider .ngx-slider-ticks{box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ngx-slider .ngx-slider-ticks-values-under .ngx-slider-tick-value{top:auto;bottom:-36px} .ngx-slider .ngx-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ngx-slider .ngx-slider-tick.ngx-slider-selected{background:#0db9f0} .ngx-slider .ngx-slider-tick-value{position:absolute;top:-34px;transform:translate(-50%)} .ngx-slider .ngx-slider-tick-legend{position:absolute;top:24px;transform:translate(-50%);max-width:50px;white-space:normal} .ngx-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;touch-action:pan-x} .ngx-slider.vertical .ngx-slider-base{width:100%;height:100%;padding:0} .ngx-slider.vertical .ngx-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ngx-slider.vertical .ngx-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ngx-slider.vertical .ngx-slider-pointer{left:-14px!important;top:auto;bottom:0} .ngx-slider.vertical .ngx-slider-bubble{left:16px!important;bottom:0} .ngx-slider.vertical .ngx-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ngx-slider.vertical .ngx-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ngx-slider.vertical .ngx-slider-tick-value{left:24px;top:auto;transform:translateY(-28%)} .ngx-slider.vertical .ngx-slider-tick-legend{top:auto;right:24px;transform:translateY(-28%);max-width:none;white-space:nowrap} .ngx-slider.vertical .ngx-slider-ticks-values-under .ngx-slider-tick-value{bottom:auto;left:auto;right:24px} .ngx-slider *{transition:none} .ngx-slider.animate .ngx-slider-bar-wrapper{transition:all linear .3s} .ngx-slider.animate .ngx-slider-selection{transition:background-color linear .3s} .ngx-slider.animate .ngx-slider-pointer{transition:all linear .3s} .ngx-slider.animate .ngx-slider-pointer:after{transition:all linear .3s} .ngx-slider.animate .ngx-slider-bubble{transition:all linear .3s} .ngx-slider.animate .ngx-slider-bubble.ngx-slider-limit{transition:opacity linear .3s} .ngx-slider.animate .ngx-slider-bubble.ngx-slider-combined{transition:opacity linear .3s} .ngx-slider.animate .ngx-slider-tick{transition:background-color linear .3s}']})}return e})(),n3=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=cr({type:e});static \u0275inj=Nn({imports:[eE]})}return e})();class dM{constructor(){this.riskHotspotsSettings=null,this.coverageInfoSettings=null}}class r3{constructor(){this.showLineCoverage=!0,this.showBranchCoverage=!0,this.showMethodCoverage=!0,this.showFullMethodCoverage=!0,this.visibleMetrics=[],this.groupingMaximum=0,this.grouping=0,this.historyComparisionDate="",this.historyComparisionType="",this.filter="",this.lineCoverageMin=0,this.lineCoverageMax=100,this.branchCoverageMin=0,this.branchCoverageMax=100,this.methodCoverageMin=0,this.methodCoverageMax=100,this.methodFullCoverageMin=0,this.methodFullCoverageMax=100,this.sortBy="name",this.sortOrder="asc",this.collapseStates=[]}}class i3{constructor(n){this.et="",this.et=n.et,this.cl=n.cl,this.ucl=n.ucl,this.cal=n.cal,this.tl=n.tl,this.lcq=n.lcq,this.cb=n.cb,this.tb=n.tb,this.bcq=n.bcq,this.cm=n.cm,this.fcm=n.fcm,this.tm=n.tm,this.mcq=n.mcq,this.mfcq=n.mfcq}get coverageRatioText(){return 0===this.tl?"-":this.cl+"/"+this.cal}get branchCoverageRatioText(){return 0===this.tb?"-":this.cb+"/"+this.tb}get methodCoverageRatioText(){return 0===this.tm?"-":this.cm+"/"+this.tm}get methodFullCoverageRatioText(){return 0===this.tm?"-":this.fcm+"/"+this.tm}}class jt{static roundNumber(n){return Math.floor(n*Math.pow(10,jt.maximumDecimalPlacesForCoverageQuotas))/Math.pow(10,jt.maximumDecimalPlacesForCoverageQuotas)}static getNthOrLastIndexOf(n,t,r){let i=0,o=-1,s=-1;for(;i{this.historicCoverages.push(new i3(r))}),this.metrics=n.metrics}get coverage(){return 0===this.coverableLines?NaN:jt.roundNumber(100*this.coveredLines/this.coverableLines)}visible(n){if(""!==n.filter&&-1===this.name.toLowerCase().indexOf(n.filter.toLowerCase()))return!1;let t=this.coverage,r=t;if(t=Number.isNaN(t)?0:t,r=Number.isNaN(r)?100:r,n.lineCoverageMin>t||n.lineCoverageMaxi||n.branchCoverageMaxs||n.methodCoverageMaxl||n.methodFullCoverageMax=this.currentHistoricCoverage.lcq)return!1}else if("branchCoverageIncreaseOnly"===n.historyComparisionType){let u=this.branchCoverage;if(isNaN(u)||u<=this.currentHistoricCoverage.bcq)return!1}else if("branchCoverageDecreaseOnly"===n.historyComparisionType){let u=this.branchCoverage;if(isNaN(u)||u>=this.currentHistoricCoverage.bcq)return!1}else if("methodCoverageIncreaseOnly"===n.historyComparisionType){let u=this.methodCoverage;if(isNaN(u)||u<=this.currentHistoricCoverage.mcq)return!1}else if("methodCoverageDecreaseOnly"===n.historyComparisionType){let u=this.methodCoverage;if(isNaN(u)||u>=this.currentHistoricCoverage.mcq)return!1}else if("fullMethodCoverageIncreaseOnly"===n.historyComparisionType){let u=this.methodFullCoverage;if(isNaN(u)||u<=this.currentHistoricCoverage.mfcq)return!1}else if("fullMethodCoverageDecreaseOnly"===n.historyComparisionType){let u=this.methodFullCoverage;if(isNaN(u)||u>=this.currentHistoricCoverage.mfcq)return!1}return!0}updateCurrentHistoricCoverage(n){if(this.currentHistoricCoverage=null,""!==n)for(let t=0;t-1&&null===t}visible(n){if(""!==n.filter&&this.name.toLowerCase().indexOf(n.filter.toLowerCase())>-1)return!0;for(let t=0;t{class e{get nativeWindow(){return function o3(){return window}()}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=re({token:e,factory:e.\u0275fac})}}return e})(),s3=(()=>{class e{constructor(){this.translations={}}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=sn({type:e,selectors:[["pro-button"]],inputs:{translations:"translations"},standalone:!1,decls:3,vars:1,consts:[["href","https://reportgenerator.io/pro","target","_blank",1,"pro-button","pro-button-tiny",3,"title"]],template:function(r,i){1&r&&(b(0,"\xa0"),y(1,"a",0),b(2,"PRO"),_()),2&r&&(f(),In("title",i.translations.methodCoverageProVersion))},encapsulation:2})}}return e})();function a3(e,n){if(1&e){const t=ge();y(0,"div",3)(1,"label")(2,"input",4),tt("ngModelChange",function(i){B(t);const o=v();return be(o.showBranchCoverage,i)||(o.showBranchCoverage=i),j(i)}),q("change",function(){B(t);const i=v();return j(i.showBranchCoverageChange.emit(i.showBranchCoverage))}),_(),b(3),_()()}if(2&e){const t=v();f(2),Qe("ngModel",t.showBranchCoverage),f(),U(" ",t.translations.branchCoverage,"")}}function l3(e,n){1&e&&x(0,"pro-button",9),2&e&&p("translations",v().translations)}function c3(e,n){1&e&&x(0,"pro-button",9),2&e&&p("translations",v().translations)}function u3(e,n){1&e&&x(0,"pro-button",9),2&e&&p("translations",v(2).translations)}function d3(e,n){1&e&&(y(0,"a",13),x(1,"i",14),_()),2&e&&p("href",v().$implicit.explanationUrl,ir)}function f3(e,n){if(1&e){const t=ge();y(0,"div",3)(1,"label")(2,"input",11),q("change",function(){const i=B(t).$implicit;return j(v(2).toggleMetric(i))}),_(),b(3),_(),b(4,"\xa0"),V(5,d3,2,1,"a",12),_()}if(2&e){const t=n.$implicit,r=v(2);f(2),p("checked",r.isMetricSelected(t))("disabled",!r.methodCoverageAvailable),f(),U(" ",t.name,""),f(2),p("ngIf",t.explanationUrl)}}function h3(e,n){if(1&e&&(X(0),x(1,"br")(2,"br"),y(3,"b"),b(4),_(),V(5,u3,1,1,"pro-button",7)(6,f3,6,4,"div",10),ee()),2&e){const t=v();f(4),O(t.translations.metrics),f(),p("ngIf",!t.methodCoverageAvailable),f(),p("ngForOf",t.metrics)}}let g3=(()=>{class e{constructor(){this.visible=!1,this.visibleChange=new we,this.translations={},this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.metrics=[],this.showLineCoverage=!1,this.showLineCoverageChange=new we,this.showBranchCoverage=!1,this.showBranchCoverageChange=new we,this.showMethodCoverage=!1,this.showMethodCoverageChange=new we,this.showMethodFullCoverage=!1,this.showMethodFullCoverageChange=new we,this.visibleMetrics=[],this.visibleMetricsChange=new we}isMetricSelected(t){return void 0!==this.visibleMetrics.find(r=>r.name===t.name)}toggleMetric(t){let r=this.visibleMetrics.find(i=>i.name===t.name);r?this.visibleMetrics.splice(this.visibleMetrics.indexOf(r),1):this.visibleMetrics.push(t),this.visibleMetrics=[...this.visibleMetrics],this.visibleMetricsChange.emit(this.visibleMetrics)}close(){this.visible=!1,this.visibleChange.emit(this.visible)}cancelEvent(t){t.stopPropagation()}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=sn({type:e,selectors:[["popup"]],inputs:{visible:"visible",translations:"translations",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",metrics:"metrics",showLineCoverage:"showLineCoverage",showBranchCoverage:"showBranchCoverage",showMethodCoverage:"showMethodCoverage",showMethodFullCoverage:"showMethodFullCoverage",visibleMetrics:"visibleMetrics"},outputs:{visibleChange:"visibleChange",showLineCoverageChange:"showLineCoverageChange",showBranchCoverageChange:"showBranchCoverageChange",showMethodCoverageChange:"showMethodCoverageChange",showMethodFullCoverageChange:"showMethodFullCoverageChange",visibleMetricsChange:"visibleMetricsChange"},standalone:!1,decls:22,vars:13,consts:[[1,"popup-container",3,"click"],[1,"popup",3,"click"],[1,"close",3,"click"],[1,"mt-1"],["type","checkbox",3,"ngModelChange","change","ngModel"],["class","mt-1",4,"ngIf"],["type","checkbox",3,"ngModelChange","change","ngModel","disabled"],[3,"translations",4,"ngIf"],[4,"ngIf"],[3,"translations"],["class","mt-1",4,"ngFor","ngForOf"],["type","checkbox",3,"change","checked","disabled"],["target","_blank",3,"href",4,"ngIf"],["target","_blank",3,"href"],[1,"icon-info-circled"]],template:function(r,i){1&r&&(y(0,"div",0),q("click",function(){return i.close()}),y(1,"div",1),q("click",function(s){return i.cancelEvent(s)}),y(2,"div",2),q("click",function(){return i.close()}),b(3,"X"),_(),y(4,"b"),b(5),_(),y(6,"div",3)(7,"label")(8,"input",4),tt("ngModelChange",function(s){return be(i.showLineCoverage,s)||(i.showLineCoverage=s),s}),q("change",function(){return i.showLineCoverageChange.emit(i.showLineCoverage)}),_(),b(9),_()(),V(10,a3,4,2,"div",5),y(11,"div",3)(12,"label")(13,"input",6),tt("ngModelChange",function(s){return be(i.showMethodCoverage,s)||(i.showMethodCoverage=s),s}),q("change",function(){return i.showMethodCoverageChange.emit(i.showMethodCoverage)}),_(),b(14),_(),V(15,l3,1,1,"pro-button",7),_(),y(16,"div",3)(17,"label")(18,"input",6),tt("ngModelChange",function(s){return be(i.showMethodFullCoverage,s)||(i.showMethodFullCoverage=s),s}),q("change",function(){return i.showMethodFullCoverageChange.emit(i.showMethodFullCoverage)}),_(),b(19),_(),V(20,c3,1,1,"pro-button",7),_(),V(21,h3,7,3,"ng-container",8),_()()),2&r&&(f(5),O(i.translations.coverageTypes),f(3),Qe("ngModel",i.showLineCoverage),f(),U(" ",i.translations.coverage,""),f(),p("ngIf",i.branchCoverageAvailable),f(3),Qe("ngModel",i.showMethodCoverage),p("disabled",!i.methodCoverageAvailable),f(),U(" ",i.translations.methodCoverage,""),f(),p("ngIf",!i.methodCoverageAvailable),f(3),Qe("ngModel",i.showMethodFullCoverage),p("disabled",!i.methodCoverageAvailable),f(),U(" ",i.translations.fullMethodCoverage,""),f(),p("ngIf",!i.methodCoverageAvailable),f(),p("ngIf",i.metrics.length>0))},dependencies:[ci,zn,Ig,jc,aa,s3],encapsulation:2})}}return e})();function p3(e,n){1&e&&x(0,"td",3)}function m3(e,n){1&e&&x(0,"td"),2&e&&Kt("green ",v().greenClass,"")}function v3(e,n){1&e&&x(0,"td"),2&e&&Kt("red ",v().redClass,"")}let hM=(()=>{class e{constructor(){this.grayVisible=!0,this.greenVisible=!1,this.redVisible=!1,this.greenClass="",this.redClass="",this._percentage=NaN}get percentage(){return this._percentage}set percentage(t){this._percentage=t,this.grayVisible=isNaN(t),this.greenVisible=!isNaN(t)&&Math.round(t)>0,this.redVisible=!isNaN(t)&&100-Math.round(t)>0,this.greenClass="covered"+Math.round(t),this.redClass="covered"+(100-Math.round(t))}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=sn({type:e,selectors:[["coverage-bar"]],inputs:{percentage:"percentage"},standalone:!1,decls:4,vars:3,consts:[[1,"coverage"],["class","gray covered100",4,"ngIf"],[3,"class",4,"ngIf"],[1,"gray","covered100"]],template:function(r,i){1&r&&(y(0,"table",0),V(1,p3,1,0,"td",1)(2,m3,1,3,"td",2)(3,v3,1,3,"td",2),_()),2&r&&(f(),p("ngIf",i.grayVisible),f(),p("ngIf",i.greenVisible),f(),p("ngIf",i.redVisible))},dependencies:[zn],encapsulation:2,changeDetection:0})}}return e})();const _3=["codeelement-row",""],y3=(e,n)=>({"icon-plus":e,"icon-minus":n});function C3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.coveredLines)}}function w3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.uncoveredLines)}}function D3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.coverableLines)}}function b3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.totalLines)}}function E3(e,n){if(1&e&&(y(0,"th",6),b(1),_()),2&e){const t=v();p("title",t.element.coverageRatioText),f(),O(t.element.coveragePercentage)}}function I3(e,n){if(1&e&&(y(0,"th",5),x(1,"coverage-bar",7),_()),2&e){const t=v();f(),p("percentage",t.element.coverage)}}function M3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.coveredBranches)}}function T3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.totalBranches)}}function S3(e,n){if(1&e&&(y(0,"th",6),b(1),_()),2&e){const t=v();p("title",t.element.branchCoverageRatioText),f(),O(t.element.branchCoveragePercentage)}}function N3(e,n){if(1&e&&(y(0,"th",5),x(1,"coverage-bar",7),_()),2&e){const t=v();f(),p("percentage",t.element.branchCoverage)}}function x3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.coveredMethods)}}function O3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.totalMethods)}}function A3(e,n){if(1&e&&(y(0,"th",6),b(1),_()),2&e){const t=v();p("title",t.element.methodCoverageRatioText),f(),O(t.element.methodCoveragePercentage)}}function R3(e,n){if(1&e&&(y(0,"th",5),x(1,"coverage-bar",7),_()),2&e){const t=v();f(),p("percentage",t.element.methodCoverage)}}function k3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.fullyCoveredMethods)}}function F3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.totalMethods)}}function L3(e,n){if(1&e&&(y(0,"th",6),b(1),_()),2&e){const t=v();p("title",t.element.methodFullCoverageRatioText),f(),O(t.element.methodFullCoveragePercentage)}}function P3(e,n){if(1&e&&(y(0,"th",5),x(1,"coverage-bar",7),_()),2&e){const t=v();f(),p("percentage",t.element.methodFullCoverage)}}function V3(e,n){1&e&&x(0,"th",5)}let H3=(()=>{class e{constructor(){this.collapsed=!1,this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.methodFullCoverageAvailable=!1,this.visibleMetrics=[]}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=sn({type:e,selectors:[["","codeelement-row",""]],inputs:{element:"element",collapsed:"collapsed",lineCoverageAvailable:"lineCoverageAvailable",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",methodFullCoverageAvailable:"methodFullCoverageAvailable",visibleMetrics:"visibleMetrics"},standalone:!1,attrs:_3,decls:23,vars:24,consts:[["href","#",3,"click"],[3,"ngClass"],["class","right",4,"ngIf"],["class","right",3,"title",4,"ngIf"],["class","right",4,"ngFor","ngForOf"],[1,"right"],[1,"right",3,"title"],[3,"percentage"]],template:function(r,i){1&r&&(y(0,"th")(1,"a",0),q("click",function(s){return i.element.toggleCollapse(s)}),x(2,"i",1),b(3),_()(),V(4,C3,2,1,"th",2)(5,w3,2,1,"th",2)(6,D3,2,1,"th",2)(7,b3,2,1,"th",2)(8,E3,2,2,"th",3)(9,I3,2,1,"th",2)(10,M3,2,1,"th",2)(11,T3,2,1,"th",2)(12,S3,2,2,"th",3)(13,N3,2,1,"th",2)(14,x3,2,1,"th",2)(15,O3,2,1,"th",2)(16,A3,2,2,"th",3)(17,R3,2,1,"th",2)(18,k3,2,1,"th",2)(19,F3,2,1,"th",2)(20,L3,2,2,"th",3)(21,P3,2,1,"th",2)(22,V3,1,0,"th",4)),2&r&&(f(2),p("ngClass",xh(21,y3,i.element.collapsed,!i.element.collapsed)),f(),U(" ",i.element.name,""),f(),p("ngIf",i.lineCoverageAvailable),f(),p("ngIf",i.lineCoverageAvailable),f(),p("ngIf",i.lineCoverageAvailable),f(),p("ngIf",i.lineCoverageAvailable),f(),p("ngIf",i.lineCoverageAvailable),f(),p("ngIf",i.lineCoverageAvailable),f(),p("ngIf",i.branchCoverageAvailable),f(),p("ngIf",i.branchCoverageAvailable),f(),p("ngIf",i.branchCoverageAvailable),f(),p("ngIf",i.branchCoverageAvailable),f(),p("ngIf",i.methodCoverageAvailable),f(),p("ngIf",i.methodCoverageAvailable),f(),p("ngIf",i.methodCoverageAvailable),f(),p("ngIf",i.methodCoverageAvailable),f(),p("ngIf",i.methodFullCoverageAvailable),f(),p("ngIf",i.methodFullCoverageAvailable),f(),p("ngIf",i.methodFullCoverageAvailable),f(),p("ngIf",i.methodFullCoverageAvailable),f(),p("ngForOf",i.visibleMetrics))},dependencies:[Do,ci,zn,hM],encapsulation:2,changeDetection:0})}}return e})();const B3=["coverage-history-chart",""];let j3=(()=>{class e{constructor(){this.path=null,this._historicCoverages=[]}get historicCoverages(){return this._historicCoverages}set historicCoverages(t){if(this._historicCoverages=t,t.length>1){let r="";for(let i=0;i({historiccoverageoffset:e});function $3(e,n){if(1&e&&(y(0,"a",5),b(1),_()),2&e){const t=v();p("href",t.clazz.reportPath,ir),f(),O(t.clazz.name)}}function z3(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v();f(),O(t.clazz.name)}}function G3(e,n){if(1&e&&(X(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(),Kt("currenthistory ",t.getClassName(t.clazz.coveredLines,t.clazz.currentHistoricCoverage.cl),""),f(),U(" ",t.clazz.coveredLines," "),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),U(" ",t.clazz.currentHistoricCoverage.cl," ")}}function q3(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.coveredLines," ")}}function W3(e,n){if(1&e&&(y(0,"td",6),V(1,G3,5,6,"ng-container",1)(2,q3,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function Z3(e,n){if(1&e&&(X(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(),Kt("currenthistory ",t.getClassName(t.clazz.currentHistoricCoverage.ucl,t.clazz.uncoveredLines),""),f(),U(" ",t.clazz.uncoveredLines," "),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),U(" ",t.clazz.currentHistoricCoverage.ucl," ")}}function Q3(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.uncoveredLines," ")}}function Y3(e,n){if(1&e&&(y(0,"td",6),V(1,Z3,5,6,"ng-container",1)(2,Q3,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function K3(e,n){if(1&e&&(X(0),y(1,"div",8),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(2),O(t.clazz.coverableLines),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),O(t.clazz.currentHistoricCoverage.cal)}}function J3(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.coverableLines," ")}}function X3(e,n){if(1&e&&(y(0,"td",6),V(1,K3,5,3,"ng-container",1)(2,J3,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function eU(e,n){if(1&e&&(X(0),y(1,"div",8),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(2),O(t.clazz.totalLines),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),O(t.clazz.currentHistoricCoverage.tl)}}function tU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.totalLines," ")}}function nU(e,n){if(1&e&&(y(0,"td",6),V(1,eU,5,3,"ng-container",1)(2,tU,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function rU(e,n){if(1&e&&x(0,"div",11),2&e){const t=v(2);In("title",t.translations.history+": "+t.translations.coverage),p("historicCoverages",t.clazz.lineCoverageHistory)("ngClass",_o(3,eu,null!==t.clazz.currentHistoricCoverage))}}function iU(e,n){if(1&e&&(X(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(),Kt("currenthistory ",t.getClassName(t.clazz.coverage,t.clazz.currentHistoricCoverage.lcq),""),f(),U(" ",t.clazz.coveragePercentage," "),f(),p("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.coverageRatioText),f(),U("",t.clazz.currentHistoricCoverage.lcq,"%")}}function oU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.coveragePercentage," ")}}function sU(e,n){if(1&e&&(y(0,"td",9),V(1,rU,1,5,"div",10)(2,iU,5,6,"ng-container",1)(3,oU,2,1,"ng-container",1),_()),2&e){const t=v();p("title",t.clazz.coverageRatioText),f(),p("ngIf",t.clazz.lineCoverageHistory.length>1),f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function aU(e,n){if(1&e&&(y(0,"td",6),x(1,"coverage-bar",12),_()),2&e){const t=v();f(),p("percentage",t.clazz.coverage)}}function lU(e,n){if(1&e&&(X(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(),Kt("currenthistory ",t.getClassName(t.clazz.coveredBranches,t.clazz.currentHistoricCoverage.cb),""),f(),U(" ",t.clazz.coveredBranches," "),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),U(" ",t.clazz.currentHistoricCoverage.cb," ")}}function cU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.coveredBranches," ")}}function uU(e,n){if(1&e&&(y(0,"td",6),V(1,lU,5,6,"ng-container",1)(2,cU,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function dU(e,n){if(1&e&&(X(0),y(1,"div",8),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(2),O(t.clazz.totalBranches),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),O(t.clazz.currentHistoricCoverage.tb)}}function fU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.totalBranches," ")}}function hU(e,n){if(1&e&&(y(0,"td",6),V(1,dU,5,3,"ng-container",1)(2,fU,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function gU(e,n){if(1&e&&x(0,"div",14),2&e){const t=v(2);In("title",t.translations.history+": "+t.translations.branchCoverage),p("historicCoverages",t.clazz.branchCoverageHistory)("ngClass",_o(3,eu,null!==t.clazz.currentHistoricCoverage))}}function pU(e,n){if(1&e&&(X(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(),Kt("currenthistory ",t.getClassName(t.clazz.branchCoverage,t.clazz.currentHistoricCoverage.bcq),""),f(),U(" ",t.clazz.branchCoveragePercentage," "),f(),p("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.branchCoverageRatioText),f(),U("",t.clazz.currentHistoricCoverage.bcq,"%")}}function mU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.branchCoveragePercentage," ")}}function vU(e,n){if(1&e&&(y(0,"td",9),V(1,gU,1,5,"div",13)(2,pU,5,6,"ng-container",1)(3,mU,2,1,"ng-container",1),_()),2&e){const t=v();p("title",t.clazz.branchCoverageRatioText),f(),p("ngIf",t.clazz.branchCoverageHistory.length>1),f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function _U(e,n){if(1&e&&(y(0,"td",6),x(1,"coverage-bar",12),_()),2&e){const t=v();f(),p("percentage",t.clazz.branchCoverage)}}function yU(e,n){if(1&e&&(X(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(),Kt("currenthistory ",t.getClassName(t.clazz.coveredMethods,t.clazz.currentHistoricCoverage.cm),""),f(),U(" ",t.clazz.coveredMethods," "),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),U(" ",t.clazz.currentHistoricCoverage.cm," ")}}function CU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.coveredMethods," ")}}function wU(e,n){if(1&e&&(y(0,"td",6),V(1,yU,5,6,"ng-container",1)(2,CU,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function DU(e,n){if(1&e&&(X(0),y(1,"div",8),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(2),O(t.clazz.totalMethods),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),O(t.clazz.currentHistoricCoverage.tm)}}function bU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.totalMethods," ")}}function EU(e,n){if(1&e&&(y(0,"td",6),V(1,DU,5,3,"ng-container",1)(2,bU,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function IU(e,n){if(1&e&&x(0,"div",16),2&e){const t=v(2);In("title",t.translations.history+": "+t.translations.methodCoverage),p("historicCoverages",t.clazz.methodCoverageHistory)("ngClass",_o(3,eu,null!==t.clazz.currentHistoricCoverage))}}function MU(e,n){if(1&e&&(X(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(),Kt("currenthistory ",t.getClassName(t.clazz.methodCoverage,t.clazz.currentHistoricCoverage.mcq),""),f(),U(" ",t.clazz.methodCoveragePercentage," "),f(),p("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.methodCoverageRatioText),f(),U("",t.clazz.currentHistoricCoverage.mcq,"%")}}function TU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.methodCoveragePercentage," ")}}function SU(e,n){if(1&e&&(y(0,"td",9),V(1,IU,1,5,"div",15)(2,MU,5,6,"ng-container",1)(3,TU,2,1,"ng-container",1),_()),2&e){const t=v();p("title",t.clazz.methodCoverageRatioText),f(),p("ngIf",t.clazz.methodCoverageHistory.length>1),f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function NU(e,n){if(1&e&&(y(0,"td",6),x(1,"coverage-bar",12),_()),2&e){const t=v();f(),p("percentage",t.clazz.methodCoverage)}}function xU(e,n){if(1&e&&(X(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(),Kt("currenthistory ",t.getClassName(t.clazz.fullyCoveredMethods,t.clazz.currentHistoricCoverage.fcm),""),f(),U(" ",t.clazz.fullyCoveredMethods," "),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),U(" ",t.clazz.currentHistoricCoverage.fcm," ")}}function OU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.fullyCoveredMethods," ")}}function AU(e,n){if(1&e&&(y(0,"td",6),V(1,xU,5,6,"ng-container",1)(2,OU,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function RU(e,n){if(1&e&&(X(0),y(1,"div",8),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(2),O(t.clazz.totalMethods),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),O(t.clazz.currentHistoricCoverage.tm)}}function kU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.totalMethods," ")}}function FU(e,n){if(1&e&&(y(0,"td",6),V(1,RU,5,3,"ng-container",1)(2,kU,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function LU(e,n){if(1&e&&x(0,"div",18),2&e){const t=v(2);In("title",t.translations.history+": "+t.translations.fullMethodCoverage),p("historicCoverages",t.clazz.methodFullCoverageHistory)("ngClass",_o(3,eu,null!==t.clazz.currentHistoricCoverage))}}function PU(e,n){if(1&e&&(X(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(),Kt("currenthistory ",t.getClassName(t.clazz.methodFullCoverage,t.clazz.currentHistoricCoverage.mfcq),""),f(),U(" ",t.clazz.methodFullCoveragePercentage," "),f(),p("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.methodFullCoverageRatioText),f(),U("",t.clazz.currentHistoricCoverage.mfcq,"%")}}function VU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.methodFullCoveragePercentage," ")}}function HU(e,n){if(1&e&&(y(0,"td",9),V(1,LU,1,5,"div",17)(2,PU,5,6,"ng-container",1)(3,VU,2,1,"ng-container",1),_()),2&e){const t=v();p("title",t.clazz.methodFullCoverageRatioText),f(),p("ngIf",t.clazz.methodFullCoverageHistory.length>1),f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function BU(e,n){if(1&e&&(y(0,"td",6),x(1,"coverage-bar",12),_()),2&e){const t=v();f(),p("percentage",t.clazz.methodFullCoverage)}}function jU(e,n){if(1&e&&(y(0,"td",6),b(1),_()),2&e){const t=n.$implicit,r=v();f(),O(r.clazz.metrics[t.abbreviation])}}let UU=(()=>{class e{constructor(){this.translations={},this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.methodFullCoverageAvailable=!1,this.visibleMetrics=[],this.historyComparisionDate=""}getClassName(t,r){return t>r?"lightgreen":t({"icon-up-dir_active":e,"icon-down-dir_active":n,"icon-up-down-dir":t});function $U(e,n){if(1&e){const t=ge();y(0,"popup",30),tt("visibleChange",function(i){B(t);const o=v(2);return be(o.popupVisible,i)||(o.popupVisible=i),j(i)})("showLineCoverageChange",function(i){B(t);const o=v(2);return be(o.settings.showLineCoverage,i)||(o.settings.showLineCoverage=i),j(i)})("showBranchCoverageChange",function(i){B(t);const o=v(2);return be(o.settings.showBranchCoverage,i)||(o.settings.showBranchCoverage=i),j(i)})("showMethodCoverageChange",function(i){B(t);const o=v(2);return be(o.settings.showMethodCoverage,i)||(o.settings.showMethodCoverage=i),j(i)})("showMethodFullCoverageChange",function(i){B(t);const o=v(2);return be(o.settings.showFullMethodCoverage,i)||(o.settings.showFullMethodCoverage=i),j(i)})("visibleMetricsChange",function(i){B(t);const o=v(2);return be(o.settings.visibleMetrics,i)||(o.settings.visibleMetrics=i),j(i)}),_()}if(2&e){const t=v(2);Qe("visible",t.popupVisible),p("translations",t.translations)("branchCoverageAvailable",t.branchCoverageAvailable)("methodCoverageAvailable",t.methodCoverageAvailable)("metrics",t.metrics),Qe("showLineCoverage",t.settings.showLineCoverage)("showBranchCoverage",t.settings.showBranchCoverage)("showMethodCoverage",t.settings.showMethodCoverage)("showMethodFullCoverage",t.settings.showFullMethodCoverage)("visibleMetrics",t.settings.visibleMetrics)}}function zU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),O(t.translations.noGrouping)}}function GU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),O(t.translations.byAssembly)}}function qU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),O(t.translations.byNamespace+" "+t.settings.grouping)}}function WU(e,n){if(1&e&&(y(0,"option",34),b(1),_()),2&e){const t=n.$implicit;p("value",t),f(),O(t)}}function ZU(e,n){1&e&&x(0,"br")}function QU(e,n){if(1&e&&(y(0,"option",44),b(1),_()),2&e){const t=v(4);f(),U(" ",t.translations.branchCoverageIncreaseOnly," ")}}function YU(e,n){if(1&e&&(y(0,"option",45),b(1),_()),2&e){const t=v(4);f(),U(" ",t.translations.branchCoverageDecreaseOnly," ")}}function KU(e,n){if(1&e&&(y(0,"option",46),b(1),_()),2&e){const t=v(4);f(),U(" ",t.translations.methodCoverageIncreaseOnly," ")}}function JU(e,n){if(1&e&&(y(0,"option",47),b(1),_()),2&e){const t=v(4);f(),U(" ",t.translations.methodCoverageDecreaseOnly," ")}}function XU(e,n){if(1&e&&(y(0,"option",48),b(1),_()),2&e){const t=v(4);f(),U(" ",t.translations.fullMethodCoverageIncreaseOnly," ")}}function e$(e,n){if(1&e&&(y(0,"option",49),b(1),_()),2&e){const t=v(4);f(),U(" ",t.translations.fullMethodCoverageDecreaseOnly," ")}}function t$(e,n){if(1&e){const t=ge();y(0,"div")(1,"select",31),tt("ngModelChange",function(i){B(t);const o=v(3);return be(o.settings.historyComparisionType,i)||(o.settings.historyComparisionType=i),j(i)}),y(2,"option",32),b(3),_(),y(4,"option",35),b(5),_(),y(6,"option",36),b(7),_(),y(8,"option",37),b(9),_(),V(10,QU,2,1,"option",38)(11,YU,2,1,"option",39)(12,KU,2,1,"option",40)(13,JU,2,1,"option",41)(14,XU,2,1,"option",42)(15,e$,2,1,"option",43),_()()}if(2&e){const t=v(3);f(),Qe("ngModel",t.settings.historyComparisionType),f(2),O(t.translations.filter),f(2),O(t.translations.allChanges),f(2),O(t.translations.lineCoverageIncreaseOnly),f(2),O(t.translations.lineCoverageDecreaseOnly),f(),p("ngIf",t.branchCoverageAvailable),f(),p("ngIf",t.branchCoverageAvailable),f(),p("ngIf",t.methodCoverageAvailable),f(),p("ngIf",t.methodCoverageAvailable),f(),p("ngIf",t.methodCoverageAvailable),f(),p("ngIf",t.methodCoverageAvailable)}}function n$(e,n){if(1&e){const t=ge();X(0),y(1,"div"),b(2),y(3,"select",31),tt("ngModelChange",function(i){B(t);const o=v(2);return be(o.settings.historyComparisionDate,i)||(o.settings.historyComparisionDate=i),j(i)}),q("ngModelChange",function(){return B(t),j(v(2).updateCurrentHistoricCoverage())}),y(4,"option",32),b(5),_(),V(6,WU,2,2,"option",33),_()(),V(7,ZU,1,0,"br",0)(8,t$,16,11,"div",0),ee()}if(2&e){const t=v(2);f(2),U(" ",t.translations.compareHistory," "),f(),Qe("ngModel",t.settings.historyComparisionDate),f(2),O(t.translations.date),f(),p("ngForOf",t.historicCoverageExecutionTimes),f(),p("ngIf",""!==t.settings.historyComparisionDate),f(),p("ngIf",""!==t.settings.historyComparisionDate)}}function r$(e,n){1&e&&x(0,"col",50)}function i$(e,n){1&e&&x(0,"col",51)}function o$(e,n){1&e&&x(0,"col",52)}function s$(e,n){1&e&&x(0,"col",53)}function a$(e,n){1&e&&x(0,"col",54)}function l$(e,n){1&e&&x(0,"col",55)}function c$(e,n){1&e&&x(0,"col",50)}function u$(e,n){1&e&&x(0,"col",53)}function d$(e,n){1&e&&x(0,"col",54)}function f$(e,n){1&e&&x(0,"col",55)}function h$(e,n){1&e&&x(0,"col",50)}function g$(e,n){1&e&&x(0,"col",53)}function p$(e,n){1&e&&x(0,"col",54)}function m$(e,n){1&e&&x(0,"col",55)}function v$(e,n){1&e&&x(0,"col",50)}function _$(e,n){1&e&&x(0,"col",53)}function y$(e,n){1&e&&x(0,"col",54)}function C$(e,n){1&e&&x(0,"col",55)}function w$(e,n){1&e&&x(0,"col",55)}function D$(e,n){if(1&e&&(y(0,"th",56),b(1),_()),2&e){const t=v(2);f(),O(t.translations.coverage)}}function b$(e,n){if(1&e&&(y(0,"th",57),b(1),_()),2&e){const t=v(2);f(),O(t.translations.branchCoverage)}}function E$(e,n){if(1&e&&(y(0,"th",57),b(1),_()),2&e){const t=v(2);f(),O(t.translations.methodCoverage)}}function I$(e,n){if(1&e&&(y(0,"th",57),b(1),_()),2&e){const t=v(2);f(),O(t.translations.fullMethodCoverage)}}function M$(e,n){if(1&e&&(y(0,"th",58),b(1),_()),2&e){const t=v(2);_t("colspan",t.settings.visibleMetrics.length),f(),O(t.translations.metrics)}}function T$(e,n){if(1&e){const t=ge();y(0,"td",56)(1,"ngx-slider",59),tt("valueChange",function(i){B(t);const o=v(2);return be(o.settings.lineCoverageMin,i)||(o.settings.lineCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const o=v(2);return be(o.settings.lineCoverageMax,i)||(o.settings.lineCoverageMax=i),j(i)}),_()()}if(2&e){const t=v(2);f(),Qe("value",t.settings.lineCoverageMin)("highValue",t.settings.lineCoverageMax),p("options",t.sliderOptions)}}function S$(e,n){if(1&e){const t=ge();y(0,"td",57)(1,"ngx-slider",59),tt("valueChange",function(i){B(t);const o=v(2);return be(o.settings.branchCoverageMin,i)||(o.settings.branchCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const o=v(2);return be(o.settings.branchCoverageMax,i)||(o.settings.branchCoverageMax=i),j(i)}),_()()}if(2&e){const t=v(2);f(),Qe("value",t.settings.branchCoverageMin)("highValue",t.settings.branchCoverageMax),p("options",t.sliderOptions)}}function N$(e,n){if(1&e){const t=ge();y(0,"td",57)(1,"ngx-slider",59),tt("valueChange",function(i){B(t);const o=v(2);return be(o.settings.methodCoverageMin,i)||(o.settings.methodCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const o=v(2);return be(o.settings.methodCoverageMax,i)||(o.settings.methodCoverageMax=i),j(i)}),_()()}if(2&e){const t=v(2);f(),Qe("value",t.settings.methodCoverageMin)("highValue",t.settings.methodCoverageMax),p("options",t.sliderOptions)}}function x$(e,n){if(1&e){const t=ge();y(0,"td",57)(1,"ngx-slider",59),tt("valueChange",function(i){B(t);const o=v(2);return be(o.settings.methodFullCoverageMin,i)||(o.settings.methodFullCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const o=v(2);return be(o.settings.methodFullCoverageMax,i)||(o.settings.methodFullCoverageMax=i),j(i)}),_()()}if(2&e){const t=v(2);f(),Qe("value",t.settings.methodFullCoverageMin)("highValue",t.settings.methodFullCoverageMax),p("options",t.sliderOptions)}}function O$(e,n){1&e&&x(0,"td",58),2&e&&_t("colspan",v(2).settings.visibleMetrics.length)}function A$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("covered",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"covered"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered"!==t.settings.sortBy)),f(),O(t.translations.covered)}}function R$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("uncovered",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"uncovered"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"uncovered"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"uncovered"!==t.settings.sortBy)),f(),O(t.translations.uncovered)}}function k$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("coverable",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"coverable"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"coverable"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"coverable"!==t.settings.sortBy)),f(),O(t.translations.coverable)}}function F$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("total",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"total"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total"!==t.settings.sortBy)),f(),O(t.translations.total)}}function L$(e,n){if(1&e){const t=ge();y(0,"th",61)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("coverage",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"coverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"coverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"coverage"!==t.settings.sortBy)),f(),O(t.translations.percentage)}}function P$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("covered_branches",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"covered_branches"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered_branches"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered_branches"!==t.settings.sortBy)),f(),O(t.translations.covered)}}function V$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("total_branches",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"total_branches"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_branches"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_branches"!==t.settings.sortBy)),f(),O(t.translations.total)}}function H$(e,n){if(1&e){const t=ge();y(0,"th",61)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("branchcoverage",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"branchcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"branchcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"branchcoverage"!==t.settings.sortBy)),f(),O(t.translations.percentage)}}function B$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("covered_methods",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"covered_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered_methods"!==t.settings.sortBy)),f(),O(t.translations.covered)}}function j$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("total_methods",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"total_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_methods"!==t.settings.sortBy)),f(),O(t.translations.total)}}function U$(e,n){if(1&e){const t=ge();y(0,"th",61)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("methodcoverage",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"methodcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"methodcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"methodcoverage"!==t.settings.sortBy)),f(),O(t.translations.percentage)}}function $$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("fullycovered_methods",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"fullycovered_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"fullycovered_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"fullycovered_methods"!==t.settings.sortBy)),f(),O(t.translations.covered)}}function z$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("total_methods",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"total_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_methods"!==t.settings.sortBy)),f(),O(t.translations.total)}}function G$(e,n){if(1&e){const t=ge();y(0,"th",61)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("methodfullcoverage",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"methodfullcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"methodfullcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"methodfullcoverage"!==t.settings.sortBy)),f(),O(t.translations.percentage)}}function q$(e,n){if(1&e){const t=ge();y(0,"th")(1,"a",3),q("click",function(i){const o=B(t).$implicit;return j(v(2).updateSorting(o.abbreviation,i))}),x(2,"i",26),b(3),_(),y(4,"a",62),x(5,"i",63),_()()}if(2&e){const t=n.$implicit,r=v(2);f(2),p("ngClass",Fe(3,ut,r.settings.sortBy===t.abbreviation&&"asc"===r.settings.sortOrder,r.settings.sortBy===t.abbreviation&&"desc"===r.settings.sortOrder,r.settings.sortBy!==t.abbreviation)),f(),O(t.name),f(),In("href",t.explanationUrl,ir)}}function W$(e,n){if(1&e&&x(0,"tr",65),2&e){const t=v().$implicit,r=v(2);p("element",t)("collapsed",t.collapsed)("lineCoverageAvailable",r.settings.showLineCoverage)("branchCoverageAvailable",r.branchCoverageAvailable&&r.settings.showBranchCoverage)("methodCoverageAvailable",r.methodCoverageAvailable&&r.settings.showMethodCoverage)("methodFullCoverageAvailable",r.methodCoverageAvailable&&r.settings.showFullMethodCoverage)("visibleMetrics",r.settings.visibleMetrics)}}function Z$(e,n){if(1&e&&x(0,"tr",67),2&e){const t=v().$implicit,r=v(3);p("clazz",t)("translations",r.translations)("lineCoverageAvailable",r.settings.showLineCoverage)("branchCoverageAvailable",r.branchCoverageAvailable&&r.settings.showBranchCoverage)("methodCoverageAvailable",r.methodCoverageAvailable&&r.settings.showMethodCoverage)("methodFullCoverageAvailable",r.methodCoverageAvailable&&r.settings.showFullMethodCoverage)("visibleMetrics",r.settings.visibleMetrics)("historyComparisionDate",r.settings.historyComparisionDate)}}function Q$(e,n){if(1&e&&(X(0),V(1,Z$,1,8,"tr",66),ee()),2&e){const t=n.$implicit,r=v().$implicit,i=v(2);f(),p("ngIf",!r.collapsed&&t.visible(i.settings))}}function Y$(e,n){if(1&e&&x(0,"tr",70),2&e){const t=v().$implicit,r=v(5);p("clazz",t)("translations",r.translations)("lineCoverageAvailable",r.settings.showLineCoverage)("branchCoverageAvailable",r.branchCoverageAvailable&&r.settings.showBranchCoverage)("methodCoverageAvailable",r.methodCoverageAvailable&&r.settings.showMethodCoverage)("methodFullCoverageAvailable",r.methodCoverageAvailable&&r.settings.showFullMethodCoverage)("visibleMetrics",r.settings.visibleMetrics)("historyComparisionDate",r.settings.historyComparisionDate)}}function K$(e,n){if(1&e&&(X(0),V(1,Y$,1,8,"tr",69),ee()),2&e){const t=n.$implicit,r=v(2).$implicit,i=v(3);f(),p("ngIf",!r.collapsed&&t.visible(i.settings))}}function J$(e,n){if(1&e&&(X(0),x(1,"tr",68),V(2,K$,2,1,"ng-container",29),ee()),2&e){const t=v().$implicit,r=v(3);f(),p("element",t)("collapsed",t.collapsed)("lineCoverageAvailable",r.settings.showLineCoverage)("branchCoverageAvailable",r.branchCoverageAvailable&&r.settings.showBranchCoverage)("methodCoverageAvailable",r.methodCoverageAvailable&&r.settings.showMethodCoverage)("methodFullCoverageAvailable",r.methodCoverageAvailable&&r.settings.showFullMethodCoverage)("visibleMetrics",r.settings.visibleMetrics),f(),p("ngForOf",t.classes)}}function X$(e,n){if(1&e&&(X(0),V(1,J$,3,8,"ng-container",0),ee()),2&e){const t=n.$implicit,r=v().$implicit,i=v(2);f(),p("ngIf",!r.collapsed&&t.visible(i.settings))}}function ez(e,n){if(1&e&&(X(0),V(1,W$,1,7,"tr",64)(2,Q$,2,1,"ng-container",29)(3,X$,2,1,"ng-container",29),ee()),2&e){const t=n.$implicit,r=v(2);f(),p("ngIf",t.visible(r.settings)),f(),p("ngForOf",t.classes),f(),p("ngForOf",t.subElements)}}function tz(e,n){if(1&e){const t=ge();y(0,"div"),V(1,$U,1,10,"popup",1),y(2,"div",2)(3,"div")(4,"a",3),q("click",function(i){return B(t),j(v().collapseAll(i))}),b(5),_(),b(6," | "),y(7,"a",3),q("click",function(i){return B(t),j(v().expandAll(i))}),b(8),_()(),y(9,"div",4)(10,"span",5),V(11,zU,2,1,"ng-container",0)(12,GU,2,1,"ng-container",0)(13,qU,2,1,"ng-container",0),_(),x(14,"br"),b(15),y(16,"input",6),tt("ngModelChange",function(i){B(t);const o=v();return be(o.settings.grouping,i)||(o.settings.grouping=i),j(i)}),q("ngModelChange",function(){return B(t),j(v().updateCoverageInfo())}),_()(),y(17,"div",4),V(18,n$,9,6,"ng-container",0),_(),y(19,"div",7)(20,"button",8),q("click",function(){return B(t),j(v().popupVisible=!0)}),x(21,"i",9),b(22),_()()(),y(23,"div",10)(24,"table",11)(25,"colgroup"),x(26,"col",12),V(27,r$,1,0,"col",13)(28,i$,1,0,"col",14)(29,o$,1,0,"col",15)(30,s$,1,0,"col",16)(31,a$,1,0,"col",17)(32,l$,1,0,"col",18)(33,c$,1,0,"col",13)(34,u$,1,0,"col",16)(35,d$,1,0,"col",17)(36,f$,1,0,"col",18)(37,h$,1,0,"col",13)(38,g$,1,0,"col",16)(39,p$,1,0,"col",17)(40,m$,1,0,"col",18)(41,v$,1,0,"col",13)(42,_$,1,0,"col",16)(43,y$,1,0,"col",17)(44,C$,1,0,"col",18)(45,w$,1,0,"col",19),_(),y(46,"thead")(47,"tr",20),x(48,"th"),V(49,D$,2,1,"th",21)(50,b$,2,1,"th",22)(51,E$,2,1,"th",22)(52,I$,2,1,"th",22)(53,M$,2,2,"th",23),_(),y(54,"tr",24)(55,"td")(56,"input",25),tt("ngModelChange",function(i){B(t);const o=v();return be(o.settings.filter,i)||(o.settings.filter=i),j(i)}),_()(),V(57,T$,2,3,"td",21)(58,S$,2,3,"td",22)(59,N$,2,3,"td",22)(60,x$,2,3,"td",22)(61,O$,1,1,"td",23),_(),y(62,"tr")(63,"th")(64,"a",3),q("click",function(i){return B(t),j(v().updateSorting("name",i))}),x(65,"i",26),b(66),_()(),V(67,A$,4,6,"th",27)(68,R$,4,6,"th",27)(69,k$,4,6,"th",27)(70,F$,4,6,"th",27)(71,L$,4,6,"th",28)(72,P$,4,6,"th",27)(73,V$,4,6,"th",27)(74,H$,4,6,"th",28)(75,B$,4,6,"th",27)(76,j$,4,6,"th",27)(77,U$,4,6,"th",28)(78,$$,4,6,"th",27)(79,z$,4,6,"th",27)(80,G$,4,6,"th",28)(81,q$,6,7,"th",29),_()(),y(82,"tbody"),V(83,ez,4,3,"ng-container",29),_()()()()}if(2&e){const t=v();f(),p("ngIf",t.popupVisible),f(4),O(t.translations.collapseAll),f(3),O(t.translations.expandAll),f(3),p("ngIf",-1===t.settings.grouping),f(),p("ngIf",0===t.settings.grouping),f(),p("ngIf",t.settings.grouping>0),f(2),U(" ",t.translations.grouping," "),f(),p("max",t.settings.groupingMaximum),Qe("ngModel",t.settings.grouping),f(2),p("ngIf",t.historicCoverageExecutionTimes.length>0),f(4),O(t.metrics.length>0?t.translations.selectCoverageTypesAndMetrics:t.translations.selectCoverageTypes),f(5),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),p("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),p("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),p("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),p("ngForOf",t.settings.visibleMetrics),f(4),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),p("ngIf",t.settings.visibleMetrics.length>0),f(3),In("placeholder",t.translations.filter),Qe("ngModel",t.settings.filter),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),p("ngIf",t.settings.visibleMetrics.length>0),f(4),p("ngClass",Fe(60,ut,"name"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"name"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"name"!==t.settings.sortBy)),f(),O(t.translations.name),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),p("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),p("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),p("ngForOf",t.settings.visibleMetrics),f(2),p("ngForOf",t.codeElements)}}let nz=(()=>{class e{constructor(t){this.queryString="",this.historicCoverageExecutionTimes=[],this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.metrics=[],this.codeElements=[],this.translations={},this.popupVisible=!1,this.settings=new r3,this.sliderOptions={floor:0,ceil:100,step:1,ticksArray:[0,10,20,30,40,50,60,70,80,90,100],showTicks:!0},this.window=t.nativeWindow}ngOnInit(){this.historicCoverageExecutionTimes=this.window.historicCoverageExecutionTimes,this.branchCoverageAvailable=this.window.branchCoverageAvailable,this.methodCoverageAvailable=this.window.methodCoverageAvailable,this.metrics=this.window.metrics,this.translations=this.window.translations,jt.maximumDecimalPlacesForCoverageQuotas=this.window.maximumDecimalPlacesForCoverageQuotas;let t=!1;if(void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.coverageInfoSettings)console.log("Coverage info: Restoring from history",this.window.history.state.coverageInfoSettings),t=!0,this.settings=JSON.parse(JSON.stringify(this.window.history.state.coverageInfoSettings));else{let i=0,o=this.window.assemblies;for(let s=0;s-1&&(this.queryString=window.location.href.substring(r)),this.updateCoverageInfo(),t&&this.restoreCollapseState()}onBeforeUnload(){if(this.saveCollapseState(),void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Coverage info: Updating history",this.settings);let t=new dM;null!==window.history.state&&(t=JSON.parse(JSON.stringify(this.window.history.state))),t.coverageInfoSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(t,"")}}updateCoverageInfo(){let t=(new Date).getTime(),r=this.window.assemblies,i=[],o=0;if(0===this.settings.grouping)for(let l=0;l{for(let i=0;i{for(let o=0;ot&&(i[o].collapsed=this.settings.collapseStates[t]),t++,r(i[o].subElements)};r(this.codeElements)}static{this.\u0275fac=function(r){return new(r||e)(T(Xg))}}static{this.\u0275cmp=sn({type:e,selectors:[["coverage-info"]],hostBindings:function(r,i){1&r&&q("beforeunload",function(){return i.onBeforeUnload()},0,El)},standalone:!1,decls:1,vars:1,consts:[[4,"ngIf"],[3,"visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","showMethodFullCoverage","visibleMetrics","visibleChange","showLineCoverageChange","showBranchCoverageChange","showMethodCoverageChange","showMethodFullCoverageChange","visibleMetricsChange",4,"ngIf"],[1,"customizebox"],["href","#",3,"click"],[1,"col-center"],[1,"slider-label"],["type","range","step","1","min","-1",3,"ngModelChange","max","ngModel"],[1,"col-right","right"],["type","button",3,"click"],[1,"icon-cog"],[1,"table-responsive"],[1,"overview","table-fixed","stripped"],[1,"column-min-200"],["class","column90",4,"ngIf"],["class","column105",4,"ngIf"],["class","column100",4,"ngIf"],["class","column70",4,"ngIf"],["class","column98",4,"ngIf"],["class","column112",4,"ngIf"],["class","column112",4,"ngFor","ngForOf"],[1,"header"],["class","center","colspan","6",4,"ngIf"],["class","center","colspan","4",4,"ngIf"],["class","center",4,"ngIf"],[1,"filterbar"],["type","text",3,"ngModelChange","ngModel","placeholder"],[3,"ngClass"],["class","right",4,"ngIf"],["class","center","colspan","2",4,"ngIf"],[4,"ngFor","ngForOf"],[3,"visibleChange","showLineCoverageChange","showBranchCoverageChange","showMethodCoverageChange","showMethodFullCoverageChange","visibleMetricsChange","visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","showMethodFullCoverage","visibleMetrics"],[3,"ngModelChange","ngModel"],["value",""],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["value","allChanges"],["value","lineCoverageIncreaseOnly"],["value","lineCoverageDecreaseOnly"],["value","branchCoverageIncreaseOnly",4,"ngIf"],["value","branchCoverageDecreaseOnly",4,"ngIf"],["value","methodCoverageIncreaseOnly",4,"ngIf"],["value","methodCoverageDecreaseOnly",4,"ngIf"],["value","fullMethodCoverageIncreaseOnly",4,"ngIf"],["value","fullMethodCoverageDecreaseOnly",4,"ngIf"],["value","branchCoverageIncreaseOnly"],["value","branchCoverageDecreaseOnly"],["value","methodCoverageIncreaseOnly"],["value","methodCoverageDecreaseOnly"],["value","fullMethodCoverageIncreaseOnly"],["value","fullMethodCoverageDecreaseOnly"],[1,"column90"],[1,"column105"],[1,"column100"],[1,"column70"],[1,"column98"],[1,"column112"],["colspan","6",1,"center"],["colspan","4",1,"center"],[1,"center"],[3,"valueChange","highValueChange","value","highValue","options"],[1,"right"],["colspan","2",1,"center"],["target","_blank",3,"href"],[1,"icon-info-circled"],["codeelement-row","",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics",4,"ngIf"],["codeelement-row","",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics"],["class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics","historyComparisionDate",4,"ngIf"],["class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics","historyComparisionDate"],["codeelement-row","",1,"namespace",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics"],["class","namespace","class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics","historyComparisionDate",4,"ngIf"],["class-row","",1,"namespace",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics","historyComparisionDate"]],template:function(r,i){1&r&&V(0,tz,84,64,"div",0),2&r&&p("ngIf",i.codeElements.length>0)},dependencies:[Do,ci,zn,qg,Zg,na,Ug,la,jc,aa,uM,g3,H3,UU],encapsulation:2})}}return e})();class rz{constructor(){this.assembly="",this.numberOfRiskHotspots=10,this.filter="",this.sortBy="",this.sortOrder="asc"}}const tu=(e,n,t)=>({"icon-up-dir_active":e,"icon-down-dir_active":n,"icon-up-down-dir":t}),iz=(e,n)=>({lightred:e,lightgreen:n});function oz(e,n){if(1&e&&(y(0,"option",16),b(1),_()),2&e){const t=n.$implicit;p("value",t),f(),O(t)}}function sz(e,n){if(1&e&&(y(0,"span"),b(1),_()),2&e){const t=v(2);f(),O(t.translations.top)}}function az(e,n){1&e&&(y(0,"option",23),b(1,"20"),_())}function lz(e,n){1&e&&(y(0,"option",24),b(1,"50"),_())}function cz(e,n){1&e&&(y(0,"option",25),b(1,"100"),_())}function uz(e,n){if(1&e&&(y(0,"option",16),b(1),_()),2&e){const t=v(3);p("value",t.totalNumberOfRiskHotspots),f(),O(t.translations.all)}}function dz(e,n){if(1&e){const t=ge();y(0,"select",17),tt("ngModelChange",function(i){B(t);const o=v(2);return be(o.settings.numberOfRiskHotspots,i)||(o.settings.numberOfRiskHotspots=i),j(i)}),y(1,"option",18),b(2,"10"),_(),V(3,az,2,0,"option",19)(4,lz,2,0,"option",20)(5,cz,2,0,"option",21)(6,uz,2,2,"option",22),_()}if(2&e){const t=v(2);Qe("ngModel",t.settings.numberOfRiskHotspots),f(3),p("ngIf",t.totalNumberOfRiskHotspots>10),f(),p("ngIf",t.totalNumberOfRiskHotspots>20),f(),p("ngIf",t.totalNumberOfRiskHotspots>50),f(),p("ngIf",t.totalNumberOfRiskHotspots>100)}}function fz(e,n){1&e&&x(0,"col",26)}function hz(e,n){if(1&e){const t=ge();y(0,"th")(1,"a",13),q("click",function(i){const o=B(t).index;return j(v(2).updateSorting(""+o,i))}),x(2,"i",14),b(3),_(),y(4,"a",27),x(5,"i",28),_()()}if(2&e){const t=n.$implicit,r=n.index,i=v(2);f(2),p("ngClass",Fe(3,tu,i.settings.sortBy===""+r&&"asc"===i.settings.sortOrder,i.settings.sortBy===""+r&&"desc"===i.settings.sortOrder,i.settings.sortBy!==""+r)),f(),O(t.name),f(),In("href",t.explanationUrl,ir)}}function gz(e,n){if(1&e&&(y(0,"td",32),b(1),_()),2&e){const t=n.$implicit;p("ngClass",xh(2,iz,t.exceeded,!t.exceeded)),f(),O(t.value)}}function pz(e,n){if(1&e&&(y(0,"tr")(1,"td"),b(2),_(),y(3,"td")(4,"a",29),b(5),_()(),y(6,"td",30)(7,"a",29),b(8),_()(),V(9,gz,2,5,"td",31),_()),2&e){const t=n.$implicit,r=v(2);f(2),O(t.assembly),f(2),p("href",t.reportPath+r.queryString,ir),f(),O(t.class),f(),p("title",t.methodName),f(),p("href",t.reportPath+r.queryString+"#file"+t.fileIndex+"_line"+t.line,ir),f(),U(" ",t.methodShortName," "),f(),p("ngForOf",t.metrics)}}function mz(e,n){if(1&e){const t=ge();y(0,"div")(1,"div",1)(2,"div")(3,"select",2),tt("ngModelChange",function(i){B(t);const o=v();return be(o.settings.assembly,i)||(o.settings.assembly=i),j(i)}),q("ngModelChange",function(){return B(t),j(v().updateRiskHotpots())}),y(4,"option",3),b(5),_(),V(6,oz,2,2,"option",4),_()(),y(7,"div",5),V(8,sz,2,1,"span",0)(9,dz,7,5,"select",6),_(),x(10,"div",5),y(11,"div",7)(12,"span"),b(13),_(),y(14,"input",8),tt("ngModelChange",function(i){B(t);const o=v();return be(o.settings.filter,i)||(o.settings.filter=i),j(i)}),q("ngModelChange",function(){return B(t),j(v().updateRiskHotpots())}),_()()(),y(15,"div",9)(16,"table",10)(17,"colgroup"),x(18,"col",11)(19,"col",11)(20,"col",11),V(21,fz,1,0,"col",12),_(),y(22,"thead")(23,"tr")(24,"th")(25,"a",13),q("click",function(i){return B(t),j(v().updateSorting("assembly",i))}),x(26,"i",14),b(27),_()(),y(28,"th")(29,"a",13),q("click",function(i){return B(t),j(v().updateSorting("class",i))}),x(30,"i",14),b(31),_()(),y(32,"th")(33,"a",13),q("click",function(i){return B(t),j(v().updateSorting("method",i))}),x(34,"i",14),b(35),_()(),V(36,hz,6,7,"th",15),_()(),y(37,"tbody"),V(38,pz,10,7,"tr",15),function DD(e,n){const t=Z();let r;const i=e+k;t.firstCreatePass?(r=function HF(e,n){if(n)for(let t=n.length-1;t>=0;t--){const r=n[t];if(e===r.name)return r}}(n,t.pipeRegistry),t.data[i]=r,r.onDestroy&&(t.destroyHooks??=[]).push(i,r.onDestroy)):r=t.data[i];const o=r.factory||(r.factory=Or(r.type)),a=Et(T);try{const l=Za(!1),c=o();return Za(l),function Ih(e,n,t,r){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=r}(t,D(),i,c),c}finally{Et(a)}}(39,"slice"),_()()()()}if(2&e){const t=v();f(3),Qe("ngModel",t.settings.assembly),f(2),O(t.translations.assembly),f(),p("ngForOf",t.assemblies),f(2),p("ngIf",t.totalNumberOfRiskHotspots>10),f(),p("ngIf",t.totalNumberOfRiskHotspots>10),f(4),U("",t.translations.filter," "),f(),Qe("ngModel",t.settings.filter),f(7),p("ngForOf",t.riskHotspotMetrics),f(5),p("ngClass",Fe(20,tu,"assembly"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"assembly"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"assembly"!==t.settings.sortBy)),f(),O(t.translations.assembly),f(3),p("ngClass",Fe(24,tu,"class"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"class"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"class"!==t.settings.sortBy)),f(),O(t.translations.class),f(3),p("ngClass",Fe(28,tu,"method"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"method"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"method"!==t.settings.sortBy)),f(),O(t.translations.method),f(),p("ngForOf",t.riskHotspotMetrics),f(2),p("ngForOf",function bD(e,n,t,r,i){const o=e+k,s=D(),a=function Br(e,n){return e[n]}(s,o);return function Bs(e,n){return e[1].data[n].pure}(s,o)?yD(s,gt(),n,a.transform,t,r,i,a):a.transform(t,r,i)}(39,16,t.riskHotspots,0,t.settings.numberOfRiskHotspots))}}let vz=(()=>{class e{constructor(t){this.queryString="",this.riskHotspotMetrics=[],this.riskHotspots=[],this.totalNumberOfRiskHotspots=0,this.assemblies=[],this.translations={},this.settings=new rz,this.window=t.nativeWindow}ngOnInit(){this.riskHotspotMetrics=this.window.riskHotspotMetrics,this.translations=this.window.translations,void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.riskHotspotsSettings&&(console.log("Risk hotspots: Restoring from history",this.window.history.state.riskHotspotsSettings),this.settings=JSON.parse(JSON.stringify(this.window.history.state.riskHotspotsSettings)));const t=window.location.href.indexOf("?");t>-1&&(this.queryString=window.location.href.substring(t)),this.updateRiskHotpots()}onDonBeforeUnlodad(){if(void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Risk hotspots: Updating history",this.settings);let t=new dM;null!==window.history.state&&(t=JSON.parse(JSON.stringify(this.window.history.state))),t.riskHotspotsSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(t,"")}}updateRiskHotpots(){const t=this.window.riskHotspots;if(this.totalNumberOfRiskHotspots=t.length,0===this.assemblies.length){let s=[];for(let a=0;a0)},dependencies:[Do,ci,zn,qg,Zg,na,la,jc,aa,Xb],encapsulation:2})}}return e})(),_z=(()=>{class e{static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275mod=cr({type:e,bootstrap:[vz,nz]})}static{this.\u0275inj=Nn({providers:[Xg],imports:[hH,hj,n3]})}}return e})();fH().bootstrapModule(_z).catch(e=>console.error(e))}},No=>{No(No.s=332)}]); /* ]]> */ +"use strict";(self.webpackChunkcoverage_app=self.webpackChunkcoverage_app||[]).push([[792],{653:()=>{let Zo;function rr(){return Zo}function un(e){const n=Zo;return Zo=e,n}const uI=Symbol("NotFound");function Rc(e){return e===uI||"\u0275NotFound"===e?.name}Error;let Je=null,sr=!1,kc=1;const We=Symbol("SIGNAL");function z(e){const n=Je;return Je=e,n}const Yo={version:0,lastCleanEpoch:0,dirty:!1,producers:void 0,producersTail:void 0,consumers:void 0,consumersTail:void 0,recomputing:!1,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:"unknown",producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function Vs(e){if(sr)throw new Error("");if(null===Je)return;Je.consumerOnSignalRead(e);const n=Je.producersTail;if(void 0!==n&&n.producer===e)return;let t;const o=Je.recomputing;if(o&&(t=void 0!==n?n.nextProducer:Je.producers,void 0!==t&&t.producer===e))return Je.producersTail=t,void(t.lastReadVersion=e.version);const i=e.consumersTail;if(void 0!==i&&i.consumer===Je&&(!o||function pI(e,n){const t=n.producersTail;if(void 0!==t){let o=n.producers;do{if(o===e)return!0;if(o===t)break;o=o.nextProducer}while(void 0!==o)}return!1}(i,Je)))return;const r=Ko(Je),s={producer:e,consumer:Je,nextProducer:t,prevConsumer:i,lastReadVersion:e.version,nextConsumer:void 0};Je.producersTail=s,void 0!==n?n.nextProducer=s:Je.producers=s,r&&Hg(e,s)}function ar(e){if((!Ko(e)||e.dirty)&&(e.dirty||e.lastCleanEpoch!==kc)){if(!e.producerMustRecompute(e)&&!Bs(e))return void Hs(e);e.producerRecomputeValue(e),Hs(e)}}function Pg(e){if(void 0===e.consumers)return;const n=sr;sr=!0;try{for(let t=e.consumers;void 0!==t;t=t.nextConsumer){const o=t.consumer;o.dirty||fI(o)}}finally{sr=n}}function Vg(){return!1!==Je?.consumerAllowSignalWrites}function fI(e){e.dirty=!0,Pg(e),e.consumerMarkedDirty?.(e)}function Hs(e){e.dirty=!1,e.lastCleanEpoch=kc}function Qo(e){return e&&function hI(e){e.producersTail=void 0,e.recomputing=!0}(e),z(e)}function lr(e,n){z(n),e&&function gI(e){e.recomputing=!1;const n=e.producersTail;let t=void 0!==n?n.nextProducer:e.producers;if(void 0!==t){if(Ko(e))do{t=Pc(t)}while(void 0!==t);void 0!==n?n.nextProducer=void 0:e.producers=void 0}}(e)}function Bs(e){for(let n=e.producers;void 0!==n;n=n.nextProducer){const t=n.producer,o=n.lastReadVersion;if(o!==t.version||(ar(t),o!==t.version))return!0}return!1}function cr(e){if(Ko(e)){let n=e.producers;for(;void 0!==n;)n=Pc(n)}e.producers=void 0,e.producersTail=void 0,e.consumers=void 0,e.consumersTail=void 0}function Hg(e,n){const t=e.consumersTail,o=Ko(e);if(void 0!==t?(n.nextConsumer=t.nextConsumer,t.nextConsumer=n):(n.nextConsumer=void 0,e.consumers=n),n.prevConsumer=t,e.consumersTail=n,!o)for(let i=e.producers;void 0!==i;i=i.nextProducer)Hg(i.producer,i)}function Pc(e){const n=e.producer,t=e.nextProducer,o=e.nextConsumer,i=e.prevConsumer;if(e.nextConsumer=void 0,e.prevConsumer=void 0,void 0!==o?o.prevConsumer=i:n.consumersTail=i,void 0!==i)i.nextConsumer=o;else if(n.consumers=o,!Ko(n)){let r=n.producers;for(;void 0!==r;)r=Pc(r)}return t}function Ko(e){return e.consumerIsAlwaysLive||void 0!==e.consumers}function Hc(e,n){return Object.is(e,n)}const lo=Symbol("UNSET"),Jo=Symbol("COMPUTING"),kn=Symbol("ERRORED"),_I={...Yo,value:lo,dirty:!0,error:null,equal:Hc,kind:"computed",producerMustRecompute:e=>e.value===lo||e.value===Jo,producerRecomputeValue(e){if(e.value===Jo)throw new Error("");const n=e.value;e.value=Jo;const t=Qo(e);let o,i=!1;try{o=e.computation(),z(null),i=n!==lo&&n!==kn&&o!==kn&&e.equal(n,o)}catch(r){o=kn,e.error=r}finally{lr(e,t)}i?e.value=n:(e.value=o,e.version++)}};let Bg=function vI(){throw new Error};function jg(e){Bg(e)}function CI(e,n){const t=Object.create($g);t.value=e,void 0!==n&&(t.equal=n);const o=()=>function bI(e){return Vs(e),e.value}(t);return o[We]=t,[o,s=>Bc(t,s),s=>function Ug(e,n){Vg()||jg(e),Bc(e,n(e.value))}(t,s)]}function Bc(e,n){Vg()||jg(e),e.equal(e.value,n)||(e.value=n,function DI(e){e.version++,function dI(){kc++}(),Pg(e)}(e))}const $g={...Yo,equal:Hc,value:void 0,kind:"signal"};function ke(e){return"function"==typeof e}function zg(e){const t=e(o=>{Error.call(o),o.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const jc=zg(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((o,i)=>`${i+1}) ${o.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function Us(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class Mt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const r of t)r.remove(this);else t.remove(this);const{initialTeardown:o}=this;if(ke(o))try{o()}catch(r){n=r instanceof jc?r.errors:[r]}const{_finalizers:i}=this;if(i){this._finalizers=null;for(const r of i)try{qg(r)}catch(s){n=n??[],s instanceof jc?n=[...n,...s.errors]:n.push(s)}}if(n)throw new jc(n)}}add(n){var t;if(n&&n!==this)if(this.closed)qg(n);else{if(n instanceof Mt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&Us(t,n)}remove(n){const{_finalizers:t}=this;t&&Us(t,n),n instanceof Mt&&n._removeParent(this)}}Mt.EMPTY=(()=>{const e=new Mt;return e.closed=!0,e})();const Gg=Mt.EMPTY;function Wg(e){return e instanceof Mt||e&&"closed"in e&&ke(e.remove)&&ke(e.add)&&ke(e.unsubscribe)}function qg(e){ke(e)?e():e.unsubscribe()}const co={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},$s={setTimeout(e,n,...t){const{delegate:o}=$s;return o?.setTimeout?o.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=$s;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Zg(e){$s.setTimeout(()=>{const{onUnhandledError:n}=co;if(!n)throw e;n(e)})}function Yg(){}const wI=Uc("C",void 0,void 0);function Uc(e,n,t){return{kind:e,value:n,error:t}}let uo=null;function zs(e){if(co.useDeprecatedSynchronousErrorHandling){const n=!uo;if(n&&(uo={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:o}=uo;if(uo=null,t)throw o}}else e()}class $c extends Mt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Wg(n)&&n.add(this)):this.destination=NI}static create(n,t,o){return new Gc(n,t,o)}next(n){this.isStopped?Wc(function MI(e){return Uc("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?Wc(function EI(e){return Uc("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Wc(wI,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const TI=Function.prototype.bind;function zc(e,n){return TI.call(e,n)}class SI{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(o){Gs(o)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(o){Gs(o)}else Gs(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){Gs(t)}}}class Gc extends $c{constructor(n,t,o){let i;if(super(),ke(n)||!n)i={next:n??void 0,error:t??void 0,complete:o??void 0};else{let r;this&&co.useDeprecatedNextContext?(r=Object.create(n),r.unsubscribe=()=>this.unsubscribe(),i={next:n.next&&zc(n.next,r),error:n.error&&zc(n.error,r),complete:n.complete&&zc(n.complete,r)}):i=n}this.destination=new SI(i)}}function Gs(e){co.useDeprecatedSynchronousErrorHandling?function II(e){co.useDeprecatedSynchronousErrorHandling&&uo&&(uo.errorThrown=!0,uo.error=e)}(e):Zg(e)}function Wc(e,n){const{onStoppedNotification:t}=co;t&&$s.setTimeout(()=>t(e,n))}const NI={closed:!0,next:Yg,error:function AI(e){throw e},complete:Yg},qc="function"==typeof Symbol&&Symbol.observable||"@@observable";function Zc(e){return e}let ht=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const o=new e;return o.source=this,o.operator=t,o}subscribe(t,o,i){const r=function xI(e){return e&&e instanceof $c||function OI(e){return e&&ke(e.next)&&ke(e.error)&&ke(e.complete)}(e)&&Wg(e)}(t)?t:new Gc(t,o,i);return zs(()=>{const{operator:s,source:a}=this;r.add(s?s.call(r,a):a?this._subscribe(r):this._trySubscribe(r))}),r}_trySubscribe(t){try{return this._subscribe(t)}catch(o){t.error(o)}}forEach(t,o){return new(o=Kg(o))((i,r)=>{const s=new Gc({next:a=>{try{t(a)}catch(l){r(l),s.unsubscribe()}},error:r,complete:i});this.subscribe(s)})}_subscribe(t){var o;return null===(o=this.source)||void 0===o?void 0:o.subscribe(t)}[qc](){return this}pipe(...t){return function Qg(e){return 0===e.length?Zc:1===e.length?e[0]:function(t){return e.reduce((o,i)=>i(o),t)}}(t)(this)}toPromise(t){return new(t=Kg(t))((o,i)=>{let r;this.subscribe(s=>r=s,s=>i(s),()=>o(r))})}}return e.create=n=>new e(n),e})();function Kg(e){var n;return null!==(n=e??co.Promise)&&void 0!==n?n:Promise}const RI=zg(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Xt=(()=>{class e extends ht{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const o=new Jg(this,this);return o.operator=t,o}_throwIfClosed(){if(this.closed)throw new RI}next(t){zs(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const o of this.currentObservers)o.next(t)}})}error(t){zs(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:o}=this;for(;o.length;)o.shift().error(t)}})}complete(){zs(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:o,isStopped:i,observers:r}=this;return o||i?Gg:(this.currentObservers=null,r.push(t),new Mt(()=>{this.currentObservers=null,Us(r,t)}))}_checkFinalizedStatuses(t){const{hasError:o,thrownError:i,isStopped:r}=this;o?t.error(i):r&&t.complete()}asObservable(){const t=new ht;return t.source=this,t}}return e.create=(n,t)=>new Jg(n,t),e})();class Jg extends Xt{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,o;null===(o=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===o||o.call(t,n)}error(n){var t,o;null===(o=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===o||o.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,o;return null!==(o=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==o?o:Gg}}class kI extends Xt{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:o}=this;if(n)throw t;return this._throwIfClosed(),o}next(n){super.next(this._value=n)}}const ep="https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss";class T extends Error{code;constructor(n,t){super(function en(e,n){return`${function FI(e){return`NG0${Math.abs(e)}`}(e)}${n?": "+n:""}`}(n,t)),this.code=n}}const Ie=globalThis;function se(e){for(let n in e)if(e[n]===se)return n;throw Error("")}function LI(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function gt(e){if("string"==typeof e)return e;if(Array.isArray(e))return`[${e.map(gt).join(", ")}]`;if(null==e)return""+e;const n=e.overriddenName||e.name;if(n)return`${n}`;const t=e.toString();if(null==t)return""+t;const o=t.indexOf("\n");return o>=0?t.slice(0,o):t}function Qc(e,n){return e?n?`${e} ${n}`:e:n||""}const PI=se({__forward_ref__:se});function pe(e){return e.__forward_ref__=pe,e.toString=function(){return gt(this())},e}function Q(e){return Ws(e)?e():e}function Ws(e){return"function"==typeof e&&e.hasOwnProperty(PI)&&e.__forward_ref__===pe}function X(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function dn(e){return{providers:e.providers||[],imports:e.imports||[]}}function qs(e){return function $I(e,n){return e.hasOwnProperty(n)&&e[n]||null}(e,Ys)}function Zs(e){return e&&e.hasOwnProperty(Kc)?e[Kc]:null}const Ys=se({\u0275prov:se}),Kc=se({\u0275inj:se});class R{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(n,t){this._desc=n,this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=X({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function Xc(e){return e&&!!e.\u0275providers}const eu=se({\u0275cmp:se}),YI=se({\u0275dir:se}),QI=se({\u0275pipe:se}),tp=se({\u0275mod:se}),ho=se({\u0275fac:se}),fr=se({__NG_ELEMENT_ID__:se}),np=se({__NG_ENV_ID__:se});function Z(e){return"string"==typeof e?e:null==e?"":String(e)}const tu=se({ngErrorCode:se}),op=se({ngErrorMessage:se}),hr=se({ngTokenPath:se});function nu(e,n){return ip("",-200,n)}function ou(e,n){throw new T(-201,!1)}function ip(e,n,t){const o=new T(n,e);return o[tu]=n,o[op]=e,t&&(o[hr]=t),o}let iu;function rp(){return iu}function pt(e){const n=iu;return iu=e,n}function sp(e,n,t){const o=qs(e);return o&&"root"==o.providedIn?void 0===o.value?o.value=o.factory():o.value:8&t?null:void 0!==n?n:void ou()}const go={};class nT{injector;constructor(n){this.injector=n}retrieve(n,t){const o=gr(t)||0;try{return this.injector.get(n,8&o?null:go,o)}catch(i){if(Rc(i))return i;throw i}}}function oT(e,n=0){const t=rr();if(void 0===t)throw new T(-203,!1);if(null===t)return sp(e,void 0,n);{const o=function iT(e){return{optional:!!(8&e),host:!!(1&e),self:!!(2&e),skipSelf:!!(4&e)}}(n),i=t.retrieve(e,o);if(Rc(i)){if(o.optional)return null;throw i}return i}}function te(e,n=0){return(rp()||oT)(Q(e),n)}function F(e,n){return te(e,gr(n))}function gr(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function su(e){const n=[];for(let t=0;tArray.isArray(t)?Xo(t,n):n(t))}function lp(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function Ks(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function Xs(e,n,t){let o=mr(e,n);return o>=0?e[1|o]=t:(o=~o,function up(e,n,t,o){let i=e.length;if(i==n)e.push(t,o);else if(1===i)e.push(o,e[0]),e[0]=t;else{for(i--,e.push(e[i-1],e[i]);i>n;)e[i]=e[i-2],i--;e[n]=t,e[n+1]=o}}(e,o,n,t)),o}function au(e,n){const t=mr(e,n);if(t>=0)return e[1|t]}function mr(e,n){return function aT(e,n,t){let o=0,i=e.length>>t;for(;i!==o;){const r=o+(i-o>>1),s=e[r<n?i=r:o=r+1}return~(i<{t.push(s)};return Xo(n,s=>{const a=s;ta(a,r,[],o)&&(i||=[],i.push(a))}),void 0!==i&&hp(i,r),t}function hp(e,n){for(let t=0;t{n(r,o)})}}function ta(e,n,t,o){if(!(e=Q(e)))return!1;let i=null,r=Zs(e);const s=!r&&le(e);if(r||s){if(s&&!s.standalone)return!1;i=e}else{const l=e.ngModule;if(r=Zs(l),!r)return!1;i=l}const a=o.has(i);if(s){if(a)return!1;if(o.add(i),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)ta(c,n,t,o)}}else{if(!r)return!1;{if(null!=r.imports&&!a){let c;o.add(i);try{Xo(r.imports,u=>{ta(u,n,t,o)&&(c||=[],c.push(u))})}finally{}void 0!==c&&hp(c,n)}if(!a){const c=po(i)||(()=>new i);n({provide:i,useFactory:c,deps:_e},i),n({provide:lu,useValue:i,multi:!0},i),n({provide:mo,useValue:()=>te(i),multi:!0},i)}const l=r.providers;if(null!=l&&!a){const c=e;du(l,u=>{n(u,c)})}}}return i!==e&&void 0!==e.providers}function du(e,n){for(let t of e)Xc(t)&&(t=t.\u0275providers),Array.isArray(t)?du(t,n):n(t)}const uT=se({provide:String,useValue:se});function fu(e){return null!==e&&"object"==typeof e&&uT in e}function fn(e){return"function"==typeof e}const hu=new R(""),na={},_p={};let gu;function pu(){return void 0===gu&&(gu=new ea),gu}class Lt{}class _o extends Lt{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(n,t,o,i){super(),this.parent=t,this.source=o,this.scopes=i,_u(n,s=>this.processProvider(s)),this.records.set(dp,ei(void 0,this)),i.has("environment")&&this.records.set(Lt,ei(void 0,this));const r=this.records.get(hu);null!=r&&"string"==typeof r.value&&this.scopes.add(r.value),this.injectorDefTypes=new Set(this.get(lu,_e,{self:!0}))}retrieve(n,t){const o=gr(t)||0;try{return this.get(n,go,o)}catch(i){if(Rc(i))return i;throw i}}destroy(){vr(this),this._destroyed=!0;const n=z(null);try{for(const o of this._ngOnDestroyHooks)o.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const o of t)o()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),z(n)}}onDestroy(n){return vr(this),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){vr(this);const t=un(this),o=pt(void 0);try{return n()}finally{un(t),pt(o)}}get(n,t=go,o){if(vr(this),n.hasOwnProperty(np))return n[np](this);const i=gr(o),s=un(this),a=pt(void 0);try{if(!(4&i)){let c=this.records.get(n);if(void 0===c){const u=function pT(e){return"function"==typeof e||"object"==typeof e&&"InjectionToken"===e.ngMetadataName}(n)&&qs(n);c=u&&this.injectableDefInScope(u)?ei(mu(n),na):null,this.records.set(n,c)}if(null!=c)return this.hydrate(n,c,i)}return(2&i?pu():this.parent).get(n,t=8&i&&t===go?null:t)}catch(l){const c=function eT(e){return e[tu]}(l);throw-200===c||-201===c?new T(c,null):l}finally{pt(a),un(s)}}resolveInjectorInitializers(){const n=z(null),t=un(this),o=pt(void 0);try{const r=this.get(mo,_e,{self:!0});for(const s of r)s()}finally{un(t),pt(o),z(n)}}toString(){const n=[],t=this.records;for(const o of t.keys())n.push(gt(o));return`R3Injector[${n.join(", ")}]`}processProvider(n){let t=fn(n=Q(n))?n:Q(n&&n.provide);const o=function fT(e){return fu(e)?ei(void 0,e.useValue):ei(vp(e),na)}(n);if(!fn(n)&&!0===n.multi){let i=this.records.get(t);i||(i=ei(void 0,na,!0),i.factory=()=>su(i.multi),this.records.set(t,i)),t=n,i.multi.push(n)}this.records.set(t,o)}hydrate(n,t,o){const i=z(null);try{if(t.value===_p)throw nu(gt(n));return t.value===na&&(t.value=_p,t.value=t.factory(void 0,o)),"object"==typeof t.value&&t.value&&function gT(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{z(i)}}injectableDefInScope(n){if(!n.providedIn)return!1;const t=Q(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function mu(e){const n=qs(e),t=null!==n?n.factory:po(e);if(null!==t)return t;if(e instanceof R)throw new T(204,!1);if(e instanceof Function)return function dT(e){if(e.length>0)throw new T(204,!1);const t=function zI(e){return(e?.[Ys]??null)||null}(e);return null!==t?()=>t.factory(e):()=>new e}(e);throw new T(204,!1)}function vp(e,n,t){let o;if(fn(e)){const i=Q(e);return po(i)||mu(i)}if(fu(e))o=()=>Q(e.useValue);else if(function pp(e){return!(!e||!e.useFactory)}(e))o=()=>e.useFactory(...su(e.deps||[]));else if(function gp(e){return!(!e||!e.useExisting)}(e))o=(i,r)=>te(Q(e.useExisting),void 0!==r&&8&r?8:void 0);else{const i=Q(e&&(e.useClass||e.provide));if(!function hT(e){return!!e.deps}(e))return po(i)||mu(i);o=()=>new i(...su(e.deps))}return o}function vr(e){if(e.destroyed)throw new T(205,!1)}function ei(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function _u(e,n){for(const t of e)Array.isArray(t)?_u(t,n):t&&Xc(t)?_u(t.\u0275providers,n):n(t)}function yp(e,n){let t;e instanceof _o?(vr(e),t=e):t=new nT(e);const i=un(t),r=pt(void 0);try{return n()}finally{un(i),pt(r)}}function vu(){return void 0!==rp()||null!=rr()}const Y=11,H=27;function Me(e){return Array.isArray(e)&&"object"==typeof e[1]}function st(e){return Array.isArray(e)&&!0===e[1]}function bp(e){return!!(4&e.flags)}function mn(e){return e.componentOffset>-1}function ri(e){return!(1&~e.flags)}function St(e){return!!e.template}function Hn(e){return!!(512&e[2])}function _n(e){return!(256&~e[2])}function $e(e){for(;Array.isArray(e);)e=e[0];return e}function si(e,n){return $e(n[e])}function Le(e,n){return $e(n[e.index])}function ai(e,n){return e.data[n]}function at(e,n){const t=n[e];return Me(t)?t:t[0]}function Du(e){return!(128&~e[2])}function tt(e,n){return null==n?null:e[n]}function Tp(e){e[17]=0}function Sp(e){1024&e[2]||(e[2]|=1024,Du(e)&&li(e))}function sa(e){return!!(9216&e[2]||e[24]?.dirty)}function wu(e){e[10].changeDetectionScheduler?.notify(8),64&e[2]&&(e[2]|=1024),sa(e)&&li(e)}function li(e){e[10].changeDetectionScheduler?.notify(0);let n=vn(e);for(;null!==n&&!(8192&n[2])&&(n[2]|=8192,Du(n));)n=vn(n)}function aa(e,n){if(_n(e))throw new T(911,!1);null===e[21]&&(e[21]=[]),e[21].push(n)}function vn(e){const n=e[3];return st(n)?n[3]:n}function Np(e){return e[7]??=[]}function Op(e){return e.cleanup??=[]}const G={lFrame:Wp(null),bindingsEnabled:!0,skipHydrationRootTNode:null};let Iu=!1;function Tu(){return G.bindingsEnabled}function w(){return G.lFrame.lView}function K(){return G.lFrame.tView}function B(e){return G.lFrame.contextLView=e,e[8]}function j(e){return G.lFrame.contextLView=null,e}function q(){let e=Lp();for(;null!==e&&64===e.type;)e=e.parent;return e}function Lp(){return G.lFrame.currentTNode}function yn(e,n){const t=G.lFrame;t.currentTNode=e,t.isParent=n}function Pp(){return G.lFrame.isParent}function jp(){return Iu}function la(e){const n=Iu;return Iu=e,n}function lt(){const e=G.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function mt(){return G.lFrame.bindingIndex++}function bn(e){const n=G.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function ST(e,n){const t=G.lFrame;t.bindingIndex=t.bindingRootIndex=e,Su(n)}function Su(e){G.lFrame.currentDirectiveIndex=e}function Nu(){return G.lFrame.currentQueryIndex}function ca(e){G.lFrame.currentQueryIndex=e}function NT(e){const n=e[1];return 2===n.type?n.declTNode:1===n.type?e[5]:null}function zp(e,n,t){if(4&t){let i=n,r=e;for(;!(i=i.parent,null!==i||1&t||(i=NT(r),null===i||(r=r[14],10&i.type))););if(null===i)return!1;n=i,e=r}const o=G.lFrame=Gp();return o.currentTNode=n,o.lView=e,!0}function Ou(e){const n=Gp(),t=e[1];G.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function Gp(){const e=G.lFrame,n=null===e?null:e.child;return null===n?Wp(e):n}function Wp(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function qp(){const e=G.lFrame;return G.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const Zp=qp;function xu(){const e=qp();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function qe(){return G.lFrame.selectedIndex}function Do(e){G.lFrame.selectedIndex=e}function on(){const e=G.lFrame;return ai(e.tView,e.selectedIndex)}let Qp=!0;function ua(){return Qp}function Dr(e){Qp=e}function Kp(e,n=null,t=null,o){const i=Jp(e,n,t,o);return i.resolveInjectorInitializers(),i}function Jp(e,n=null,t=null,o,i=new Set){const r=[t||_e,cT(e)];return o=o||("object"==typeof e?void 0:gt(e)),new _o(r,n||pu(),o||null,i)}class Vt{static THROW_IF_NOT_FOUND=go;static NULL=new ea;static create(n,t){if(Array.isArray(n))return Kp({name:""},t,n,"");{const o=n.name??"";return Kp({name:o},n.parent,n.providers,o)}}static \u0275prov=X({token:Vt,providedIn:"any",factory:()=>te(dp)});static __NG_ELEMENT_ID__=-1}const Bn=new R("");let Dn=(()=>class e{static __NG_ELEMENT_ID__=LT;static __NG_ENV_ID__=t=>t})();class Xp extends Dn{_lView;constructor(n){super(),this._lView=n}get destroyed(){return _n(this._lView)}onDestroy(n){const t=this._lView;return aa(t,n),()=>function Eu(e,n){if(null===e[21])return;const t=e[21].indexOf(n);-1!==t&&e[21].splice(t,1)}(t,n)}}function LT(){return new Xp(w())}class ui{_console=console;handleError(n){this._console.error("ERROR",n)}}const wn=new R("",{providedIn:"root",factory:()=>{const e=F(Lt);let n;return t=>{e.destroyed&&!n?setTimeout(()=>{throw t}):(n??=e.get(ui),n.handleError(t))}}}),PT={provide:mo,useValue:()=>{F(ui)},multi:!0};function wo(e,n){const[t,o,i]=CI(e,n?.equal),r=t;return r.set=o,r.update=i,r.asReadonly=Ru.bind(r),r}function Ru(){const e=this[We];if(void 0===e.readonlyFn){const n=()=>this();n[We]=e,e.readonlyFn=n}return e.readonlyFn}function tm(e){return function em(e){return"function"==typeof e&&void 0!==e[We]}(e)&&"function"==typeof e.set}class di{}const nm=new R("",{providedIn:"root",factory:()=>!1}),om=new R(""),im=new R("");let ku=(()=>class e{view;node;constructor(t,o){this.view=t,this.node=o}static __NG_ELEMENT_ID__=HT})();function HT(){return new ku(w(),q())}let Eo=(()=>{class e{taskId=0;pendingTasks=new Set;destroyed=!1;pendingTask=new kI(!1);get hasPendingTasks(){return!this.destroyed&&this.pendingTask.value}get hasPendingTasksObservable(){return this.destroyed?new ht(t=>{t.next(!1),t.complete()}):this.pendingTask}add(){!this.hasPendingTasks&&!this.destroyed&&this.pendingTask.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}has(t){return this.pendingTasks.has(t)}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this.hasPendingTasks&&this.pendingTask.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks&&this.pendingTask.next(!1),this.destroyed=!0,this.pendingTask.unsubscribe()}static \u0275prov=X({token:e,providedIn:"root",factory:()=>new e})}return e})();function wr(...e){}let sm=(()=>{class e{static \u0275prov=X({token:e,providedIn:"root",factory:()=>new BT})}return e})();class BT{dirtyEffectCount=0;queues=new Map;add(n){this.enqueue(n),this.schedule(n)}schedule(n){n.dirty&&this.dirtyEffectCount++}remove(n){const o=this.queues.get(n.zone);o.has(n)&&(o.delete(n),n.dirty&&this.dirtyEffectCount--)}enqueue(n){const t=n.zone;this.queues.has(t)||this.queues.set(t,new Set);const o=this.queues.get(t);o.has(n)||o.add(n)}flush(){for(;this.dirtyEffectCount>0;){let n=!1;for(const[t,o]of this.queues)n||=null===t?this.flushQueue(o):t.run(()=>this.flushQueue(o));n||(this.dirtyEffectCount=0)}}flushQueue(n){let t=!1;for(const o of n)o.dirty&&(this.dirtyEffectCount--,t=!0,o.run());return t}}let am=null;function Er(){return am}class UT{}function Mo(e){return n=>{if(function w0(e){return ke(e?.lift)}(n))return n.lift(function(t){try{return e(t,this)}catch(o){this.error(o)}});throw new TypeError("Unable to lift unknown Observable type")}}function jn(e,n,t,o,i){return new E0(e,n,t,o,i)}class E0 extends $c{constructor(n,t,o,i,r,s){super(n),this.onFinalize=r,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){n.error(l)}}:super._next,this._error=i?function(a){try{i(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=o?function(){try{o()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function Vu(e,n){return Mo((t,o)=>{let i=0;t.subscribe(jn(o,r=>{o.next(e.call(n,r,i++))}))})}function En(e){return{toString:e}.toString()}class P0{previousValue;currentValue;firstChange;constructor(n,t,o){this.previousValue=n,this.currentValue=t,this.firstChange=o}isFirstChange(){return this.firstChange}}function Dm(e,n,t,o){null!==n?n.applyValueToInputSignal(n,o):e[t]=o}const Mn=(()=>{const e=()=>wm;return e.ngInherit=!0,e})();function wm(e){return e.type.prototype.ngOnChanges&&(e.setInput=H0),V0}function V0(){const e=Mm(this),n=e?.current;if(n){const t=e.previous;if(t===tn)e.previous=n;else for(let o in n)t[o]=n[o];e.current=null,this.ngOnChanges(n)}}function H0(e,n,t,o,i){const r=this.declaredInputs[o],s=Mm(e)||function B0(e,n){return e[Em]=n}(e,{previous:tn,current:null}),a=s.current||(s.current={}),l=s.previous,c=l[r];a[r]=new P0(c&&c.currentValue,t,l===tn),Dm(e,n,i,t)}const Em="__ngSimpleChanges__";function Mm(e){return e[Em]||null}const Io=[],he=function(e,n=null,t){for(let o=0;o=o)break}else n[l]<0&&(e[17]+=65536),(a>14>16&&(3&e[2])===n&&(e[2]+=16384,Sm(a,r)):Sm(a,r)}class Nr{factory;name;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(n,t,o,i){this.factory=n,this.name=i,this.canSeeViewProviders=t,this.injectImpl=o}}function Nm(e){return 3===e||4===e||6===e}function Om(e){return 64===e.charCodeAt(0)}function _i(e,n){if(null!==n&&0!==n.length)if(null===e||0===e.length)e=n.slice();else{let t=-1;for(let o=0;on){s=r-1;break}}}for(;r>16}(e),o=n;for(;t>0;)o=o[14],t--;return o}let zu=!0;function _a(e){const n=zu;return zu=e,n}let Q0=0;const rn={};function va(e,n){const t=Fm(e,n);if(-1!==t)return t;const o=n[1];o.firstCreatePass&&(e.injectorIndex=n.length,Gu(o.data,e),Gu(n,null),Gu(o.blueprint,null));const i=ya(e,n),r=e.injectorIndex;if($u(i)){const s=Or(i),a=xr(i,n),l=a[1].data;for(let c=0;c<8;c++)n[r+c]=a[s+c]|l[s+c]}return n[r+8]=i,r}function Gu(e,n){e.push(0,0,0,0,0,0,0,0,n)}function Fm(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function ya(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,o=null,i=n;for(;null!==i;){if(o=Um(i),null===o)return-1;if(t++,i=i[14],-1!==o.injectorIndex)return o.injectorIndex|t<<16}return-1}function Wu(e,n,t){!function K0(e,n,t){let o;"string"==typeof t?o=t.charCodeAt(0)||0:t.hasOwnProperty(fr)&&(o=t[fr]),null==o&&(o=t[fr]=Q0++);const i=255&o;n.data[e+(i>>5)]|=1<=0?255&n:tS:n}(t);if("function"==typeof r){if(!zp(n,e,o))return 1&o?Lm(i,0,o):Pm(n,t,o,i);try{let s;if(s=r(o),null!=s||8&o)return s;ou()}finally{Zp()}}else if("number"==typeof r){let s=null,a=Fm(e,n),l=-1,c=1&o?n[15][5]:null;for((-1===a||4&o)&&(l=-1===a?ya(e,n):n[a+8],-1!==l&&jm(o,!1)?(s=n[1],a=Or(l),n=xr(l,n)):a=-1);-1!==a;){const u=n[1];if(Bm(r,a,u.data)){const d=X0(a,n,t,s,o,c);if(d!==rn)return d}l=n[a+8],-1!==l&&jm(o,n[1].data[a+8]===c)&&Bm(r,a,n)?(s=u,a=Or(l),n=xr(l,n)):a=-1}}return i}function X0(e,n,t,o,i,r){const s=n[1],a=s.data[e+8],u=Ca(a,s,t,null==o?mn(a)&&zu:o!=s&&!!(3&a.type),1&i&&r===a);return null!==u?Rr(n,s,u,a,i):rn}function Ca(e,n,t,o,i){const r=e.providerIndexes,s=n.data,a=1048575&r,l=e.directiveStart,u=r>>20,g=i?a+u:e.directiveEnd;for(let h=o?a:a+u;h=l&&p.type===t)return h}if(i){const h=s[l];if(h&&St(h)&&h.type===t)return l}return null}function Rr(e,n,t,o,i){let r=e[t];const s=n.data;if(r instanceof Nr){const a=r;if(a.resolving)throw function ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():Z(e)}(s[t]),nu();const l=_a(a.canSeeViewProviders);a.resolving=!0;const d=a.injectImpl?pt(a.injectImpl):null;zp(e,o,0);try{r=e[t]=a.factory(void 0,i,s,e,o),n.firstCreatePass&&t>=o.directiveStart&&function z0(e,n,t){const{ngOnChanges:o,ngOnInit:i,ngDoCheck:r}=n.type.prototype;if(o){const s=wm(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}i&&(t.preOrderHooks??=[]).push(0-e,i),r&&((t.preOrderHooks??=[]).push(e,r),(t.preOrderCheckHooks??=[]).push(e,r))}(t,s[t],n)}finally{null!==d&&pt(d),_a(l),a.resolving=!1,Zp()}}return r}function Bm(e,n,t){return!!(t[n+(e>>5)]&1<{const n=e.prototype.constructor,t=n[ho]||qu(n),o=Object.prototype;let i=Object.getPrototypeOf(e.prototype).constructor;for(;i&&i!==o;){const r=i[ho]||qu(i);if(r&&r!==t)return r;i=Object.getPrototypeOf(i)}return r=>new r})}function qu(e){return Ws(e)?()=>{const n=qu(Q(e));return n&&n()}:po(e)}function Um(e){const n=e[1],t=n.type;return 2===t?n.declTNode:1===t?e[5]:null}function uS(){return vi(q(),w())}function vi(e,n){return new At(Le(e,n))}let At=(()=>class e{nativeElement;constructor(t){this.nativeElement=t}static __NG_ELEMENT_ID__=uS})();function qm(e){return e instanceof At?e.nativeElement:e}function dS(){return this._results[Symbol.iterator]()}class fS{_emitDistinctChangesOnly;dirty=!0;_onDirty=void 0;_results=[];_changesDetected=!1;_changes=void 0;length=0;first=void 0;last=void 0;get changes(){return this._changes??=new Xt}constructor(n=!1){this._emitDistinctChangesOnly=n}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,t){return this._results.reduce(n,t)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,t){this.dirty=!1;const o=function Ft(e){return e.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function sT(e,n,t){if(e.length!==n.length)return!1;for(let o=0;oHS}),HS="ng",h_=new R(""),td=new R("",{providedIn:"platform",factory:()=>"unknown"}),g_=new R("",{providedIn:"root",factory:()=>$n().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null}),qS=new R("",{providedIn:"root",factory:()=>!1});function Sa(e){return!(32&~e.flags)}function H_(e,n){const t=e.contentQueries;if(null!==t){const o=z(null);try{for(let i=0;ie,createScript:e=>e,createScriptURL:e=>e})}catch{}return Ra}()?.createHTML(e)||e}function j_(e){return function bd(){if(void 0===ka&&(ka=null,Ie.trustedTypes))try{ka=Ie.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return ka}()?.createHTML(e)||e}class z_{changingThisBreaksApplicationSecurity;constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${ep})`}}function Gn(e){return e instanceof z_?e.changingThisBreaksApplicationSecurity:e}function Hr(e,n){const t=function T1(e){return e instanceof z_&&e.getTypeName()||null}(e);if(null!=t&&t!==n){if("ResourceURL"===t&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${t} (see ${ep})`)}return t===n}class S1{inertDocumentHelper;constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{const t=(new window.DOMParser).parseFromString(wi(n),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(n):(t.firstChild?.remove(),t)}catch{return null}}}class A1{defaultDoc;inertDocument;constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){const t=this.inertDocument.createElement("template");return t.innerHTML=wi(n),t}}const O1=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Dd(e){return(e=String(e)).match(O1)?e:"unsafe:"+e}function Tn(e){const n={};for(const t of e.split(","))n[t]=!0;return n}function Br(...e){const n={};for(const t of e)for(const o in t)t.hasOwnProperty(o)&&(n[o]=!0);return n}const W_=Tn("area,br,col,hr,img,wbr"),q_=Tn("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Z_=Tn("rp,rt"),wd=Br(W_,Br(q_,Tn("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Br(Z_,Tn("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Br(Z_,q_)),Ed=Tn("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Y_=Br(Ed,Tn("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Tn("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),x1=Tn("script,style,template");class R1{sanitizedSomething=!1;buf=[];sanitizeChildren(n){let t=n.firstChild,o=!0,i=[];for(;t;)if(t.nodeType===Node.ELEMENT_NODE?o=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,o&&t.firstChild)i.push(t),t=L1(t);else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=F1(t);if(r){t=r;break}t=i.pop()}return this.buf.join("")}startElement(n){const t=Q_(n).toLowerCase();if(!wd.hasOwnProperty(t))return this.sanitizedSomething=!0,!x1.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const o=n.attributes;for(let i=0;i"),!0}endElement(n){const t=Q_(n).toLowerCase();wd.hasOwnProperty(t)&&!W_.hasOwnProperty(t)&&(this.buf.push(""))}chars(n){this.buf.push(J_(n))}}function F1(e){const n=e.nextSibling;if(n&&e!==n.previousSibling)throw K_(n);return n}function L1(e){const n=e.firstChild;if(n&&function k1(e,n){return(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}(e,n))throw K_(n);return n}function Q_(e){const n=e.nodeName;return"string"==typeof n?n:"FORM"}function K_(e){return new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`)}const P1=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,V1=/([^\#-~ |!])/g;function J_(e){return e.replace(/&/g,"&").replace(P1,function(n){return"&#"+(1024*(n.charCodeAt(0)-55296)+(n.charCodeAt(1)-56320)+65536)+";"}).replace(V1,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}let Fa;function Md(e){return"content"in e&&function B1(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Ei=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Ei||{});function X_(e){const n=jr();return n?j_(n.sanitize(Ei.HTML,e)||""):Hr(e,"HTML")?j_(Gn(e)):function H1(e,n){let t=null;try{Fa=Fa||function G_(e){const n=new A1(e);return function N1(){try{return!!(new window.DOMParser).parseFromString(wi(""),"text/html")}catch{return!1}}()?new S1(n):n}(e);let o=n?String(n):"";t=Fa.getInertBodyElement(o);let i=5,r=o;do{if(0===i)throw new Error("Failed to sanitize html because the input is unstable");i--,o=r,r=t.innerHTML,t=Fa.getInertBodyElement(o)}while(o!==r);return wi((new R1).sanitizeChildren(Md(t)||t))}finally{if(t){const o=Md(t)||t;for(;o.firstChild;)o.firstChild.remove()}}}($n(),Z(e))}function Wn(e){const n=jr();return n?n.sanitize(Ei.URL,e)||"":Hr(e,"URL")?Gn(e):Dd(Z(e))}function jr(){const e=w();return e&&e[10].sanitizer}function Va(e){return e.ownerDocument.defaultView}function sA(e,n,t){let o=e.length;for(;;){const i=e.indexOf(n,t);if(-1===i)return i;if(0===i||e.charCodeAt(i-1)<=32){const r=n.length;if(i+r===o||e.charCodeAt(i+r)<=32)return i}t=i+1}}const cv="ng-template";function aA(e,n,t,o){let i=0;if(o){for(;i-1){let r;for(;++ir?"":i[u+1].toLowerCase(),2&o&&c!==d){if(Wt(o))return!1;s=!0}}}}else{if(!s&&!Wt(o)&&!Wt(l))return!1;if(s&&Wt(l))continue;s=!1,o=l|1&o}}return Wt(o)||s}function Wt(e){return!(1&e)}function uA(e,n,t,o){if(null===n)return-1;let i=0;if(o||!t){let r=!1;for(;i-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&o?i+="."+s:4&o&&(i+=" "+s);else""!==i&&!Wt(s)&&(n+=dv(r,i),i=""),o=s,r=r||!Wt(o);t++}return""!==i&&(n+=dv(r,i)),n}const ce={};function Ha(e,n,t){return e.createElement(n,t)}function So(e,n,t,o,i){e.insertBefore(n,t,o,i)}function hv(e,n,t){e.appendChild(n,t)}function gv(e,n,t,o,i){null!==o?So(e,n,t,o,i):hv(e,n,t)}function Ur(e,n,t,o){e.removeChild(null,n,t,o)}function mv(e,n,t){const{mergedAttrs:o,classes:i,styles:r}=t;null!==o&&function Z0(e,n,t){let o=0;for(;o({queue:new Set,isScheduled:!1})});function Dv(e,n,t,o){const i=e?.[26]?.enter;if(null!==n&&i&&i.has(t.index)){const r=o.get(Gr);for(const s of i.get(t.index).animateFns)r.queue.add(s)}}function Si(e,n,t,o,i,r,s,a){if(null!=i){let l,c=!1;st(i)?l=i:Me(i)&&(c=!0,i=i[0]);const u=$e(i);0===e&&null!==o?(Dv(a,o,r,t),null==s?hv(n,o,u):So(n,o,u,s||null,!0)):1===e&&null!==o?(Dv(a,o,r,t),So(n,o,u,s||null,!0)):2===e?Mv(a,r,t,d=>{Ur(n,u,c,d)}):3===e&&Mv(a,r,t,()=>{n.destroyNode(u)}),null!=l&&function PA(e,n,t,o,i,r,s){const a=o[7];a!==$e(o)&&Si(n,e,t,r,a,i,s);for(let c=10;c=0?o[a]():o[-a].unsubscribe(),s+=2}else t[s].call(o[t[s+1]]);null!==o&&(n[7]=null);const i=n[21];if(null!==i){n[21]=null;for(let s=0;s{if(i.leave&&i.leave.has(n.index)){const s=i.leave.get(n.index),a=[];if(s)for(let l=0;l{e[26].running=void 0,Ti.delete(e),n(!0)}):n(!1)}(e,o)}else e&&Ti.delete(e),o(!1)})):o(!1)}function Vd(e,n,t){return function Iv(e,n,t){let o=n;for(;null!==o&&168&o.type;)o=(n=o).parent;if(null===o)return t[0];if(mn(o)){const{encapsulation:i}=e.data[o.directiveStart+o.componentOffset];if(i===In.None||i===In.Emulated)return null}return Le(o,t)}(e,n.parent,t)}let Av=function Sv(e,n,t){return 40&e.type?Le(e,t):null};function Bd(e,n,t,o){const i=Vd(e,o,n),r=n[Y],a=function Tv(e,n,t){return Av(e,n,t)}(o.parent||n[5],o,n);if(null!=i)if(Array.isArray(t))for(let l=0;lH&&vv(e,n,H,!1),he(s?2:0,i,t),t(o,i)}finally{Do(r),he(s?3:1,i,t)}}function Ga(e,n,t){(function $A(e,n,t){const o=t.directiveStart,i=t.directiveEnd;mn(t)&&function bA(e,n,t){const o=Le(n,e),i=function _v(e){const n=e.tView;return null===n||n.incompleteFirstPass?e.tView=Od(1,null,e.template,e.decls,e.vars,e.directiveDefs,e.pipeDefs,e.viewQuery,e.schemas,e.consts,e.id):n}(t),r=e[10].rendererFactory,s=Rd(e,Ba(e,i,null,xd(t),o,n,null,r.createRenderer(o,t),null,null,null));e[n.index]=s}(n,t,e.data[o+t.componentOffset]),e.firstCreatePass||va(t,n);const r=t.initialInputs;for(let s=o;snull;function Ud(e,n,t,o,i,r){Ya(e,n[1],n,t,o)?mn(e)&&function Fv(e,n){const t=at(n,e);16&t[2]||(t[2]|=64)}(n,e.index):(3&e.type&&(t=function UA(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(t)),function $d(e,n,t,o,i,r){if(3&e.type){const s=Le(e,n);o=null!=r?r(o,e.value||"",t):o,i.setProperty(s,t,o)}}(e,n,t,o,i,r))}function GA(e,n){null!==e.hostBindings&&e.hostBindings(1,n)}function zd(e,n){const t=e.directiveRegistry;let o=null;if(t)for(let i=0;i{li(e.lView)},consumerOnSignalRead(){this.lView[24]=this}},iN={...Yo,consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:e=>{let n=vn(e.lView);for(;n&&!Bv(n[1]);)n=vn(n);n&&Sp(n)},consumerOnSignalRead(){this.lView[24]=this}};function Bv(e){return 2!==e.type}function jv(e){if(null===e[23])return;let n=!0;for(;n;){let t=!1;for(const o of e[23])o.dirty&&(t=!0,null===o.zone||Zone.current===o.zone?o.run():o.zone.run(()=>o.run()));n=t&&!!(8192&e[2])}}function Ka(e,n=0){const o=e[10].rendererFactory;o.begin?.();try{!function sN(e,n){const t=jp();try{la(!0),Wd(e,n);let o=0;for(;sa(e);){if(100===o)throw new T(103,!1);o++,Wd(e,1)}}finally{la(t)}}(e,n)}finally{o.end?.()}}function Uv(e,n,t,o){if(_n(n))return;const i=n[2];Ou(n);let a=!0,l=null,c=null;Bv(e)?(c=function XA(e){return e[24]??function eN(e){const n=Hv.pop()??Object.create(nN);return n.lView=e,n}(e)}(n),l=Qo(c)):null===function Lc(){return Je}()?(a=!1,c=function oN(e){const n=e[24]??Object.create(iN);return n.lView=e,n}(n),l=Qo(c)):n[24]&&(cr(n[24]),n[24]=null);try{Tp(n),function Up(e){return G.lFrame.bindingIndex=e}(e.bindingStartIndex),null!==t&&Rv(e,n,t,2,o);const u=!(3&~i);if(u){const h=e.preOrderCheckHooks;null!==h&&pa(n,h,null)}else{const h=e.preOrderHooks;null!==h&&ma(n,h,0,null),ju(n,0)}if(function aN(e){for(let n=i_(e);null!==n;n=r_(n)){if(!(2&n[2]))continue;const t=n[9];for(let o=0;o0&&(t[i-1][4]=n),o0&&(e[t-1][4]=o[4]);const r=Ks(e,10+n);!function wv(e,n){Ev(e,n),n[0]=null,n[5]=null}(o[1],o);const s=r[18];null!==s&&s.detachView(r[1]),o[3]=null,o[4]=null,o[2]&=-129}return o}function Zv(e,n){const t=e[9],o=n[3];(Me(o)||n[15]!==o[3][15])&&(e[2]|=2),null===t?e[9]=[n]:t.push(n)}class Yr{_lView;_cdRefInjectingView;_appRef=null;_attachedToViewContainer=!1;exhaustive;get rootNodes(){const n=this._lView,t=n[1];return qr(t,n,t.firstChild,[])}constructor(n,t){this._lView=n,this._cdRefInjectingView=t}get context(){return this._lView[8]}set context(n){this._lView[8]=n}get destroyed(){return _n(this._lView)}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const n=this._lView[3];if(st(n)){const t=n[8],o=t?t.indexOf(this):-1;o>-1&&(Zr(n,o),Ks(t,o))}this._attachedToViewContainer=!1}Wr(this._lView[1],this._lView)}onDestroy(n){aa(this._lView,n)}markForCheck(){Oi(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[2]&=-129}reattach(){wu(this._lView),this._lView[2]|=128}detectChanges(){this._lView[2]|=1024,Ka(this._lView)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new T(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;const n=Hn(this._lView),t=this._lView[16];null!==t&&!n&&Ld(t,this._lView),Ev(this._lView[1],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new T(902,!1);this._appRef=n;const t=Hn(this._lView),o=this._lView[16];null!==o&&!t&&Zv(o,this._lView),wu(this._lView)}}let Sn=(()=>class e{_declarationLView;_declarationTContainer;elementRef;static __NG_ELEMENT_ID__=dN;constructor(t,o,i){this._declarationLView=t,this._declarationTContainer=o,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,o){return this.createEmbeddedViewImpl(t,o)}createEmbeddedViewImpl(t,o,i){const r=Ni(this._declarationLView,this._declarationTContainer,t,{embeddedViewInjector:o,dehydratedView:i});return new Yr(r)}})();function dN(){return Ja(q(),w())}function Ja(e,n){return 4&e.type?new Sn(n,e,vi(e,n)):null}function Oo(e,n,t,o,i){let r=e.data[n];if(null===r)r=function Kd(e,n,t,o,i){const r=Lp(),s=Pp(),l=e.data[n]=function CN(e,n,t,o,i,r){let s=n?n.injectorIndex:-1,a=0;return function Rp(){return null!==G.skipHydrationRootTNode}()&&(a|=128),{type:t,index:o,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:i,attrs:r,mergedAttrs:null,localNames:null,initialInputs:null,inputs:null,hostDirectiveInputs:null,outputs:null,hostDirectiveOutputs:null,directiveToIndex:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?r:r&&r.parent,t,n,o,i);return function yN(e,n,t,o){null===e.firstChild&&(e.firstChild=n),null!==t&&(o?null==t.child&&null!==n.parent&&(t.child=n):null===t.next&&(t.next=n,n.prev=t))}(e,l,r,s),l}(e,n,t,o,i),function TT(){return G.lFrame.inI18n}()&&(r.flags|=32);else if(64&r.type){r.type=t,r.value=o,r.attrs=i;const s=function br(){const e=G.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();r.injectorIndex=null===s?-1:s.injectorIndex}return yn(r,!0),r}function hy(e,n){let t=0,o=e.firstChild;if(o){const i=e.data.r;for(;tclass e{destroyNode=null;static __NG_ELEMENT_ID__=()=>function iO(){const e=w(),t=at(q().index,e);return(Me(t)?t:e)[Y]}()})(),rO=(()=>{class e{static \u0275prov=X({token:e,providedIn:"root",factory:()=>null})}return e})();const af={};class Fi{injector;parentInjector;constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,o){const i=this.injector.get(n,af,o);return i!==af||t===af?i:this.parentInjector.get(n,t,o)}}function ll(e,n,t){let o=t?e.styles:null,i=t?e.classes:null,r=0;if(null!==n)for(let s=0;s0&&(t.directiveToIndex=new Map);for(let g=0;g0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,o,r)}}(e,n,o,$r(e,t,i.hostVars,ce),i)}function _O(e,n,t){if(t){if(n.exportAs)for(let o=0;o{const[t,o,i]=e[n],r={propName:t,templateName:n,isSignal:0!==(o&ja.SignalBased)};return i&&(r.transform=i),r})}(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=function xO(e){return Object.keys(e).map(n=>({propName:e[n],templateName:n}))}(this.componentDef.outputs),this.cachedOutputs}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function mA(e){return e.map(pA).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors??[],this.isBoundToModule=!!t}create(n,t,o,i,r,s){he(22);const a=z(null);try{const l=this.componentDef,c=function PO(e,n,t,o){const i=e?["ng-version","20.3.5"]:function _A(e){const n=[],t=[];let o=1,i=2;for(;o{if(1&t&&e)for(const o of e)o.create();if(2&t&&n)for(const o of n)o.update()}:null}(r,s),1,a,l,null,null,null,[i],null)}(o,l,s,r),u=function RO(e,n,t){let o=n instanceof Lt?n:n?.injector;return o&&null!==e.getStandaloneInjector&&(o=e.getStandaloneInjector(o)||o),o?new Fi(t,o):t}(l,i||this.ngModule,n),d=function kO(e){const n=e.get(rf,null);if(null===n)throw new T(407,!1);return{rendererFactory:n,sanitizer:e.get(rO,null),changeDetectionScheduler:e.get(di,null),ngReflect:!1}}(u),g=d.rendererFactory.createRenderer(null,l),h=o?function HA(e,n,t,o){const r=o.get(qS,!1)||t===In.ShadowDom,s=e.selectRootElement(n,r);return function BA(e){kv(e)}(s),s}(g,o,l.encapsulation,u):function FO(e,n){const t=function LO(e){return(e.selectors[0][0]||"div").toLowerCase()}(e);return Ha(n,t,"svg"===t?"svg":"math"===t?"math":null)}(l,g),p=s?.some(Oy)||r?.some(N=>"function"!=typeof N&&N.bindings.some(Oy)),b=Ba(null,c,null,512|xd(l),null,null,d,g,u,null,null);b[H]=h,Ou(b);let I=null;try{const N=lf(H,b,2,"#host",()=>c.directiveRegistry,!0,0);mv(g,h,N),vt(h,b),Ga(c,b,N),Cd(c,N,b),cf(c,N),void 0!==t&&function BO(e,n,t){const o=e.projection=[];for(let i=0;iclass e{static __NG_ELEMENT_ID__=jO})();function jO(){return ky(q(),w())}const UO=ln,xy=class extends UO{_lContainer;_hostTNode;_hostLView;constructor(n,t,o){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=o}get element(){return vi(this._hostTNode,this._hostLView)}get injector(){return new Se(this._hostTNode,this._hostLView)}get parentInjector(){const n=ya(this._hostTNode,this._hostLView);if($u(n)){const t=xr(n,this._hostLView),o=Or(n);return new Se(t[1].data[o+8],t)}return new Se(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=Ry(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-10}createEmbeddedView(n,t,o){let i,r;"number"==typeof o?i=o:null!=o&&(i=o.index,r=o.injector);const a=n.createEmbeddedViewImpl(t||{},r,null);return this.insertImpl(a,i,No(this._hostTNode,null)),a}createComponent(n,t,o,i,r,s,a){const l=n&&!function Ar(e){return"function"==typeof e}(n);let c;if(l)c=t;else{const I=t||{};c=I.index,o=I.injector,i=I.projectableNodes,r=I.environmentInjector||I.ngModuleRef,s=I.directives,a=I.bindings}const u=l?n:new df(le(n)),d=o||this.parentInjector;if(!r&&null==u.ngModule){const N=(l?d:this.parentInjector).get(Lt,null);N&&(r=N)}le(u.componentType??{});const b=u.create(d,i,null,r,s,a);return this.insertImpl(b.hostView,c,No(this._hostTNode,null)),b}insert(n,t){return this.insertImpl(n,t,!0)}insertImpl(n,t,o){const i=n._lView;if(function bT(e){return st(e[3])}(i)){const a=this.indexOf(n);if(-1!==a)this.detach(a);else{const l=i[3],c=new xy(l,l[5],l[3]);c.detach(c.indexOf(n))}}const r=this._adjustIndex(t),s=this._lContainer;return xi(s,i,r,o),n.attachToViewContainerRef(),lp(ff(s),r,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=Ry(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),o=Zr(this._lContainer,t);o&&(Ks(ff(this._lContainer),t),Wr(o[1],o))}detach(n){const t=this._adjustIndex(n,-1),o=Zr(this._lContainer,t);return o&&null!=Ks(ff(this._lContainer),t)?new Yr(o):null}_adjustIndex(n,t=0){return n??this.length+t}};function Ry(e){return e[8]}function ff(e){return e[8]||(e[8]=[])}function ky(e,n){let t;const o=n[e.index];return st(o)?t=o:(t=Wv(o,n,null,e),n[e.index]=t,Rd(n,t)),Fy(t,n,e,o),new xy(t,e,n)}let Fy=function Py(e,n,t,o){if(e[7])return;let i;i=8&t.type?$e(o):function $O(e,n){const t=e[Y],o=t.createComment(""),i=Le(n,e),r=t.parentNode(i);return So(t,r,o,t.nextSibling(i),!1),o}(n,t),e[7]=i};class gf{queryList;matches=null;constructor(n){this.queryList=n}clone(){return new gf(this.queryList)}setDirty(){this.queryList.setDirty()}}class pf{queries;constructor(n=[]){this.queries=n}createEmbeddedView(n){const t=n.queries;if(null!==t){const o=null!==n.contentQueries?n.contentQueries[0]:t.length,i=[];for(let r=0;rn.trim())}(n):n}}class mf{queries;constructor(n=[]){this.queries=n}elementStart(n,t){for(let o=0;o0)o.push(s[a/2]);else{const c=r[a+1],u=n[-l];for(let d=10;dt()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class Qy extends ax{moduleType;constructor(n){super(),this.moduleType=n}create(n){return new wf(this.moduleType,n,[])}}class ux extends ko{injector;componentFactoryResolver=new Ny(this);instance=null;constructor(n){super();const t=new _o([...n.providers,{provide:ko,useValue:this},{provide:sl,useValue:this.componentFactoryResolver}],n.parent||pu(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}let dx=(()=>{class e{_injector;cachedInjectors=new Map;constructor(t){this._injector=t}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){const o=uu(0,t.type),i=o.length>0?function Ky(e,n,t=null){return new ux({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}([o],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,i)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}static \u0275prov=X({token:e,providedIn:"environment",factory:()=>new e(te(Lt))})}return e})();function qt(e){return En(()=>{const n=Xy(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===Da.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:n.standalone?i=>i.get(dx).getOrCreateStandaloneInjector(t):null,getExternalStyles:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||In.Emulated,styles:e.styles||_e,_:null,schemas:e.schemas||null,tView:null,id:""};n.standalone&&nt("NgStandalone"),eC(t);const o=e.dependencies;return t.directiveDefs=fl(o,Jy),t.pipeDefs=fl(o,Gt),t.id=function px(e){let n=0;const o=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,"function"==typeof e.consts?"":e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery];for(const r of o.join("|"))n=Math.imul(31,n)+r.charCodeAt(0)|0;return n+=2147483648,"c"+n}(t),t})}function Jy(e){return le(e)||rt(e)}function Qn(e){return En(()=>({type:e.type,bootstrap:e.bootstrap||_e,declarations:e.declarations||_e,imports:e.imports||_e,exports:e.exports||_e,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function fx(e,n){if(null==e)return tn;const t={};for(const o in e)if(e.hasOwnProperty(o)){const i=e[o];let r,s,a,l;Array.isArray(i)?(a=i[0],r=i[1],s=i[2]??r,l=i[3]||null):(r=i,s=i,a=ja.None,l=null),t[r]=[o,a,l],n[r]=s}return t}function hx(e){if(null==e)return tn;const n={};for(const t in e)e.hasOwnProperty(t)&&(n[e[t]]=t);return n}function W(e){return En(()=>{const n=Xy(e);return eC(n),n})}function yt(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:e.standalone??!0,onDestroy:e.type.prototype.ngOnDestroy||null}}function Xy(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputConfig:e.inputs||tn,exportAs:e.exportAs||null,standalone:e.standalone??!0,signals:!0===e.signals,selectors:e.selectors||_e,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,resolveHostDirectives:null,hostDirectives:null,inputs:fx(e.inputs,n),outputs:hx(e.outputs),debugInfo:null}}function eC(e){e.features?.forEach(n=>n(e))}function fl(e,n){return e?()=>{const t="function"==typeof e?e():e,o=[];for(const i of t){const r=n(i);null!==r&&o.push(r)}return o}:null}function ae(e){let n=function tC(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),t=!0;const o=[e];for(;n;){let i;if(St(e))i=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new T(903,!1);i=n.\u0275dir}if(i){if(t){o.push(i);const s=e;s.inputs=Ef(e.inputs),s.declaredInputs=Ef(e.declaredInputs),s.outputs=Ef(e.outputs);const a=i.hostBindings;a&&Cx(e,a);const l=i.viewQuery,c=i.contentQueries;if(l&&vx(e,l),c&&yx(e,c),mx(e,i),LI(e.outputs,i.outputs),St(i)&&i.data.animation){const u=e.data;u.animation=(u.animation||[]).concat(i.data.animation)}}const r=i.features;if(r)for(let s=0;s=0;o--){const i=e[o];i.hostVars=n+=i.hostVars,i.hostAttrs=_i(i.hostAttrs,t=_i(t,i.hostAttrs))}}(o)}function mx(e,n){for(const t in n.inputs){if(!n.inputs.hasOwnProperty(t)||e.inputs.hasOwnProperty(t))continue;const o=n.inputs[t];void 0!==o&&(e.inputs[t]=o,e.declaredInputs[t]=n.declaredInputs[t])}}function Ef(e){return e===tn?{}:e===_e?[]:e}function vx(e,n){const t=e.viewQuery;e.viewQuery=t?(o,i)=>{n(o,i),t(o,i)}:n}function yx(e,n){const t=e.contentQueries;e.contentQueries=t?(o,i,r)=>{n(o,i,r),t(o,i,r)}:n}function Cx(e,n){const t=e.hostBindings;e.hostBindings=t?(o,i)=>{n(o,i),t(o,i)}:n}function sC(e,n,t,o,i,r,s,a){if(t.firstCreatePass){e.mergedAttrs=_i(e.mergedAttrs,e.attrs);const u=e.tView=Od(2,e,i,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,t.consts,null);null!==t.queries&&(t.queries.template(t,e),u.queries=t.queries.embeddedTView(e))}a&&(e.flags|=a),yn(e,!1);const l=lC(t,n,e,o);ua()&&Bd(t,n,l,e),vt(l,n);const c=Wv(l,n,l,e);n[o+H]=c,Rd(n,c)}function Fo(e,n,t,o,i,r,s,a,l,c,u){const d=t+H;let g;if(n.firstCreatePass){if(g=Oo(n,d,4,s||null,a||null),null!=c){const h=tt(n.consts,c);g.localNames=[];for(let p=0;pnull),s=o;if(n&&"object"==typeof n){const l=n;i=l.next?.bind(l),r=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(r=this.wrapInTimeout(r),i&&(i=this.wrapInTimeout(i)),s&&(s=this.wrapInTimeout(s)));const a=super.subscribe({next:i,error:r,complete:s});return n instanceof Mt&&n.add(a),a}wrapInTimeout(n){return t=>{const o=this.pendingTasks?.add();setTimeout(()=>{try{n(t)}finally{void 0!==o&&this.pendingTasks?.remove(o)}})}}};function pC(e){let n,t;function o(){e=wr;try{void 0!==t&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(t),void 0!==n&&clearTimeout(n)}catch{}}return n=setTimeout(()=>{e(),o()}),"function"==typeof requestAnimationFrame&&(t=requestAnimationFrame(()=>{e(),o()})),()=>o()}function mC(e){return queueMicrotask(()=>e()),()=>{e=wr}}const Tf="isAngularZone",_l=Tf+"_ID";let kx=0;class re{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new ve(!1);onMicrotaskEmpty=new ve(!1);onStable=new ve(!1);onError=new ve(!1);constructor(n){const{enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:o=!1,shouldCoalesceRunChangeDetection:i=!1,scheduleInRootZone:r=gC}=n;if(typeof Zone>"u")throw new T(908,!1);Zone.assertZonePatched();const s=this;s._nesting=0,s._outer=s._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(s._inner=s._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!i&&o,s.shouldCoalesceRunChangeDetection=i,s.callbackScheduled=!1,s.scheduleInRootZone=r,function Px(e){const n=()=>{!function Lx(e){function n(){pC(()=>{e.callbackScheduled=!1,Af(e),e.isCheckStableRunning=!0,Sf(e),e.isCheckStableRunning=!1})}e.isCheckStableRunning||e.callbackScheduled||(e.callbackScheduled=!0,e.scheduleInRootZone?Zone.root.run(()=>{n()}):e._outer.run(()=>{n()}),Af(e))}(e)},t=kx++;e._inner=e._inner.fork({name:"angular",properties:{[Tf]:!0,[_l]:t,[_l+t]:!0},onInvokeTask:(o,i,r,s,a,l)=>{if(function Vx(e){return yC(e,"__ignore_ng_zone__")}(l))return o.invokeTask(r,s,a,l);try{return _C(e),o.invokeTask(r,s,a,l)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&n(),vC(e)}},onInvoke:(o,i,r,s,a,l,c)=>{try{return _C(e),o.invoke(r,s,a,l,c)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!function Hx(e){return yC(e,"__scheduler_tick__")}(l)&&n(),vC(e)}},onHasTask:(o,i,r,s)=>{o.hasTask(r,s),i===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Af(e),Sf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(o,i,r,s)=>(o.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(s)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get(Tf)}static assertInAngularZone(){if(!re.isInAngularZone())throw new T(909,!1)}static assertNotInAngularZone(){if(re.isInAngularZone())throw new T(909,!1)}run(n,t,o){return this._inner.run(n,t,o)}runTask(n,t,o,i){const r=this._inner,s=r.scheduleEventTask("NgZoneEvent: "+i,n,Fx,wr,wr);try{return r.runTask(s,t,o)}finally{r.cancelTask(s)}}runGuarded(n,t,o){return this._inner.runGuarded(n,t,o)}runOutsideAngular(n){return this._outer.run(n)}}const Fx={};function Sf(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function Af(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&!0===e.callbackScheduled)}function _C(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function vC(e){e._nesting--,Sf(e)}class Nf{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new ve;onMicrotaskEmpty=new ve;onStable=new ve;onError=new ve;run(n,t,o){return n.apply(t,o)}runGuarded(n,t,o){return n.apply(t,o)}runOutsideAngular(n){return n()}runTask(n,t,o,i){return n.apply(t,o)}}function yC(e,n){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0]?.data?.[n]}let CC=(()=>{class e{impl=null;execute(){this.impl?.execute()}static \u0275prov=X({token:e,providedIn:"root",factory:()=>new e})}return e})();const bC=[0,1,2,3];let jx=(()=>{class e{ngZone=F(re);scheduler=F(di);errorHandler=F(ui,{optional:!0});sequences=new Set;deferredRegistrations=new Set;executing=!1;constructor(){F(us,{optional:!0})}execute(){const t=this.sequences.size>0;t&&he(16),this.executing=!0;for(const o of bC)for(const i of this.sequences)if(!i.erroredOrDestroyed&&i.hooks[o])try{i.pipelinedValue=this.ngZone.runOutsideAngular(()=>this.maybeTrace(()=>(0,i.hooks[o])(i.pipelinedValue),i.snapshot))}catch(r){i.erroredOrDestroyed=!0,this.errorHandler?.handleError(r)}this.executing=!1;for(const o of this.sequences)o.afterRun(),o.once&&(this.sequences.delete(o),o.destroy());for(const o of this.deferredRegistrations)this.sequences.add(o);this.deferredRegistrations.size>0&&this.scheduler.notify(7),this.deferredRegistrations.clear(),t&&he(17)}register(t){const{view:o}=t;void 0!==o?((o[25]??=[]).push(t),li(o),o[2]|=8192):this.executing?this.deferredRegistrations.add(t):this.addSequence(t)}addSequence(t){this.sequences.add(t),this.scheduler.notify(7)}unregister(t){this.executing&&this.sequences.has(t)?(t.erroredOrDestroyed=!0,t.pipelinedValue=void 0,t.once=!0):(this.sequences.delete(t),this.deferredRegistrations.delete(t))}maybeTrace(t,o){return o?o.run(If.AFTER_NEXT_RENDER,t):t()}static \u0275prov=X({token:e,providedIn:"root",factory:()=>new e})}return e})();class DC{impl;hooks;view;once;snapshot;erroredOrDestroyed=!1;pipelinedValue=void 0;unregisterOnDestroy;constructor(n,t,o,i,r,s=null){this.impl=n,this.hooks=t,this.view=o,this.once=i,this.snapshot=s,this.unregisterOnDestroy=r?.onDestroy(()=>this.destroy())}afterRun(){this.erroredOrDestroyed=!1,this.pipelinedValue=void 0,this.snapshot?.dispose(),this.snapshot=null}destroy(){this.impl.unregister(this),this.unregisterOnDestroy?.();const n=this.view?.[25];n&&(this.view[25]=n.filter(t=>t!==this))}}function EC(e,n){const t=n?.injector??F(Vt);return nt("NgAfterNextRender"),function MC(e,n,t,o){const i=n.get(CC);i.impl??=n.get(jx);const r=n.get(us,null,{optional:!0}),s=!0!==t?.manualCleanup?n.get(Dn):null,a=n.get(ku,null,{optional:!0}),l=new DC(i.impl,function Ux(e){return e instanceof Function?[void 0,void 0,e,void 0]:[e.earlyRead,e.write,e.mixedReadWrite,e.read]}(e),a?.view,o,s,r?.snapshot(null));return i.impl.register(l),l}(e,t,n,!0)}const ZC=new R(""),Dl=new R("");let Hf,Pf=(()=>{class e{_ngZone;registry;_isZoneStable=!0;_callbacks=[];_taskTrackingZone=null;_destroyRef;constructor(t,o,i){this._ngZone=t,this.registry=o,vu()&&(this._destroyRef=F(Dn,{optional:!0})??void 0),Hf||(function WR(e){Hf=e}(i),i.addToWindow(o)),this._watchAngularEvents(),t.run(()=>{this._taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){const t=this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),o=this._ngZone.runOutsideAngular(()=>this._ngZone.onStable.subscribe({next:()=>{re.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}}));this._destroyRef?.onDestroy(()=>{t.unsubscribe(),o.unsubscribe()})}isStable(){return this._isZoneStable&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb()}});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(o=>!o.updateCb||!o.updateCb(t)||(clearTimeout(o.timeoutId),!1))}}getPendingTasks(){return this._taskTrackingZone?this._taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,o,i){let r=-1;o&&o>0&&(r=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==r),t()},o)),this._callbacks.push({doneCb:t,timeoutId:r,updateCb:i})}whenStable(t,o,i){if(i&&!this._taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,o,i),this._runCallbacksIfReady()}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,o,i){return[]}static \u0275fac=function(o){return new(o||e)(te(re),te(Vf),te(Dl))};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})(),Vf=(()=>{class e{_applications=new Map;registerApplication(t,o){this._applications.set(t,o)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,o=!0){return Hf?.findTestabilityInTree(this,t,o)??null}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function wl(e){return!!e&&"function"==typeof e.then}function YC(e){return!!e&&"function"==typeof e.subscribe}const QC=new R("");let KC=(()=>{class e{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((t,o)=>{this.resolve=t,this.reject=o});appInits=F(QC,{optional:!0})??[];injector=F(Vt);constructor(){}runInitializers(){if(this.initialized)return;const t=[];for(const i of this.appInits){const r=yp(this.injector,i);if(wl(r))t.push(r);else if(YC(r)){const s=new Promise((a,l)=>{r.subscribe({complete:a,error:l})});t.push(s)}}const o=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{o()}).catch(i=>{this.reject(i)}),0===t.length&&o(),this.initialized=!0}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const qR=new R("");function JC(e,n){return Array.isArray(n)?n.reduce(JC,e):{...e,...n}}let Jn=(()=>{class e{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=F(wn);afterRenderManager=F(CC);zonelessEnabled=F(nm);rootEffectScheduler=F(sm);dirtyFlags=0;tracingSnapshot=null;allTestViews=new Set;autoDetectTestViews=new Set;includeAllTestViews=!1;afterTick=new Xt;get allViews(){return[...(this.includeAllTestViews?this.allTestViews:this.autoDetectTestViews).keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];internalPendingTask=F(Eo);get isStable(){return this.internalPendingTask.hasPendingTasksObservable.pipe(Vu(t=>!t))}constructor(){F(us,{optional:!0})}whenStable(){let t;return new Promise(o=>{t=this.isStable.subscribe({next:i=>{i&&o()}})}).finally(()=>{t.unsubscribe()})}_injector=F(Lt);_rendererFactory=null;get injector(){return this._injector}bootstrap(t,o){return this.bootstrapImpl(t,o)}bootstrapImpl(t,o,i=Vt.NULL){return this._injector.get(re).run(()=>{he(10);const s=t instanceof yy;if(!this._injector.get(KC).done)throw new T(405,"");let l;l=s?t:this._injector.get(sl).resolveComponentFactory(t),this.componentTypes.push(l.componentType);const c=function YR(e){return e.isBoundToModule}(l)?void 0:this._injector.get(ko),d=l.create(i,[],o||l.selector,c),g=d.location.nativeElement,h=d.injector.get(ZC,null);return h?.registerApplication(g),d.onDestroy(()=>{this.detachView(d.hostView),El(this.components,d),h?.unregisterApplication(g)}),this._loadComponent(d),he(11,d),d})}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){he(12),null!==this.tracingSnapshot?this.tracingSnapshot.run(If.CHANGE_DETECTION,this.tickImpl):this.tickImpl()}tickImpl=()=>{if(this._runningTick)throw new T(101,!1);const t=z(null);try{this._runningTick=!0,this.synchronize()}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,z(t),this.afterTick.next(),he(13)}};synchronize(){null===this._rendererFactory&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(rf,null,{optional:!0}));let t=0;for(;0!==this.dirtyFlags&&t++<10;)he(14),this.synchronizeOnce(),he(15)}synchronizeOnce(){16&this.dirtyFlags&&(this.dirtyFlags&=-17,this.rootEffectScheduler.flush());let t=!1;if(7&this.dirtyFlags){const o=!!(1&this.dirtyFlags);this.dirtyFlags&=-8,this.dirtyFlags|=8;for(let{_lView:i}of this.allViews)(o||sa(i))&&(Ka(i,o&&!this.zonelessEnabled?0:1),t=!0);if(this.dirtyFlags&=-5,this.syncDirtyFlagsWithViews(),23&this.dirtyFlags)return}t||(this._rendererFactory?.begin?.(),this._rendererFactory?.end?.()),8&this.dirtyFlags&&(this.dirtyFlags&=-9,this.afterRenderManager.execute()),this.syncDirtyFlagsWithViews()}syncDirtyFlagsWithViews(){this.allViews.some(({_lView:t})=>sa(t))?this.dirtyFlags|=2:this.dirtyFlags&=-8}attachView(t){const o=t;this._views.push(o),o.attachToAppRef(this)}detachView(t){const o=t;El(this._views,o),o.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView);try{this.tick()}catch(i){this.internalErrorHandler(i)}this.components.push(t),this._injector.get(qR,[]).forEach(i=>i(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>El(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new T(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function El(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function ct(e,n,t,o){const i=w();return De(i,mt(),n)&&(K(),function WA(e,n,t,o,i,r){const s=Le(e,n);!function Wa(e,n,t,o,i,r,s){if(null==r)e.removeAttribute(n,i,t);else{const a=null==s?Z(r):s(r,o||"",i);e.setAttribute(n,i,a,t)}}(n[Y],s,r,e.value,t,o,i)}(on(),i,e,n,t,o)),ct}typeof document<"u"&&document;class zk{destroy(n){}updateValue(n,t){}swap(n,t){const o=Math.min(n,t),i=Math.max(n,t),r=this.detach(i);if(i-o>1){const s=this.detach(o);this.attach(o,r),this.attach(i,s)}else this.attach(o,r)}move(n,t){this.attach(t,this.detach(n,!0))}}function Kf(e,n,t,o,i){return e===t&&Object.is(n,o)?1:Object.is(i(e,n),i(t,o))?-1:0}function Jf(e,n,t,o){return!(void 0===n||!n.has(o)||(e.attach(t,n.get(o)),n.delete(o),0))}function gb(e,n,t,o,i){if(Jf(e,n,o,t(o,i)))e.updateValue(o,i);else{const r=e.create(o,i);e.attach(o,r)}}function pb(e,n,t,o){const i=new Set;for(let r=n;r<=t;r++)i.add(o(r,e.at(r)));return i}class mb{kvMap=new Map;_vMap=void 0;has(n){return this.kvMap.has(n)}delete(n){if(!this.has(n))return!1;const t=this.kvMap.get(n);return void 0!==this._vMap&&this._vMap.has(t)?(this.kvMap.set(n,this._vMap.get(t)),this._vMap.delete(t)):this.kvMap.delete(n),!0}get(n){return this.kvMap.get(n)}set(n,t){if(this.kvMap.has(n)){let o=this.kvMap.get(n);void 0===this._vMap&&(this._vMap=new Map);const i=this._vMap;for(;i.has(o);)o=i.get(o);i.set(o,t)}else this.kvMap.set(n,t)}forEach(n){for(let[t,o]of this.kvMap)if(n(o,t),void 0!==this._vMap){const i=this._vMap;for(;i.has(o);)o=i.get(o),n(o,t)}}}function y(e,n,t,o,i,r,s,a){nt("NgControlFlow");const l=w(),c=K();return Fo(l,c,e,n,t,o,i,tt(c.consts,r),256,s,a),Xf}function Xf(e,n,t,o,i,r,s,a){nt("NgControlFlow");const l=w(),c=K();return Fo(l,c,e,n,t,o,i,tt(c.consts,r),512,s,a),Xf}function C(e,n){nt("NgControlFlow");const t=w(),o=mt(),i=t[o]!==ce?t[o]:-1,r=-1!==i?Ol(t,H+i):void 0;if(De(t,o,e)){const a=z(null);try{if(void 0!==r&&qd(r,0),-1!==e){const l=H+e,c=Ol(t,l),u=eh(t[1],l),d=null;xi(c,Ni(t,u,n,{dehydratedView:d}),0,No(u,d))}}finally{z(a)}}else if(void 0!==r){const a=qv(r,0);void 0!==a&&(a[8]=n)}}class Wk{lContainer;$implicit;$index;constructor(n,t,o){this.lContainer=n,this.$implicit=t,this.$index=o}get $count(){return this.lContainer.length-10}}function Ye(e,n){return n}class Zk{hasEmptyBlock;trackByFn;liveCollection;constructor(n,t,o){this.hasEmptyBlock=n,this.trackByFn=t,this.liveCollection=o}}function Qe(e,n,t,o,i,r,s,a,l,c,u,d,g){nt("NgControlFlow");const h=w(),p=K(),b=void 0!==l,I=w(),N=a?s.bind(I[15][8]):s,E=new Zk(b,N);I[H+e]=E,Fo(h,p,e+1,n,t,o,i,tt(p.consts,r),256),b&&Fo(h,p,e+2,l,c,u,d,tt(p.consts,g),512)}class Yk extends zk{lContainer;hostLView;templateTNode;operationsCounter=void 0;needsIndexUpdate=!1;constructor(n,t,o){super(),this.lContainer=n,this.hostLView=t,this.templateTNode=o}get length(){return this.lContainer.length-10}at(n){return this.getLView(n)[8].$implicit}attach(n,t){const o=t[6];this.needsIndexUpdate||=n!==this.length,xi(this.lContainer,t,n,No(this.templateTNode,o))}detach(n,t){return this.needsIndexUpdate||=n!==this.length-1,t&&function Qk(e,n){if(e.length<=10)return;const o=e[10+n];o&&o[26]&&(o[26].skipLeaveAnimations=!0)}(this.lContainer,n),function Kk(e,n){return Zr(e,n)}(this.lContainer,n)}create(n,t){const i=Ni(this.hostLView,this.templateTNode,new Wk(this.lContainer,t,n),{dehydratedView:null});return this.operationsCounter?.recordCreate(),i}destroy(n){Wr(n[1],n),this.operationsCounter?.recordDestroy()}updateValue(n,t){this.getLView(n)[8].$implicit=t}reset(){this.needsIndexUpdate=!1,this.operationsCounter?.reset()}updateIndexes(){if(this.needsIndexUpdate)for(let n=0;n{e.destroy(l)})}(l,e,r.trackByFn),l.updateIndexes(),r.hasEmptyBlock){const c=mt(),u=0===l.length;if(De(o,c,u)){const d=t+2,g=Ol(o,d);if(u){const h=eh(i,d),p=null;xi(g,Ni(o,h,void 0,{dehydratedView:p}),0,No(h,p))}else i.firstUpdatePass&&function ol(e){const n=e[6]??[],o=e[3][Y],i=[];for(const r of n)void 0!==r.data.di?i.push(r):hy(r,o);e[6]=i}(g),qd(g,0)}}}finally{z(n)}}function Ol(e,n){return e[n]}function eh(e,n){return ai(e,n)}function A(e,n,t){const o=w();return De(o,mt(),n)&&(K(),Ud(on(),o,e,n,o[Y],t)),A}function th(e,n,t,o,i){Ya(n,e,t,i?"class":"style",o)}function v(e,n,t,o){const i=w(),r=i[1],s=e+H,a=r.firstCreatePass?lf(s,i,2,n,zd,Tu(),t,o):r.data[s];if(function qa(e,n,t,o,i){const r=H+t,s=n[1],a=i(s,n,e,o,t);n[r]=a,yn(e,!0);const l=2===e.type;return l?(mv(n[Y],a,e),(0===function wT(){return G.lFrame.elementDepthCount}()||ri(e))&&vt(a,n),function ET(){G.lFrame.elementDepthCount++}()):vt(a,n),ua()&&(!l||!Sa(e))&&Bd(s,n,a,e),e}(a,i,e,n,ih),ri(a)){const l=i[1];Ga(l,i,a),Cd(l,a,i)}return null!=o&&Ai(i,a),v}function _(){const e=K(),t=Za(q());return e.firstCreatePass&&cf(e,t),function kp(e){return G.skipHydrationRootTNode===e}(t)&&function Fp(){G.skipHydrationRootTNode=null}(),function xp(){G.lFrame.elementDepthCount--}(),null!=t.classesWithoutHost&&function W0(e){return!!(8&e.flags)}(t)&&th(e,t,w(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function q0(e){return!!(16&e.flags)}(t)&&th(e,t,w(),t.stylesWithoutHost,!1),_}function O(e,n,t,o){return v(e,n,t,o),_(),O}let ih=(e,n,t,o,i)=>(Dr(!0),Ha(n[Y],o,function FT(){return G.lFrame.currentNamespace}()));function ue(){return w()}const kl="en-US";let Mb=kl;function U(e,n,t){const o=w(),i=K(),r=q();return uh(i,o,o[Y],r,e,n,t),U}function uh(e,n,t,o,i,r,s){let a=!0,l=null;if((3&o.type||s)&&(l??=ss(o,n,r),function Sy(e,n,t,o,i,r,s,a){const l=ri(e);let c=!1,u=null;if(!o&&l&&(u=function wO(e,n,t,o){const i=e.cleanup;if(null!=i)for(let r=0;rl?a[l]:null}"string"==typeof s&&(r+=2)}return null}(n,t,r,e.index)),null!==u)(u.__ngLastListenerFn__||u).__ngNextListenerFn__=s,u.__ngLastListenerFn__=s,c=!0;else{const d=Le(e,t),g=o?o(d):d,h=i.listen(g,r,a);(function DO(e){return e.startsWith("animation")||e.startsWith("transition")})(r)||Ay(o?b=>o($e(b[e.index])):e.index,n,t,r,a,h,!1)}return c}(o,e,n,s,t,i,r,l)&&(a=!1)),a){const c=o.outputs?.[i],u=o.hostDirectiveOutputs?.[i];if(u&&u.length)for(let d=0;d0;)n=n[14],e--;return n}(e,G.lFrame.contextLView))[8]}(e)}function Gb(e,n,t,o){!function Uy(e,n,t,o){const i=K();if(i.firstCreatePass){const r=q();$y(i,new Vy(n,t,o),r.index),function KO(e,n){const t=e.contentQueries||(e.contentQueries=[]);n!==(t.length?t[t.length-1]:-1)&&t.push(e.queries.length-1,n)}(i,e),!(2&~t)&&(i.staticContentQueries=!0)}return By(i,w(),t)}(e,n,t,o)}function Nt(e,n,t){!function jy(e,n,t){const o=K();return o.firstCreatePass&&($y(o,new Vy(e,n,t),-1),!(2&~n)&&(o.staticViewQueries=!0)),By(o,w(),n)}(e,n,t)}function wt(e){const n=w(),t=K(),o=Nu();ca(o+1);const i=Cf(t,o);if(e.dirty&&function CT(e){return!(4&~e[2])}(n)===!(2&~i.metadata.flags)){if(null===i.matches)e.reset([]);else{const r=zy(n,o);e.reset(r,qm),e.notifyOnChanges()}return!0}return!1}function Et(){return function yf(e,n){return e[18].queries[n].queryList}(w(),Nu())}function Vl(e,n){return e<<17|n<<2}function $o(e){return e>>17&32767}function dh(e){return 2|e}function Wi(e){return(131068&e)>>2}function fh(e,n){return-131069&e|n<<2}function hh(e){return 1|e}function Wb(e,n,t,o){const i=e[t+1],r=null===n;let s=o?$o(i):Wi(i),a=!1;for(;0!==s&&(!1===a||r);){const c=e[s+1];oL(e[s],n)&&(a=!0,e[s+1]=o?hh(c):dh(c)),s=o?$o(c):Wi(c)}a&&(e[t+1]=o?dh(i):hh(i))}function oL(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&mr(e,n)>=0}const Be={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function qb(e){return e.substring(Be.key,Be.keyEnd)}function Zb(e,n){const t=Be.textEnd;return t===n?-1:(n=Be.keyEnd=function aL(e,n,t){for(;n32;)n++;return n}(e,Be.key=n,t),qi(e,n,t))}function qi(e,n,t){for(;n=0;t=Zb(n,t))Xs(e,qb(n),!0)}function Xb(e,n,t,o){const i=w(),r=K(),s=bn(2);r.firstUpdatePass&&nD(r,e,s,o),n!==ce&&De(i,s,n)&&iD(r,r.data[qe()],i,i[Y],e,i[s+1]=function CL(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=gt(Gn(e)))),e}(n,t),o,s)}function tD(e,n){return n>=e.expandoStartIndex}function nD(e,n,t,o){const i=e.data;if(null===i[t+1]){const r=i[qe()],s=tD(e,t);sD(r,o)&&null===n&&!s&&(n=!1),n=function hL(e,n,t,o){const i=function Au(e){const n=G.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let r=o?n.residualClasses:n.residualStyles;if(null===i)0===(o?n.classBindings:n.styleBindings)&&(t=ys(t=gh(null,e,n,t,o),n.attrs,o),r=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==i)if(t=gh(i,e,n,t,o),null===r){let l=function gL(e,n,t){const o=t?n.classBindings:n.styleBindings;if(0!==Wi(o))return e[$o(o)]}(e,n,o);void 0!==l&&Array.isArray(l)&&(l=gh(null,e,n,l[1],o),l=ys(l,n.attrs,o),function pL(e,n,t,o){e[$o(t?n.classBindings:n.styleBindings)]=o}(e,n,o,l))}else r=function mL(e,n,t){let o;const i=n.directiveEnd;for(let r=1+n.directiveStylingLast;r0)&&(c=!0)):u=t,i)if(0!==l){const g=$o(e[a+1]);e[o+1]=Vl(g,a),0!==g&&(e[g+1]=fh(e[g+1],o)),e[a+1]=function XF(e,n){return 131071&e|n<<17}(e[a+1],o)}else e[o+1]=Vl(a,0),0!==a&&(e[a+1]=fh(e[a+1],o)),a=o;else e[o+1]=Vl(l,0),0===a?a=o:e[l+1]=fh(e[l+1],o),l=o;c&&(e[o+1]=dh(e[o+1])),Wb(e,u,o,!0),Wb(e,u,o,!1),function nL(e,n,t,o,i){const r=i?e.residualClasses:e.residualStyles;null!=r&&"string"==typeof n&&mr(r,n)>=0&&(t[o+1]=hh(t[o+1]))}(n,u,e,o,r),s=Vl(a,l),r?n.classBindings=s:n.styleBindings=s}(i,r,n,t,s,o)}}function gh(e,n,t,o,i){let r=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[i],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let g=t[i+1];g===ce&&(g=d?_e:void 0);let h=d?au(g,o):u===o?g:void 0;if(c&&!Bl(h)&&(h=au(l,o)),Bl(h)&&(a=h,s))return a;const p=e[i+1];i=s?$o(p):Wi(p)}if(null!==n){let l=r?n.residualClasses:n.residualStyles;null!=l&&(a=au(l,o))}return a}function Bl(e){return void 0!==e}function sD(e,n){return!!(e.flags&(n?8:16))}function D(e,n=""){const t=w(),o=K(),i=e+H,r=o.firstCreatePass?Oo(o,i,1,n,null):o.data[i],s=aD(o,t,r,n,e);t[i]=s,ua()&&Bd(o,t,s,r),yn(r,!1)}let aD=(e,n,t,o,i)=>(Dr(!0),function Ad(e,n){return e.createText(n)}(n[Y],o));function cD(e,n,t,o=""){return De(e,mt(),t)?n+Z(t)+o:ce}function k(e){return P("",e),k}function P(e,n,t){const o=w(),i=cD(o,e,n,t);return i!==ce&&function On(e,n,t){const o=si(n,e);!function fv(e,n,t){e.setValue(n,t)}(e[Y],o,t)}(o,qe(),i),P}function je(e,n,t){tm(n)&&(n=n());const o=w();return De(o,mt(),n)&&(K(),Ud(on(),o,e,n,o[Y],t)),je}function ye(e,n){const t=tm(e);return t&&e.set(n),t}function Ge(e,n){const t=w(),o=K(),i=q();return uh(o,t,t[Y],i,e,n),Ge}function xn(e){return De(w(),mt(),e)?Z(e):ce}function Ut(e,n,t=""){return cD(w(),e,n,t)}function ph(e,n,t,o,i){if(e=Q(e),Array.isArray(e))for(let r=0;r>20;if(fn(e)||!e.multi){const h=new Nr(c,i,x,null),p=_h(l,n,i?u:u+g,d);-1===p?(Wu(va(a,s),r,l),mh(r,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,i&&(a.providerIndexes+=1048576),t.push(h),s.push(h)):(t[p]=h,s[p]=h)}else{const h=_h(l,n,u+g,d),p=_h(l,n,u,u+g),I=p>=0&&t[p];if(i&&!I||!i&&!(h>=0&&t[h])){Wu(va(a,s),r,l);const N=function LL(e,n,t,o,i){const s=new Nr(e,t,x,null);return s.multi=[],s.index=n,s.componentProviders=0,TD(s,i,o&&!t),s}(i?FL:kL,t.length,i,o,c);!i&&I&&(t[p].providerFactory=N),mh(r,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,i&&(a.providerIndexes+=1048576),t.push(N),s.push(N)}else mh(r,e,h>-1?h:p,TD(t[i?p:h],c,!i&&o));!i&&o&&I&&t[p].componentProviders++}}}function mh(e,n,t,o){const i=fn(n),r=function mp(e){return!!e.useClass}(n);if(i||r){const l=(r?Q(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!i&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[o,l]):c[u+1].push(o,l)}else c.push(t,l)}}}function TD(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function _h(e,n,t,o){for(let i=t;i{t.providersResolver=(o,i)=>function RL(e,n,t){const o=K();if(o.firstCreatePass){const i=St(e);ph(t,o.data,o.blueprint,i,!0),ph(n,o.data,o.blueprint,i,!1)}}(o,i?i(e):e,n)}}function Zi(e,n,t,o){return function AD(e,n,t,o,i,r){const s=n+t;return De(e,s,i)?an(e,s+1,r?o.call(r,i):o(i)):Cs(e,s+1)}(w(),lt(),e,n,t,o)}function yh(e,n,t,o,i){return function ND(e,n,t,o,i,r,s){const a=n+t;return Ro(e,a,i,r)?an(e,a+2,s?o.call(s,i,r):o(i,r)):Cs(e,a+2)}(w(),lt(),e,n,t,o,i)}function Ne(e,n,t,o,i,r){return OD(w(),lt(),e,n,t,o,i,r)}function Cs(e,n){const t=e[n];return t===ce?void 0:t}function OD(e,n,t,o,i,r,s,a){const l=n+t;return function ul(e,n,t,o,i){const r=Ro(e,n,t,o);return De(e,n+2,i)||r}(e,l,i,r,s)?an(e,l+3,a?o.call(a,i,r,s):o(i,r,s)):Cs(e,l+3)}let SP=(()=>{class e{zone=F(re);changeDetectionScheduler=F(di);applicationRef=F(Jn);applicationErrorHandler=F(wn);_onMicrotaskEmptySubscription;initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{try{this.applicationRef.dirtyFlags|=1,this.applicationRef._tick()}catch(t){this.applicationErrorHandler(t)}})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function XD({ngZoneFactory:e,ignoreChangesOutsideZone:n,scheduleInRootZone:t}){return e??=()=>new re({...Eh(),scheduleInRootZone:t}),[{provide:re,useFactory:e},{provide:mo,multi:!0,useFactory:()=>{const o=F(SP,{optional:!0});return()=>o.initialize()}},{provide:mo,multi:!0,useFactory:()=>{const o=F(NP);return()=>{o.initialize()}}},!0===n?{provide:om,useValue:!0}:[],{provide:im,useValue:t??gC},{provide:wn,useFactory:()=>{const o=F(re),i=F(Lt);let r;return s=>{o.runOutsideAngular(()=>{i.destroyed&&!r?setTimeout(()=>{throw s}):(r??=i.get(ui),r.handleError(s))})}}}]}function Eh(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}let NP=(()=>{class e{subscription=new Mt;initialized=!1;zone=F(re);pendingTasks=F(Eo);initialize(){if(this.initialized)return;this.initialized=!0;let t=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(t=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{re.assertNotInAngularZone(),queueMicrotask(()=>{null!==t&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(t),t=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{re.assertInAngularZone(),t??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),nw=(()=>{class e{applicationErrorHandler=F(wn);appRef=F(Jn);taskService=F(Eo);ngZone=F(re);zonelessEnabled=F(nm);tracing=F(us,{optional:!0});disableScheduling=F(om,{optional:!0})??!1;zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new Mt;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(_l):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(F(im,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()})),this.disableScheduling||=!this.zonelessEnabled&&(this.ngZone instanceof Nf||!this.zoneIsDefined)}notify(t){if(!this.zonelessEnabled&&5===t)return;let o=!1;switch(t){case 0:this.appRef.dirtyFlags|=2;break;case 3:case 2:case 4:case 5:case 1:this.appRef.dirtyFlags|=4;break;case 6:case 13:this.appRef.dirtyFlags|=2,o=!0;break;case 12:this.appRef.dirtyFlags|=16,o=!0;break;case 11:o=!0;break;default:this.appRef.dirtyFlags|=8}if(this.appRef.tracingSnapshot=this.tracing?.snapshot(this.appRef.tracingSnapshot)??null,!this.shouldScheduleTick(o))return;const i=this.useMicrotaskScheduler?mC:pC;this.pendingRenderTaskId=this.taskService.add(),this.cancelScheduledCallback=this.scheduleInRootZone?Zone.root.run(()=>i(()=>this.tick())):this.ngZone.runOutsideAngular(()=>i(()=>this.tick()))}shouldScheduleTick(t){return!(this.disableScheduling&&!t||this.appRef.destroyed||null!==this.pendingRenderTaskId||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(_l+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;if(0===this.appRef.dirtyFlags)return void this.cleanup();!this.zonelessEnabled&&7&this.appRef.dirtyFlags&&(this.appRef.dirtyFlags|=1);const t=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(o){this.taskService.remove(t),this.applicationErrorHandler(o)}finally{this.cleanup()}this.useMicrotaskScheduler=!0,mC(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(t)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,null!==this.pendingRenderTaskId){const t=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(t)}}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const to=new R("",{providedIn:"root",factory:()=>F(to,{optional:!0,skipSelf:!0})||function OP(){return typeof $localize<"u"&&$localize.locale||kl}()});new R("").__NG_ELEMENT_ID__=e=>{const n=q();if(null===n)throw new T(204,!1);if(2&n.type)return n.value;if(8&e)return null;throw new T(204,!1)};const ql=new R(""),zP=new R("");function ws(e){return!e.moduleRef}let hw;function gw(){hw=GP}function GP(e,n){const t=e.injector.get(Jn);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(o=>t.bootstrap(o));else{if(!e.instance.ngDoBootstrap)throw new T(-403,!1);e.instance.ngDoBootstrap(t)}n.push(e)}let pw=(()=>{class e{_injector;_modules=[];_destroyListeners=[];_destroyed=!1;constructor(t){this._injector=t}bootstrapModuleFactory(t,o){const i=o?.scheduleInRootZone,s=o?.ignoreChangesOutsideZone,a=[XD({ngZoneFactory:()=>function Bx(e="zone.js",n){return"noop"===e?new Nf:"zone.js"===e?new re(n):e}(o?.ngZone,{...Eh({eventCoalescing:o?.ngZoneEventCoalescing,runCoalescing:o?.ngZoneRunCoalescing}),scheduleInRootZone:i}),ignoreChangesOutsideZone:s}),{provide:di,useExisting:nw},PT],l=function cx(e,n,t){return new wf(e,n,t,!1)}(t.moduleType,this.injector,a);return gw(),function fw(e){const n=ws(e)?e.r3Injector:e.moduleRef.injector,t=n.get(re);return t.run(()=>{ws(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();const o=n.get(wn);let i;if(t.runOutsideAngular(()=>{i=t.onError.subscribe({next:o})}),ws(e)){const r=()=>n.destroy(),s=e.platformInjector.get(ql);s.add(r),n.onDestroy(()=>{i.unsubscribe(),s.delete(r)})}else{const r=()=>e.moduleRef.destroy(),s=e.platformInjector.get(ql);s.add(r),e.moduleRef.onDestroy(()=>{El(e.allPlatformModules,e.moduleRef),i.unsubscribe(),s.delete(r)})}return function WP(e,n,t){try{const o=t();return wl(o)?o.catch(i=>{throw n.runOutsideAngular(()=>e(i)),i}):o}catch(o){throw n.runOutsideAngular(()=>e(o)),o}}(o,t,()=>{const r=n.get(Eo),s=r.add(),a=n.get(KC);return a.runInitializers(),a.donePromise.then(()=>{if(function aF(e){"string"==typeof e&&(Mb=e.toLowerCase().replace(/_/g,"-"))}(n.get(to,kl)||kl),!n.get(zP,!0))return ws(e)?n.get(Jn):(e.allPlatformModules.push(e.moduleRef),e.moduleRef);if(ws(e)){const u=n.get(Jn);return void 0!==e.rootComponent&&u.bootstrap(e.rootComponent),u}return hw?.(e.moduleRef,e.allPlatformModules),e.moduleRef}).finally(()=>{r.remove(s)})})})}({moduleRef:l,allPlatformModules:this._modules,platformInjector:this.injector})}bootstrapModule(t,o=[]){const i=JC({},o);return gw(),function BP(e,n,t){const o=new Qy(t);return Promise.resolve(o)}(0,0,t).then(r=>this.bootstrapModuleFactory(r,i))}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new T(404,!1);this._modules.slice().forEach(o=>o.destroy()),this._destroyListeners.forEach(o=>o());const t=this._injector.get(ql,null);t&&(t.forEach(o=>o()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static \u0275fac=function(o){return new(o||e)(te(Vt))};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),Ki=null;function mw(e,n,t=[]){const o=`Platform: ${n}`,i=new R(o);return(r=[])=>{let s=Zl();if(!s){const a=[...t,...r,{provide:i,useValue:!0}];s=e?.(a)??function qP(e){if(Zl())throw new T(400,!1);(function ZR(){!function yI(e){Bg=e}(()=>{throw new T(600,"")})})(),Ki=e;const n=e.get(pw);return function vw(e){const n=e.get(h_,null);yp(e,()=>{n?.forEach(t=>t())})}(e),n}(function _w(e=[],n){return Vt.create({name:n,providers:[{provide:hu,useValue:"platform"},{provide:ql,useValue:new Set([()=>Ki=null])},...e]})}(a,o))}return function ZP(){const n=Zl();if(!n)throw new T(-401,!1);return n}()}}function Zl(){return Ki?.get(pw)??null}let Es=(()=>class e{static __NG_ELEMENT_ID__=QP})();function QP(e){return function KP(e,n,t){if(mn(e)&&!t){const o=at(e.index,n);return new Yr(o,o)}return 175&e.type?new Yr(n[15],n):null}(q(),w(),!(16&~e))}class ww{constructor(){}supports(n){return n instanceof Map||uf(n)}create(){return new n2}}class n2{_records=new Map;_mapHead=null;_appendAfter=null;_previousMapHead=null;_changesHead=null;_changesTail=null;_additionsHead=null;_additionsTail=null;_removalsHead=null;_removalsTail=null;get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(n){let t;for(t=this._mapHead;null!==t;t=t._next)n(t)}forEachPreviousItem(n){let t;for(t=this._previousMapHead;null!==t;t=t._nextPrevious)n(t)}forEachChangedItem(n){let t;for(t=this._changesHead;null!==t;t=t._nextChanged)n(t)}forEachAddedItem(n){let t;for(t=this._additionsHead;null!==t;t=t._nextAdded)n(t)}forEachRemovedItem(n){let t;for(t=this._removalsHead;null!==t;t=t._nextRemoved)n(t)}diff(n){if(n){if(!(n instanceof Map||uf(n)))throw new T(900,!1)}else n=new Map;return this.check(n)?this:null}onDestroy(){}check(n){this._reset();let t=this._mapHead;if(this._appendAfter=null,this._forEach(n,(o,i)=>{if(t&&t.key===i)this._maybeAddToChanges(t,o),this._appendAfter=t,t=t._next;else{const r=this._getOrCreateRecordForKey(i,o);t=this._insertBeforeOrAppend(t,r)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let o=t;null!==o;o=o._nextRemoved)o===this._mapHead&&(this._mapHead=null),this._records.delete(o.key),o._nextRemoved=o._next,o.previousValue=o.currentValue,o.currentValue=null,o._prev=null,o._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const o=n._prev;return t._next=n,t._prev=o,n._prev=t,o&&(o._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const i=this._records.get(n);this._maybeAddToChanges(i,t);const r=i._prev,s=i._next;return r&&(r._next=s),s&&(s._prev=r),i._next=null,i._prev=null,i}const o=new o2(n);return this._records.set(n,o),o.currentValue=t,this._addToAdditions(o),o}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(o=>t(n[o],o))}}class o2{key;previousValue=null;currentValue=null;_nextPrevious=null;_next=null;_prev=null;_nextAdded=null;_nextRemoved=null;_nextChanged=null;constructor(n){this.key=n}}function Mw(){return new Yl([new ww])}let Yl=(()=>{class e{static \u0275prov=X({token:e,providedIn:"root",factory:Mw});factories;constructor(t){this.factories=t}static create(t,o){if(o){const i=o.factories.slice();t=t.concat(i)}return new e(t)}static extend(t){return{provide:e,useFactory:()=>{const o=F(e,{optional:!0,skipSelf:!0});return e.create(t,o||Mw())}}}find(t){const o=this.factories.find(i=>i.supports(t));if(o)return o;throw new T(901,!1)}}return e})();const s2=mw(null,"core",[]);let a2=(()=>{class e{constructor(t){}static \u0275fac=function(o){return new(o||e)(te(Jn))};static \u0275mod=Qn({type:e});static \u0275inj=dn({})}return e})();function Pe(e){return function P2(e){const n=z(null);try{return e()}finally{z(n)}}(e)}function Zt(e,n){return function mI(e,n){const t=Object.create(_I);t.computation=e,void 0!==n&&(t.equal=n);const o=()=>{if(ar(t),Vs(t),t.value===kn)throw t.error;return t.value};return o[We]=t,o}(e,n?.equal)}Error,Error;const $h=/\s+/,nE=[];let Xi=(()=>{class e{_ngEl;_renderer;initialClasses=nE;rawClass;stateMap=new Map;constructor(t,o){this._ngEl=t,this._renderer=o}set klass(t){this.initialClasses=null!=t?t.trim().split($h):nE}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split($h):t}ngDoCheck(){for(const o of this.initialClasses)this._updateState(o,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const o of t)this._updateState(o,!0);else if(null!=t)for(const o of Object.keys(t))this._updateState(o,!!t[o]);this._applyStateDiff()}_updateState(t,o){const i=this.stateMap.get(t);void 0!==i?(i.enabled!==o&&(i.changed=!0,i.enabled=o),i.touched=!0):this.stateMap.set(t,{enabled:o,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const o=t[0],i=t[1];i.changed?(this._toggleClass(o,i.enabled),i.changed=!1):i.touched||(i.enabled&&this._toggleClass(o,!1),this.stateMap.delete(o)),i.touched=!1}}_toggleClass(t,o){(t=t.trim()).length>0&&t.split($h).forEach(i=>{o?this._renderer.addClass(this._ngEl.nativeElement,i):this._renderer.removeClass(this._ngEl.nativeElement,i)})}static \u0275fac=function(o){return new(o||e)(x(At),x(An))};static \u0275dir=W({type:e,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"}})}return e})(),aE=(()=>{class e{_ngEl;_differs;_renderer;_ngStyle=null;_differ=null;constructor(t,o,i){this._ngEl=t,this._differs=o,this._renderer=i}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,o){const[i,r]=t.split("."),s=-1===i.indexOf("-")?void 0:qn.DashCase;null!=o?this._renderer.setStyle(this._ngEl.nativeElement,i,r?`${o}${r}`:o,s):this._renderer.removeStyle(this._ngEl.nativeElement,i,s)}_applyChanges(t){t.forEachRemovedItem(o=>this._setStyle(o.key,null)),t.forEachAddedItem(o=>this._setStyle(o.key,o.currentValue)),t.forEachChangedItem(o=>this._setStyle(o.key,o.currentValue))}static \u0275fac=function(o){return new(o||e)(x(At),x(Yl),x(An))};static \u0275dir=W({type:e,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}})}return e})(),lE=(()=>{class e{_viewContainerRef;_viewRef=null;ngTemplateOutletContext=null;ngTemplateOutlet=null;ngTemplateOutletInjector=null;constructor(t){this._viewContainerRef=t}ngOnChanges(t){if(this._shouldRecreateView(t)){const o=this._viewContainerRef;if(this._viewRef&&o.remove(o.indexOf(this._viewRef)),!this.ngTemplateOutlet)return void(this._viewRef=null);const i=this._createContextForwardProxy();this._viewRef=o.createEmbeddedView(this.ngTemplateOutlet,i,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(t){return!!t.ngTemplateOutlet||!!t.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(t,o,i)=>!!this.ngTemplateOutletContext&&Reflect.set(this.ngTemplateOutletContext,o,i),get:(t,o,i)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,o,i)}})}static \u0275fac=function(o){return new(o||e)(x(ln))};static \u0275dir=W({type:e,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},features:[Mn]})}return e})();let uE=(()=>{class e{transform(t,o,i){if(null==t)return null;if("string"!=typeof t&&!Array.isArray(t))throw function Qt(e,n){return new T(2100,!1)}();return t.slice(o,i)}static \u0275fac=function(o){return new(o||e)};static \u0275pipe=yt({name:"slice",type:e,pure:!1})}return e})(),dE=(()=>{class e{static \u0275fac=function(o){return new(o||e)};static \u0275mod=Qn({type:e});static \u0275inj=dn({})}return e})();const Zh=new R("");let fE=(()=>{class e{_zone;_plugins;_eventNameToPlugin=new Map;constructor(t,o){this._zone=o,t.forEach(i=>{i.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,o,i,r){return this._findPluginFor(o).addEventListener(t,o,i,r)}getZone(){return this._zone}_findPluginFor(t){let o=this._eventNameToPlugin.get(t);if(o)return o;if(o=this._plugins.find(r=>r.supports(t)),!o)throw new T(5101,!1);return this._eventNameToPlugin.set(t,o),o}static \u0275fac=function(o){return new(o||e)(te(Zh),te(re))};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})();class hE{_doc;constructor(n){this._doc=n}manager}const Yh="ng-app-id";function gE(e){for(const n of e)n.remove()}function pE(e,n){const t=n.createElement("style");return t.textContent=e,t}function Qh(e,n){const t=n.createElement("link");return t.setAttribute("rel","stylesheet"),t.setAttribute("href",e),t}let mE=(()=>{class e{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(t,o,i,r={}){this.doc=t,this.appId=o,this.nonce=i,function hH(e,n,t,o){const i=e.head?.querySelectorAll(`style[${Yh}="${n}"],link[${Yh}="${n}"]`);if(i)for(const r of i)r.removeAttribute(Yh),r instanceof HTMLLinkElement?o.set(r.href.slice(r.href.lastIndexOf("/")+1),{usage:0,elements:[r]}):r.textContent&&t.set(r.textContent,{usage:0,elements:[r]})}(t,o,this.inline,this.external),this.hosts.add(t.head)}addStyles(t,o){for(const i of t)this.addUsage(i,this.inline,pE);o?.forEach(i=>this.addUsage(i,this.external,Qh))}removeStyles(t,o){for(const i of t)this.removeUsage(i,this.inline);o?.forEach(i=>this.removeUsage(i,this.external))}addUsage(t,o,i){const r=o.get(t);r?r.usage++:o.set(t,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,i(t,this.doc)))})}removeUsage(t,o){const i=o.get(t);i&&(i.usage--,i.usage<=0&&(gE(i.elements),o.delete(t)))}ngOnDestroy(){for(const[,{elements:t}]of[...this.inline,...this.external])gE(t);this.hosts.clear()}addHost(t){this.hosts.add(t);for(const[o,{elements:i}]of this.inline)i.push(this.addElement(t,pE(o,this.doc)));for(const[o,{elements:i}]of this.external)i.push(this.addElement(t,Qh(o,this.doc)))}removeHost(t){this.hosts.delete(t)}addElement(t,o){return this.nonce&&o.setAttribute("nonce",this.nonce),t.appendChild(o)}static \u0275fac=function(o){return new(o||e)(te(Bn),te(Lr),te(g_,8),te(td))};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})();const Kh={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},Jh=/%COMP%/g,yH=new R("",{providedIn:"root",factory:()=>!0});function vE(e,n){return n.map(t=>t.replace(Jh,e))}let yE=(()=>{class e{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;platformId;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;platformIsServer;constructor(t,o,i,r,s,a,l,c=null,u=null){this.eventManager=t,this.sharedStylesHost=o,this.appId=i,this.removeStylesOnCompDestroy=r,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.tracingService=u,this.platformIsServer=!1,this.defaultRenderer=new Xh(t,s,l,this.platformIsServer,this.tracingService)}createRenderer(t,o){if(!t||!o)return this.defaultRenderer;const i=this.getOrCreateRenderer(t,o);return i instanceof bE?i.applyToHost(t):i instanceof eg&&i.applyStyles(),i}getOrCreateRenderer(t,o){const i=this.rendererByCompId;let r=i.get(o.id);if(!r){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,d=this.platformIsServer,g=this.tracingService;switch(o.encapsulation){case In.Emulated:r=new bE(l,c,o,this.appId,u,s,a,d,g);break;case In.ShadowDom:return new wH(l,c,t,o,s,a,this.nonce,d,g);default:r=new eg(l,c,o,u,s,a,d,g)}i.set(o.id,r)}return r}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(t){this.rendererByCompId.delete(t)}static \u0275fac=function(o){return new(o||e)(te(fE),te(mE),te(Lr),te(yH),te(Bn),te(td),te(re),te(g_),te(us,8))};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})();class Xh{eventManager;doc;ngZone;platformIsServer;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(n,t,o,i,r){this.eventManager=n,this.doc=t,this.ngZone=o,this.platformIsServer=i,this.tracingService=r}destroy(){}destroyNode=null;createElement(n,t){return t?this.doc.createElementNS(Kh[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(CE(n)?n.content:n).appendChild(t)}insertBefore(n,t,o){n&&(CE(n)?n.content:n).insertBefore(t,o)}removeChild(n,t){t.remove()}selectRootElement(n,t){let o="string"==typeof n?this.doc.querySelector(n):n;if(!o)throw new T(-5104,!1);return t||(o.textContent=""),o}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,o,i){if(i){t=i+":"+t;const r=Kh[i];r?n.setAttributeNS(r,t,o):n.setAttribute(t,o)}else n.setAttribute(t,o)}removeAttribute(n,t,o){if(o){const i=Kh[o];i?n.removeAttributeNS(i,t):n.removeAttribute(`${o}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,o,i){i&(qn.DashCase|qn.Important)?n.style.setProperty(t,o,i&qn.Important?"important":""):n.style[t]=o}removeStyle(n,t,o){o&qn.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,o){null!=n&&(n[t]=o)}setValue(n,t){n.nodeValue=t}listen(n,t,o,i){if("string"==typeof n&&!(n=Er().getGlobalEventTarget(this.doc,n)))throw new T(5102,!1);let r=this.decoratePreventDefault(o);return this.tracingService?.wrapEventListener&&(r=this.tracingService.wrapEventListener(n,t,r)),this.eventManager.addEventListener(n,t,r,i)}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===n(t)&&t.preventDefault()}}}function CE(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class wH extends Xh{sharedStylesHost;hostEl;shadowRoot;constructor(n,t,o,i,r,s,a,l,c){super(n,r,s,l,c),this.sharedStylesHost=t,this.hostEl=o,this.shadowRoot=o.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let u=i.styles;u=vE(i.id,u);for(const g of u){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=g,this.shadowRoot.appendChild(h)}const d=i.getExternalStyles?.();if(d)for(const g of d){const h=Qh(g,r);a&&h.setAttribute("nonce",a),this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,o){return super.insertBefore(this.nodeOrShadowRoot(n),t,o)}removeChild(n,t){return super.removeChild(null,t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class eg extends Xh{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(n,t,o,i,r,s,a,l,c){super(n,r,s,a,l),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=i;let u=o.styles;this.styles=c?vE(c,u):u,this.styleUrls=o.getExternalStyles?.(c)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&0===Ti.size&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}}class bE extends eg{contentAttr;hostAttr;constructor(n,t,o,i,r,s,a,l,c){const u=i+"-"+o.id;super(n,t,o,r,s,a,l,c,u),this.contentAttr=function CH(e){return"_ngcontent-%COMP%".replace(Jh,e)}(u),this.hostAttr=function bH(e){return"_nghost-%COMP%".replace(Jh,e)}(u)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const o=super.createElement(n,t);return super.setAttribute(o,this.contentAttr,""),o}}class tg extends UT{supportsDOMEvents=!0;static makeCurrent(){!function jT(e){am??=e}(new tg)}onAndCancel(n,t,o,i){return n.addEventListener(t,o,i),()=>{n.removeEventListener(t,o,i)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.remove()}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function EH(){return Ts=Ts||document.head.querySelector("base"),Ts?Ts.getAttribute("href"):null}();return null==t?null:function MH(e){return new URL(e,document.baseURI).pathname}(t)}resetBaseElement(){Ts=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return function GT(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const o=t.indexOf("="),[i,r]=-1==o?[t,""]:[t.slice(0,o),t.slice(o+1)];if(i.trim()===n)return decodeURIComponent(r)}return null}(document.cookie,n)}}let Ts=null,TH=(()=>{class e{build(){return new XMLHttpRequest}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})(),SH=(()=>{class e extends hE{constructor(t){super(t)}supports(t){return!0}addEventListener(t,o,i,r){return t.addEventListener(o,i,r),()=>this.removeEventListener(t,o,i,r)}removeEventListener(t,o,i,r){return t.removeEventListener(o,i,r)}static \u0275fac=function(o){return new(o||e)(te(Bn))};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})();const DE=["alt","control","meta","shift"],AH={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},NH={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let OH=(()=>{class e extends hE{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,o,i,r){const s=e.parseEventName(o),a=e.eventCallback(s.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Er().onAndCancel(t,s.domEventName,a,r))}static parseEventName(t){const o=t.toLowerCase().split("."),i=o.shift();if(0===o.length||"keydown"!==i&&"keyup"!==i)return null;const r=e._normalizeKey(o.pop());let s="",a=o.indexOf("code");if(a>-1&&(o.splice(a,1),s="code."),DE.forEach(c=>{const u=o.indexOf(c);u>-1&&(o.splice(u,1),s+=c+".")}),s+=r,0!=o.length||0===r.length)return null;const l={};return l.domEventName=i,l.fullKey=s,l}static matchEventFullKeyCode(t,o){let i=AH[t.key]||t.key,r="";return o.indexOf("code.")>-1&&(i=t.code,r="code."),!(null==i||!i)&&(i=i.toLowerCase()," "===i?i="space":"."===i&&(i="dot"),DE.forEach(s=>{s!==i&&(0,NH[s])(t)&&(r+=s+".")}),r+=i,r===o)}static eventCallback(t,o,i){return r=>{e.matchEventFullKeyCode(r,t)&&i.runGuarded(()=>o(r))}}static _normalizeKey(t){return"esc"===t?"escape":t}static \u0275fac=function(o){return new(o||e)(te(Bn))};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})();const FH=mw(s2,"browser",[{provide:td,useValue:"browser"},{provide:h_,useValue:function xH(){tg.makeCurrent()},multi:!0},{provide:Bn,useFactory:function kH(){return function VS(e){ed=e}(document),document}}]),ME=[{provide:Dl,useClass:class IH{addToWindow(n){Ie.getAngularTestability=(o,i=!0)=>{const r=n.findTestabilityInTree(o,i);if(null==r)throw new T(5103,!1);return r},Ie.getAllAngularTestabilities=()=>n.getAllTestabilities(),Ie.getAllAngularRootElements=()=>n.getAllRootElements(),Ie.frameworkStabilizers||(Ie.frameworkStabilizers=[]),Ie.frameworkStabilizers.push(o=>{const i=Ie.getAllAngularTestabilities();let r=i.length;const s=function(){r--,0==r&&o()};i.forEach(a=>{a.whenStable(s)})})}findTestabilityInTree(n,t,o){return null==t?null:n.getTestability(t)??(o?Er().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}}},{provide:ZC,useClass:Pf,deps:[re,Vf,Dl]},{provide:Pf,useClass:Pf,deps:[re,Vf,Dl]}],IE=[{provide:hu,useValue:"root"},{provide:ui,useFactory:function RH(){return new ui}},{provide:Zh,useClass:SH,multi:!0,deps:[Bn]},{provide:Zh,useClass:OH,multi:!0,deps:[Bn]},yE,mE,fE,{provide:rf,useExisting:yE},{provide:class WT{},useClass:TH},[]];let LH=(()=>{class e{constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275mod=Qn({type:e});static \u0275inj=dn({providers:[...IE,...ME],imports:[dE,a2]})}return e})();function no(e){return this instanceof no?(this.v=e,this):new no(e)}function NE(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function rg(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],o=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},o("next"),o("throw"),o("return"),t[Symbol.asyncIterator]=function(){return this},t);function o(r){t[r]=e[r]&&function(s){return new Promise(function(a,l){!function i(r,s,a,l){Promise.resolve(l).then(function(c){r({value:c,done:a})},s)}(a,l,(s=e[r](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const OE=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function xE(e){return ke(e?.then)}function RE(e){return ke(e[qc])}function kE(e){return Symbol.asyncIterator&&ke(e?.[Symbol.asyncIterator])}function FE(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const LE=function cB(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function PE(e){return ke(e?.[LE])}function VE(e){return function AE(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,o=t.apply(e,n||[]),r=[];return i=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",function s(h){return function(p){return Promise.resolve(p).then(h,d)}}),i[Symbol.asyncIterator]=function(){return this},i;function a(h,p){o[h]&&(i[h]=function(b){return new Promise(function(I,N){r.push([h,b,I,N])>1||l(h,b)})},p&&(i[h]=p(i[h])))}function l(h,p){try{!function c(h){h.value instanceof no?Promise.resolve(h.value.v).then(u,d):g(r[0][2],h)}(o[h](p))}catch(b){g(r[0][3],b)}}function u(h){l("next",h)}function d(h){l("throw",h)}function g(h,p){h(p),r.shift(),r.length&&l(r[0][0],r[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:o,done:i}=yield no(t.read());if(i)return yield no(void 0);yield yield no(o)}}finally{t.releaseLock()}})}function HE(e){return ke(e?.getReader)}function Ss(e){if(e instanceof ht)return e;if(null!=e){if(RE(e))return function uB(e){return new ht(n=>{const t=e[qc]();if(ke(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(OE(e))return function dB(e){return new ht(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Zg)})}(e);if(kE(e))return BE(e);if(PE(e))return function hB(e){return new ht(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(HE(e))return function gB(e){return BE(VE(e))}(e)}throw FE(e)}function BE(e){return new ht(n=>{(function pB(e,n){var t,o,i,r;return function TE(e,n,t,o){return new(t||(t=Promise))(function(r,s){function a(u){try{c(o.next(u))}catch(d){s(d)}}function l(u){try{c(o.throw(u))}catch(d){s(d)}}function c(u){u.done?r(u.value):function i(r){return r instanceof t?r:new t(function(s){s(r)})}(u.value).then(a,l)}c((o=o.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=NE(e);!(o=yield t.next()).done;)if(n.next(o.value),n.closed)return}catch(s){i={error:s}}finally{try{o&&!o.done&&(r=t.return)&&(yield r.call(t))}finally{if(i)throw i.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function Go(e,n,t,o=0,i=!1){const r=n.schedule(function(){t(),i?e.add(this.schedule(null,o)):this.unsubscribe()},o);if(e.add(r),!i)return r}function jE(e,n=0){return Mo((t,o)=>{t.subscribe(jn(o,i=>Go(o,e,()=>o.next(i),n),()=>Go(o,e,()=>o.complete(),n),i=>Go(o,e,()=>o.error(i),n)))})}function UE(e,n=0){return Mo((t,o)=>{o.add(e.schedule(()=>t.subscribe(o),n))})}function $E(e,n){if(!e)throw new Error("Iterable cannot be null");return new ht(t=>{Go(t,n,()=>{const o=e[Symbol.asyncIterator]();Go(t,n,()=>{o.next().then(i=>{i.done?t.complete():t.next(i.value)})},0,!0)})})}const{isArray:wB}=Array,{getPrototypeOf:EB,prototype:MB,keys:IB}=Object;const{isArray:NB}=Array;function RB(e,n){return e.reduce((t,o,i)=>(t[o]=n[i],t),{})}function kB(...e){const n=function AB(e){return ke(function ag(e){return e[e.length-1]}(e))?e.pop():void 0}(e),{args:t,keys:o}=function TB(e){if(1===e.length){const n=e[0];if(wB(n))return{args:n,keys:null};if(function SB(e){return e&&"object"==typeof e&&EB(e)===MB}(n)){const t=IB(n);return{args:t.map(o=>n[o]),keys:t}}}return{args:e,keys:null}}(e),i=new ht(r=>{const{length:s}=t;if(!s)return void r.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!d)&&(c||r.next(o?RB(o,a):a),r.complete())}))}});return n?i.pipe(function xB(e){return Vu(n=>function OB(e,n){return NB(n)?e(...n):e(n)}(e,n))}(n)):i}let zE=(()=>{class e{_renderer;_elementRef;onChange=t=>{};onTouched=()=>{};constructor(t,o){this._renderer=t,this._elementRef=o}setProperty(t,o){this._renderer.setProperty(this._elementRef.nativeElement,t,o)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static \u0275fac=function(o){return new(o||e)(x(An),x(At))};static \u0275dir=W({type:e})}return e})(),Wo=(()=>{class e extends zE{static \u0275fac=(()=>{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,features:[ae]})}return e})();const Kt=new R(""),FB={provide:Kt,useExisting:pe(()=>lg),multi:!0};let lg=(()=>{class e extends Wo{writeValue(t){this.setProperty("checked",t)}static \u0275fac=(()=>{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(o,i){1&o&&U("change",function(s){return i.onChange(s.target.checked)})("blur",function(){return i.onTouched()})},standalone:!1,features:[Ee([FB]),ae]})}return e})();const LB={provide:Kt,useExisting:pe(()=>As),multi:!0},VB=new R("");let As=(()=>{class e extends zE{_compositionMode;_composing=!1;constructor(t,o,i){super(t,o),this._compositionMode=i,null==this._compositionMode&&(this._compositionMode=!function PB(){const e=Er()?Er().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static \u0275fac=function(o){return new(o||e)(x(An),x(At),x(VB,8))};static \u0275dir=W({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(o,i){1&o&&U("input",function(s){return i._handleInput(s.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(s){return i._compositionEnd(s.target.value)})},standalone:!1,features:[Ee([LB]),ae]})}return e})();const ot=new R(""),oo=new R("");function XE(e){return null!=e}function eM(e){return wl(e)?function DB(e,n){return n?function bB(e,n){if(null!=e){if(RE(e))return function mB(e,n){return Ss(e).pipe(UE(n),jE(n))}(e,n);if(OE(e))return function vB(e,n){return new ht(t=>{let o=0;return n.schedule(function(){o===e.length?t.complete():(t.next(e[o++]),t.closed||this.schedule())})})}(e,n);if(xE(e))return function _B(e,n){return Ss(e).pipe(UE(n),jE(n))}(e,n);if(kE(e))return $E(e,n);if(PE(e))return function yB(e,n){return new ht(t=>{let o;return Go(t,n,()=>{o=e[LE](),Go(t,n,()=>{let i,r;try{({value:i,done:r}=o.next())}catch(s){return void t.error(s)}r?t.complete():t.next(i)},0,!0)}),()=>ke(o?.return)&&o.return()})}(e,n);if(HE(e))return function CB(e,n){return $E(VE(e),n)}(e,n)}throw FE(e)}(e,n):Ss(e)}(e):e}function tM(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function nM(e,n){return n.map(t=>t(e))}function oM(e){return e.map(n=>function BB(e){return!e.validate}(n)?n:t=>n.validate(t))}function dg(e){return null!=e?function iM(e){if(!e)return null;const n=e.filter(XE);return 0==n.length?null:function(t){return tM(nM(t,n))}}(oM(e)):null}function fg(e){return null!=e?function rM(e){if(!e)return null;const n=e.filter(XE);return 0==n.length?null:function(t){return kB(nM(t,n).map(eM)).pipe(Vu(tM))}}(oM(e)):null}function sM(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function hg(e){return e?Array.isArray(e)?e:[e]:[]}function fc(e,n){return Array.isArray(e)?e.includes(n):e===n}function cM(e,n){const t=hg(n);return hg(e).forEach(i=>{fc(t,i)||t.push(i)}),t}function uM(e,n){return hg(n).filter(t=>!fc(e,t))}class dM{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=dg(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=fg(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class ft extends dM{name;get formDirective(){return null}get path(){return null}}class io extends dM{_parent=null;name=null;valueAccessor=null}class fM{_cd;constructor(n){this._cd=n}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}}let hc=(()=>{class e extends fM{constructor(t){super(t)}static \u0275fac=function(o){return new(o||e)(x(io,2))};static \u0275dir=W({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(o,i){2&o&&Nn("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},standalone:!1,features:[ae]})}return e})();const Ns="VALID",pc="INVALID",er="PENDING",Os="DISABLED";class tr{}class gM extends tr{value;source;constructor(n,t){super(),this.value=n,this.source=t}}class mg extends tr{pristine;source;constructor(n,t){super(),this.pristine=n,this.source=t}}class _g extends tr{touched;source;constructor(n,t){super(),this.touched=n,this.source=t}}class mc extends tr{status;source;constructor(n,t){super(),this.status=n,this.source=t}}class vg extends tr{source;constructor(n){super(),this.source=n}}function _c(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class bg{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(n,t){this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get status(){return Pe(this.statusReactive)}set status(n){Pe(()=>this.statusReactive.set(n))}_status=Zt(()=>this.statusReactive());statusReactive=wo(void 0);get valid(){return this.status===Ns}get invalid(){return this.status===pc}get pending(){return this.status==er}get disabled(){return this.status===Os}get enabled(){return this.status!==Os}errors;get pristine(){return Pe(this.pristineReactive)}set pristine(n){Pe(()=>this.pristineReactive.set(n))}_pristine=Zt(()=>this.pristineReactive());pristineReactive=wo(!0);get dirty(){return!this.pristine}get touched(){return Pe(this.touchedReactive)}set touched(n){Pe(()=>this.touchedReactive.set(n))}_touched=Zt(()=>this.touchedReactive());touchedReactive=wo(!1);get untouched(){return!this.touched}_events=new Xt;events=this._events.asObservable();valueChanges;statusChanges;get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(cM(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(cM(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(uM(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(uM(n,this._rawAsyncValidators))}hasValidator(n){return fc(this._rawValidators,n)}hasAsyncValidator(n){return fc(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){const t=!1===this.touched;this.touched=!0;const o=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsTouched({...n,sourceControl:o}),t&&!1!==n.emitEvent&&this._events.next(new _g(!0,o))}markAllAsDirty(n={}){this.markAsDirty({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:this}),this._forEachChild(t=>t.markAllAsDirty(n))}markAllAsTouched(n={}){this.markAsTouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:this}),this._forEachChild(t=>t.markAllAsTouched(n))}markAsUntouched(n={}){const t=!0===this.touched;this.touched=!1,this._pendingTouched=!1;const o=n.sourceControl??this;this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:o})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,o),t&&!1!==n.emitEvent&&this._events.next(new _g(!1,o))}markAsDirty(n={}){const t=!0===this.pristine;this.pristine=!1;const o=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsDirty({...n,sourceControl:o}),t&&!1!==n.emitEvent&&this._events.next(new mg(!1,o))}markAsPristine(n={}){const t=!1===this.pristine;this.pristine=!0,this._pendingDirty=!1;const o=n.sourceControl??this;this._forEachChild(i=>{i.markAsPristine({onlySelf:!0,emitEvent:n.emitEvent})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n,o),t&&!1!==n.emitEvent&&this._events.next(new mg(!0,o))}markAsPending(n={}){this.status=er;const t=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new mc(this.status,t)),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.markAsPending({...n,sourceControl:t})}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Os,this.errors=null,this._forEachChild(i=>{i.disable({...n,onlySelf:!0})}),this._updateValue();const o=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new gM(this.value,o)),this._events.next(new mc(this.status,o)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t},this),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ns,this._forEachChild(o=>{o.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t},this),this._onDisabledChange.forEach(o=>o(!1))}_updateAncestors(n,t){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine({},t),this._parent._updateTouched({},t))}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){const o=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Ns||this.status===er)&&this._runAsyncValidator(o,n.emitEvent)}const t=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new gM(this.value,t)),this._events.next(new mc(this.status,t)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity({...n,sourceControl:t})}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Os:Ns}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n,t){if(this.asyncValidator){this.status=er,this._hasOwnPendingAsyncValidator={emitEvent:!1!==t,shouldHaveEmitted:!1!==n};const o=eM(this.asyncValidator(this));this._asyncValidationSubscription=o.subscribe(i=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(i,{emitEvent:t,shouldHaveEmitted:n})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();const n=(this._hasOwnPendingAsyncValidator?.emitEvent||this._hasOwnPendingAsyncValidator?.shouldHaveEmitted)??!1;return this._hasOwnPendingAsyncValidator=null,n}return!1}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent,this,t.shouldHaveEmitted)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((o,i)=>o&&o._find(i),this)}getError(n,t){const o=t?this.get(t):this;return o&&o.errors?o.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n,t,o){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),(n||o)&&this._events.next(new mc(this.status,t)),this._parent&&this._parent._updateControlsErrors(n,t,o)}_initObservables(){this.valueChanges=new ve,this.statusChanges=new ve}_calculateStatus(){return this._allControlsDisabled()?Os:this.errors?pc:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(er)?er:this._anyControlsHaveStatus(pc)?pc:Ns}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n,t){const o=!this._anyControlsDirty(),i=this.pristine!==o;this.pristine=o,this._parent&&!n.onlySelf&&this._parent._updatePristine(n,t),i&&this._events.next(new mg(this.pristine,t))}_updateTouched(n={},t){this.touched=this._anyControlsTouched(),this._events.next(new _g(this.touched,t)),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,t)}_onDisabledChange=[];_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){_c(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function ZB(e){return Array.isArray(e)?dg(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function YB(e){return Array.isArray(e)?fg(e):e||null}(this._rawAsyncValidators)}}const nr=new R("",{providedIn:"root",factory:()=>vc}),vc="always";function xs(e,n,t=vc){(function wg(e,n){const t=function aM(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(sM(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const o=function lM(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(sM(o,n.asyncValidator)):"function"==typeof o&&e.setAsyncValidators([o]);const i=()=>e.updateValueAndValidity();bc(n._rawValidators,i),bc(n._rawAsyncValidators,i)})(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function JB(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&vM(e,n)})}(e,n),function ej(e,n){const t=(o,i)=>{n.valueAccessor.writeValue(o),i&&n.viewToModelUpdate(o)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function XB(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&vM(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function KB(e,n){if(n.valueAccessor.setDisabledState){const t=o=>{n.valueAccessor.setDisabledState(o)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function bc(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function vM(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function bM(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function DM(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}Promise.resolve();const wM=class extends bg{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(n=null,t,o){super(function yg(e){return(_c(e)?e.validators:e)||null}(t),function Cg(e,n){return(_c(n)?n.asyncValidators:e)||null}(o,t)),this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),_c(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=DM(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(o=>o(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1,!1!==t?.emitEvent&&this._events.next(new vg(this))}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){bM(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){bM(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){DM(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},uj={provide:io,useExisting:pe(()=>ks)},EM=Promise.resolve();let ks=(()=>{class e extends io{_changeDetectorRef;callSetDisabledState;control=new wM;static ngAcceptInputType_isDisabled;_registered=!1;viewModel;name="";isDisabled;model;options;update=new ve;constructor(t,o,i,r,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this._parent=t,this._setValidators(o),this._setAsyncValidators(i),this.valueAccessor=function Ig(e,n){if(!n)return null;let t,o,i;return Array.isArray(n),n.forEach(r=>{r.constructor===As?t=r:function oj(e){return Object.getPrototypeOf(e.constructor)===Wo}(r)?o=r:i=r}),i||o||t||null}(0,r)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const o=t.name.previousValue;this.formDirective.removeControl({name:o,path:this._getPath(o)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function Mg(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){xs(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._checkName()}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){EM.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const o=t.isDisabled.currentValue,i=0!==o&&function Oh(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(o);EM.then(()=>{i&&!this.control.disabled?this.control.disable():!i&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function yc(e,n){return[...n.path,e]}(t,this._parent):[t]}static \u0275fac=function(o){return new(o||e)(x(ft,9),x(ot,10),x(oo,10),x(Kt,10),x(Es,8),x(nr,8))};static \u0275dir=W({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:!1,features:[Ee([uj]),ae,Mn]})}return e})();const pj={provide:Kt,useExisting:pe(()=>Tg),multi:!0};let Tg=(()=>{class e extends Wo{writeValue(t){this.setProperty("value",parseFloat(t))}registerOnChange(t){this.onChange=o=>{t(""==o?null:parseFloat(o))}}static \u0275fac=(()=>{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function(o,i){1&o&&U("change",function(s){return i.onChange(s.target.value)})("input",function(s){return i.onChange(s.target.value)})("blur",function(){return i.onTouched()})},standalone:!1,features:[Ee([pj]),ae]})}return e})();const bj={provide:Kt,useExisting:pe(()=>Ls),multi:!0};function OM(e,n){return null==e?`${n}`:(n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let Ls=(()=>{class e extends Wo{value;_optionMap=new Map;_idCounter=0;set compareWith(t){this._compareWith=t}_compareWith=Object.is;appRefInjector=F(Jn).injector;destroyRef=F(Dn);cdr=F(Es);_queuedWrite=!1;_writeValueAfterRender(){this._queuedWrite||this.appRefInjector.destroyed||(this._queuedWrite=!0,EC({write:()=>{this.destroyRef.destroyed||(this._queuedWrite=!1,this.writeValue(this.value))}},{injector:this.appRefInjector}))}writeValue(t){this.cdr.markForCheck(),this.value=t;const i=OM(this._getOptionId(t),t);this.setProperty("value",i)}registerOnChange(t){this.onChange=o=>{this.value=this._getOptionValue(o),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const o of this._optionMap.keys())if(this._compareWith(this._optionMap.get(o),t))return o;return null}_getOptionValue(t){const o=function Dj(e){return e.split(":")[0]}(t);return this._optionMap.has(o)?this._optionMap.get(o):t}static \u0275fac=(()=>{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(o,i){1&o&&U("change",function(s){return i.onChange(s.target.value)})("blur",function(){return i.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[Ee([bj]),ae]})}return e})(),Sg=(()=>{class e{_element;_renderer;_select;id;constructor(t,o,i){this._element=t,this._renderer=o,this._select=i,this._select&&(this.id=this._select._registerOption())}set ngValue(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(OM(this.id,t)),this._select._writeValueAfterRender())}set value(t){this._setElementValue(t),this._select&&this._select._writeValueAfterRender()}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select._writeValueAfterRender())}static \u0275fac=function(o){return new(o||e)(x(At),x(An),x(Ls,9))};static \u0275dir=W({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return e})();const wj={provide:Kt,useExisting:pe(()=>Ag),multi:!0};function xM(e,n){return null==e?`${n}`:("string"==typeof n&&(n=`'${n}'`),n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let Ag=(()=>{class e extends Wo{value;_optionMap=new Map;_idCounter=0;set compareWith(t){this._compareWith=t}_compareWith=Object.is;writeValue(t){let o;if(this.value=t,Array.isArray(t)){const i=t.map(r=>this._getOptionId(r));o=(r,s)=>{r._setSelected(i.indexOf(s.toString())>-1)}}else o=(i,r)=>{i._setSelected(!1)};this._optionMap.forEach(o)}registerOnChange(t){this.onChange=o=>{const i=[],r=o.selectedOptions;if(void 0!==r){const s=r;for(let a=0;a{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(o,i){1&o&&U("change",function(s){return i.onChange(s.target)})("blur",function(){return i.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[Ee([wj]),ae]})}return e})(),Ng=(()=>{class e{_element;_renderer;_select;id;_value;constructor(t,o,i){this._element=t,this._renderer=o,this._select=i,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(xM(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(xM(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}_setSelected(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(o){return new(o||e)(x(At),x(An),x(Ag,9))};static \u0275dir=W({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return e})(),Rj=(()=>{class e{static \u0275fac=function(o){return new(o||e)};static \u0275mod=Qn({type:e});static \u0275inj=dn({})}return e})(),Fj=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:nr,useValue:t.callSetDisabledState??vc}]}}static \u0275fac=function(o){return new(o||e)};static \u0275mod=Qn({type:e});static \u0275inj=dn({imports:[Rj]})}return e})();class Lj extends Mt{constructor(n,t){super()}schedule(n,t=0){return this}}const Sc={setInterval(e,n,...t){const{delegate:o}=Sc;return o?.setInterval?o.setInterval(e,n,...t):setInterval(e,n,...t)},clearInterval(e){const{delegate:n}=Sc;return(n?.clearInterval||clearInterval)(e)},delegate:void 0},UM={now:()=>(UM.delegate||Date).now(),delegate:void 0};class Ps{constructor(n,t=Ps.now){this.schedulerActionCtor=n,this.now=t}schedule(n,t=0,o){return new this.schedulerActionCtor(this,n).schedule(o,t)}}Ps.now=UM.now;const $M=new class Vj extends Ps{constructor(n,t=Ps.now){super(n,t),this.actions=[],this._active=!1}flush(n){const{actions:t}=this;if(this._active)return void t.push(n);let o;this._active=!0;do{if(o=n.execute(n.state,n.delay))break}while(n=t.shift());if(this._active=!1,o){for(;n=t.shift();)n.unsubscribe();throw o}}}(class Pj extends Lj{constructor(n,t){super(n,t),this.scheduler=n,this.work=t,this.pending=!1}schedule(n,t=0){var o;if(this.closed)return this;this.state=n;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=null!==(o=this.id)&&void 0!==o?o:this.requestAsyncId(r,this.id,t),this}requestAsyncId(n,t,o=0){return Sc.setInterval(n.flush.bind(n,this),o)}recycleAsyncId(n,t,o=0){if(null!=o&&this.delay===o&&!1===this.pending)return t;null!=t&&Sc.clearInterval(t)}execute(n,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const o=this._execute(n,t);if(o)return o;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,t){let i,o=!1;try{this.work(n)}catch(r){o=!0,i=r||new Error("Scheduled action threw falsy error")}if(o)return this.unsubscribe(),i}unsubscribe(){if(!this.closed){const{id:n,scheduler:t}=this,{actions:o}=t;this.work=this.state=this.scheduler=null,this.pending=!1,Us(o,this),null!=n&&(this.id=this.recycleAsyncId(t,n,null)),this.delay=null,super.unsubscribe()}}}),Hj=$M;function zM(e,n=$M,t){const o=function $j(e=0,n,t=Hj){let o=-1;return null!=n&&(function jj(e){return e&&ke(e.schedule)}(n)?t=n:o=n),new ht(i=>{let r=function Uj(e){return e instanceof Date&&!isNaN(e)}(e)?+e-t.now():e;r<0&&(r=0);let s=0;return t.schedule(function(){i.closed||(i.next(s++),0<=o?this.schedule(void 0,o):i.complete())},r)})}(e,n);return function Bj(e,n){return Mo((t,o)=>{const{leading:i=!0,trailing:r=!1}=n??{};let s=!1,a=null,l=null,c=!1;const u=()=>{l?.unsubscribe(),l=null,r&&(h(),c&&o.complete())},d=()=>{l=null,c&&o.complete()},g=p=>l=Ss(e(p)).subscribe(jn(o,u,d)),h=()=>{if(s){s=!1;const p=a;a=null,o.next(p),!c&&g(p)}};t.subscribe(jn(o,p=>{s=!0,a=p,(!l||l.closed)&&(i?h():g(p))},()=>{c=!0,(!(r&&s&&l)||l.closed)&&o.complete()}))})}(()=>o,t)}function GM(e,n,t){const o=ke(e)||n||t?{next:e,error:n,complete:t}:e;return o?Mo((i,r)=>{var s;null===(s=o.subscribe)||void 0===s||s.call(o);let a=!0;i.subscribe(jn(r,l=>{var c;null===(c=o.next)||void 0===c||c.call(o,l),r.next(l)},()=>{var l;a=!1,null===(l=o.complete)||void 0===l||l.call(o),r.complete()},l=>{var c;a=!1,null===(c=o.error)||void 0===c||c.call(o,l),r.error(l)},()=>{var l,c;a&&(null===(l=o.unsubscribe)||void 0===l||l.call(o)),null===(c=o.finalize)||void 0===c||c.call(o)}))}):Zc}function WM(e,n=Zc){return e=e??zj,Mo((t,o)=>{let i,r=!0;t.subscribe(jn(o,s=>{const a=n(s);(r||!e(i,a))&&(r=!1,i=a,o.next(s))}))})}function zj(e,n){return e===n}var xt=typeof window<"u"?window:{screen:{},navigator:{}},or=(xt.matchMedia||function(){return{matches:!1}}).bind(xt),qM=!1,ZM=function(){};xt.addEventListener&&xt.addEventListener("p",ZM,{get passive(){return qM=!0}}),xt.removeEventListener&&xt.removeEventListener("p",ZM,!1);var YM=qM,xg="ontouchstart"in xt,KM=(xg||"TouchEvent"in xt&&or("(any-pointer: coarse)"),xt.navigator.userAgent||"");or("(pointer: coarse)").matches&&/iPad|Macintosh/.test(KM)&&Math.min(xt.screen.width||0,xt.screen.height||0);(or("(pointer: coarse)").matches||!or("(pointer: fine)").matches&&xg)&&/Windows.*Firefox/.test(KM),or("(any-pointer: fine)").matches||or("(any-hover: hover)");const Kj=(e,n,t)=>({tooltip:e,placement:n,content:t});function Jj(e,n){}function Xj(e,n){1&e&&hl(0,Jj,0,0,"ng-template")}function eU(e,n){if(1&e&&hl(0,Xj,1,0,null,1),2&e){const t=m();A("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Ne(2,Kj,t.tooltip,t.placement,t.content))}}function tU(e,n){if(1&e&&(v(0,"div",0),D(1),_()),2&e){const t=m();ct("title",t.tooltip)("data-tooltip-placement",t.placement),f(),P(" ",t.content," ")}}const nU=["tooltipTemplate"],oU=["leftOuterSelectionBar"],iU=["rightOuterSelectionBar"],rU=["fullBar"],sU=["selectionBar"],aU=["minHandle"],lU=["maxHandle"],cU=["floorLabel"],uU=["ceilLabel"],dU=["minHandleLabel"],fU=["maxHandleLabel"],hU=["combinedLabel"],gU=["ticksElement"],pU=e=>({"ngx-slider-selected":e});function mU(e,n){if(1&e&&O(0,"ngx-slider-tooltip-wrapper",28),2&e){const t=m().$implicit;A("template",m().tooltipTemplate)("tooltip",t.valueTooltip)("placement",t.valueTooltipPlacement)("content",t.value)}}function _U(e,n){1&e&&O(0,"span",29),2&e&&A("innerText",m().$implicit.legend)}function vU(e,n){1&e&&O(0,"span",30),2&e&&A("innerHTML",m().$implicit.legend,X_)}function yU(e,n){if(1&e&&(v(0,"span",26),O(1,"ngx-slider-tooltip-wrapper",27),y(2,mU,1,4,"ngx-slider-tooltip-wrapper",28),y(3,_U,1,1,"span",29),y(4,vU,1,1,"span",30),_()),2&e){const t=n.$implicit,o=m();A("ngClass",Zi(8,pU,t.selected))("ngStyle",t.style),f(),A("template",o.tooltipTemplate)("tooltip",t.tooltip)("placement",t.tooltipPlacement),f(),C(null!=t.value?2:-1),f(),C(null!=t.legend&&!1===o.allowUnsafeHtmlInSlider?3:-1),f(),C(null==t.legend||null!=o.allowUnsafeHtmlInSlider&&!o.allowUnsafeHtmlInSlider?-1:4)}}var cn=function(e){return e[e.Low=0]="Low",e[e.High=1]="High",e[e.Floor=2]="Floor",e[e.Ceil=3]="Ceil",e[e.TickValue=4]="TickValue",e}(cn||{});class Ac{floor=0;ceil=null;step=1;minRange=null;maxRange=null;pushRange=!1;minLimit=null;maxLimit=null;translate=null;combineLabels=null;getLegend=null;getStepLegend=null;stepsArray=null;bindIndexForStepsArray=!1;draggableRange=!1;draggableRangeOnly=!1;showSelectionBar=!1;showSelectionBarEnd=!1;showSelectionBarFromValue=null;showOuterSelectionBars=!1;hidePointerLabels=!1;hideLimitLabels=!1;autoHideLimitLabels=!0;readOnly=!1;disabled=!1;showTicks=!1;showTicksValues=!1;tickStep=null;tickValueStep=null;ticksArray=null;ticksTooltip=null;ticksValuesTooltip=null;vertical=!1;getSelectionBarColor=null;getTickColor=null;getPointerColor=null;keyboardSupport=!0;scale=1;rotate=0;enforceStep=!0;enforceRange=!0;enforceStepsArray=!0;noSwitching=!1;onlyBindHandles=!1;rightToLeft=!1;reversedControls=!1;boundPointerLabels=!0;logScale=!1;customValueToPosition=null;customPositionToValue=null;precisionLimit=12;selectionBarGradient=null;ariaLabel="ngx-slider";ariaLabelledBy=null;ariaLabelHigh="ngx-slider-max";ariaLabelledByHigh=null;handleDimension=null;barDimension=null;animate=!0;animateOnMove=!1}const eI=new R("AllowUnsafeHtmlInSlider");var L=function(e){return e[e.Min=0]="Min",e[e.Max=1]="Max",e}(L||{});class CU{value;highValue;pointerType}class M{static isNullOrUndefined(n){return null==n}static areArraysEqual(n,t){if(n.length!==t.length)return!1;for(let o=0;oMath.abs(n-r.value));let i=0;for(let r=0;r{r.events.next(a)};return n.addEventListener(t,s,{passive:!0,capture:!1}),r.teardownCallback=()=>{n.removeEventListener(t,s,{passive:!0,capture:!1})},r.eventsSubscription=r.events.pipe(M.isNullOrUndefined(i)?GM(()=>{}):zM(i,void 0,{leading:!0,trailing:!0})).subscribe(a=>{o(a)}),r}detachEventListener(n){M.isNullOrUndefined(n.eventsSubscription)||(n.eventsSubscription.unsubscribe(),n.eventsSubscription=null),M.isNullOrUndefined(n.events)||(n.events.complete(),n.events=null),M.isNullOrUndefined(n.teardownCallback)||(n.teardownCallback(),n.teardownCallback=null)}attachEventListener(n,t,o,i){const r=new tI;return r.eventName=t,r.events=new Xt,r.teardownCallback=this.renderer.listen(n,t,a=>{r.events.next(a)}),r.eventsSubscription=r.events.pipe(M.isNullOrUndefined(i)?GM(()=>{}):zM(i,void 0,{leading:!0,trailing:!0})).subscribe(a=>{o(a)}),r}}let so=(()=>{class e{elemRef=F(At);renderer=F(An);changeDetectionRef=F(Es);_position=0;get position(){return this._position}_dimension=0;get dimension(){return this._dimension}_alwaysHide=!1;get alwaysHide(){return this._alwaysHide}_vertical=!1;get vertical(){return this._vertical}_scale=1;get scale(){return this._scale}_rotate=0;get rotate(){return this._rotate}opacity=1;visibility="visible";left="";bottom="";height="";width="";transform="";eventListenerHelper;eventListeners=[];constructor(){this.eventListenerHelper=new nI(this.renderer)}setAlwaysHide(t){this._alwaysHide=t,this.visibility=t?"hidden":"visible"}hide(){this.opacity=0}show(){this.alwaysHide||(this.opacity=1)}isVisible(){return!this.alwaysHide&&0!==this.opacity}setVertical(t){this._vertical=t,this._vertical?(this.left="",this.width=""):(this.bottom="",this.height="")}setScale(t){this._scale=t}setRotate(t){this._rotate=t,this.transform="rotate("+t+"deg)"}getRotate(){return this._rotate}setPosition(t){this._position!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._position=t,this._vertical?this.bottom=Math.round(t)+"px":this.left=Math.round(t)+"px"}calculateDimension(){const t=this.getBoundingClientRect();this._dimension=this.vertical?(t.bottom-t.top)*this.scale:(t.right-t.left)*this.scale}setDimension(t){this._dimension!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._dimension=t,this._vertical?this.height=Math.round(t)+"px":this.width=Math.round(t)+"px"}getBoundingClientRect(){return this.elemRef.nativeElement.getBoundingClientRect()}on(t,o,i){const r=this.eventListenerHelper.attachEventListener(this.elemRef.nativeElement,t,o,i);this.eventListeners.push(r)}onPassive(t,o,i){const r=this.eventListenerHelper.attachPassiveEventListener(this.elemRef.nativeElement,t,o,i);this.eventListeners.push(r)}off(t){let o,i;M.isNullOrUndefined(t)?(o=[],i=this.eventListeners):(o=this.eventListeners.filter(r=>r.eventName!==t),i=this.eventListeners.filter(r=>r.eventName===t));for(const r of i)this.eventListenerHelper.detachEventListener(r);this.eventListeners=o}isRefDestroyed(){return M.isNullOrUndefined(this.changeDetectionRef)||this.changeDetectionRef.destroyed}static \u0275fac=function(o){return new(o||e)};static \u0275dir=W({type:e,selectors:[["","ngxSliderElement",""]],hostVars:14,hostBindings:function(o,i){2&o&&Hl("opacity",i.opacity)("visibility",i.visibility)("left",i.left)("bottom",i.bottom)("height",i.height)("width",i.width)("transform",i.transform)},standalone:!1})}return e})(),Rg=(()=>{class e extends so{active=!1;role="";tabindex="";ariaOrientation="";ariaLabel="";ariaLabelledBy="";ariaValueNow="";ariaValueText="";ariaValueMin="";ariaValueMax="";focus(){this.elemRef.nativeElement.focus()}focusIfNeeded(){document.activeElement!==this.elemRef.nativeElement&&this.elemRef.nativeElement.focus()}static \u0275fac=(()=>{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,selectors:[["","ngxSliderHandle",""]],hostVars:11,hostBindings:function(o,i){2&o&&(ct("role",i.role)("tabindex",i.tabindex)("aria-orientation",i.ariaOrientation)("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledBy)("aria-valuenow",i.ariaValueNow)("aria-valuetext",i.ariaValueText)("aria-valuemin",i.ariaValueMin)("aria-valuemax",i.ariaValueMax),Nn("ngx-slider-active",i.active))},standalone:!1,features:[ae]})}return e})(),ir=(()=>{class e extends so{allowUnsafeHtmlInSlider=F(eI,{optional:!0});_value=null;get value(){return this._value}setValue(t){let o=!1;!this.alwaysHide&&(M.isNullOrUndefined(this.value)||this.value.length!==t.length||this.value.length>0&&0===this.dimension)&&(o=!0),this._value=t,!1===this.allowUnsafeHtmlInSlider?this.elemRef.nativeElement.innerText=t:this.elemRef.nativeElement.innerHTML=t,o&&this.calculateDimension()}static \u0275fac=(()=>{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,selectors:[["","ngxSliderLabel",""]],standalone:!1,features:[ae]})}return e})(),bU=(()=>{class e{template;tooltip;placement;content;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=qt({type:e,selectors:[["ngx-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},standalone:!1,decls:2,vars:2,consts:[[1,"ngx-slider-inner-tooltip"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(o,i){1&o&&(y(0,eU,1,6),y(1,tU,2,3,"div",0)),2&o&&(C(i.template?0:-1),f(),C(i.template?-1:1))},dependencies:[lE],styles:[".ngx-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]})}return e})();class DU{selected=!1;style={};tooltip=null;tooltipPlacement=null;value=null;valueTooltip=null;valueTooltipPlacement=null;legend=null}class oI{active=!1;value=0;difference=0;position=0;lowLimit=0;highLimit=0}class Nc{value;highValue;static compare(n,t){return!(M.isNullOrUndefined(n)&&M.isNullOrUndefined(t)||M.isNullOrUndefined(n)!==M.isNullOrUndefined(t))&&n.value===t.value&&n.highValue===t.highValue}}class iI extends Nc{forceChange;static compare(n,t){return!(M.isNullOrUndefined(n)&&M.isNullOrUndefined(t)||M.isNullOrUndefined(n)!==M.isNullOrUndefined(t))&&n.value===t.value&&n.highValue===t.highValue&&n.forceChange===t.forceChange}}const wU={provide:Kt,useExisting:pe(()=>rI),multi:!0};let rI=(()=>{class e{renderer=F(An);elementRef=F(At);changeDetectionRef=F(Es);zone=F(re);allowUnsafeHtmlInSlider=F(eI,{optional:!0});sliderElementNgxSliderClass=!0;value=null;valueChange=new ve;highValue=null;highValueChange=new ve;options=new Ac;userChangeStart=new ve;userChange=new ve;userChangeEnd=new ve;manualRefreshSubscription;set manualRefresh(t){this.unsubscribeManualRefresh(),this.manualRefreshSubscription=t.subscribe(()=>{setTimeout(()=>this.calculateViewDimensionsAndDetectChanges())})}triggerFocusSubscription;set triggerFocus(t){this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=t.subscribe(o=>{this.focusPointer(o)})}cancelUserChangeSubscription;set cancelUserChange(t){this.unsubscribeCancelUserChange(),this.cancelUserChangeSubscription=t.subscribe(()=>{this.moving&&(this.positionTrackingHandle(this.preStartHandleValue),this.forceEnd(!0))})}get range(){return!M.isNullOrUndefined(this.value)&&!M.isNullOrUndefined(this.highValue)}initHasRun=!1;inputModelChangeSubject=new Xt;inputModelChangeSubscription=null;outputModelChangeSubject=new Xt;outputModelChangeSubscription=null;viewLowValue=null;viewHighValue=null;viewOptions=new Ac;handleHalfDimension=0;maxHandlePosition=0;currentTrackingPointer=null;currentFocusPointer=null;firstKeyDown=!1;touchId=null;dragging=new oI;preStartHandleValue=null;leftOuterSelectionBarElement;rightOuterSelectionBarElement;fullBarElement;selectionBarElement;minHandleElement;maxHandleElement;floorLabelElement;ceilLabelElement;minHandleLabelElement;maxHandleLabelElement;combinedLabelElement;ticksElement;tooltipTemplate;sliderElementVerticalClass=!1;sliderElementAnimateClass=!1;sliderElementWithLegendClass=!1;sliderElementDisabledAttr=null;sliderElementAriaLabel="ngx-slider";barStyle={};minPointerStyle={};maxPointerStyle={};fullBarTransparentClass=!1;selectionBarDraggableClass=!1;ticksUnderValuesClass=!1;get showTicks(){return this.viewOptions.showTicks}intermediateTicks=!1;ticks=[];eventListenerHelper=null;onMoveEventListener=null;onEndEventListener=null;moving=!1;resizeObserver=null;onTouchedCallback=null;onChangeCallback=null;constructor(){this.eventListenerHelper=new nI(this.renderer)}ngOnInit(){this.viewOptions=new Ac,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState(),this.updateAriaLabel()}ngAfterViewInit(){this.applyOptions(),this.subscribeInputModelChangeSubject(),this.subscribeOutputModelChangeSubject(),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.updateAriaLabel(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}ngOnChanges(t){!M.isNullOrUndefined(t.options)&&JSON.stringify(t.options.previousValue)!==JSON.stringify(t.options.currentValue)&&this.onChangeOptions(),(!M.isNullOrUndefined(t.value)||!M.isNullOrUndefined(t.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,forceChange:!1,internalChange:!1})}ngOnDestroy(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}writeValue(t){t instanceof Array?(this.value=t[0],this.highValue=t[1]):this.value=t,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1,controlAccessorChange:!0})}registerOnChange(t){this.onChangeCallback=t}registerOnTouched(t){this.onTouchedCallback=t}setDisabledState(t){this.viewOptions.disabled=t,this.updateDisabledState(),this.initHasRun&&this.manageEventsBindings()}setAriaLabel(t){this.viewOptions.ariaLabel=t,this.updateAriaLabel()}onResize(t){this.calculateViewDimensionsAndDetectChanges()}subscribeInputModelChangeSubject(){this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe(WM(iI.compare),function Gj(e,n){return Mo((t,o)=>{let i=0;t.subscribe(jn(o,r=>e.call(n,r,i++)&&o.next(r)))})}(t=>!t.forceChange&&!t.internalChange)).subscribe(t=>this.applyInputModelChange(t))}subscribeOutputModelChangeSubject(){this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe(WM(iI.compare)).subscribe(t=>this.publishOutputModelChange(t))}subscribeResizeObserver(){ro.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(()=>this.calculateViewDimensionsAndDetectChanges()),this.resizeObserver.observe(this.elementRef.nativeElement))}unsubscribeResizeObserver(){ro.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}unsubscribeOnMove(){M.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}unsubscribeOnEnd(){M.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}unsubscribeInputModelChangeSubject(){M.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}unsubscribeOutputModelChangeSubject(){M.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}unsubscribeManualRefresh(){M.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}unsubscribeTriggerFocus(){M.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}unsubscribeCancelUserChange(){M.isNullOrUndefined(this.cancelUserChangeSubscription)||(this.cancelUserChangeSubscription.unsubscribe(),this.cancelUserChangeSubscription=null)}getPointerElement(t){return t===L.Min?this.minHandleElement:t===L.Max?this.maxHandleElement:null}getCurrentTrackingValue(){return this.currentTrackingPointer===L.Min?this.viewLowValue:this.currentTrackingPointer===L.Max?this.viewHighValue:null}modelValueToViewValue(t){return M.isNullOrUndefined(t)?NaN:M.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+t:M.findStepIndex(+t,this.viewOptions.stepsArray)}viewValueToModelValue(t){return M.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?t:this.getStepValue(t)}getStepValue(t){const o=this.viewOptions.stepsArray[t];return M.isNullOrUndefined(o)?NaN:o.value}applyViewChange(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,forceChange:!1,internalChange:!0})}applyInputModelChange(t){const o=this.normaliseModelValues(t),i=!Nc.compare(t,o);i&&(this.value=o.value,this.highValue=o.highValue),this.viewLowValue=this.modelValueToViewValue(o.value),this.viewHighValue=this.range?this.modelValueToViewValue(o.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:o.value,highValue:o.highValue,controlAccessorChange:t.controlAccessorChange,forceChange:i,userEventInitiated:!1})}publishOutputModelChange(t){const o=()=>{this.valueChange.emit(t.value),this.range&&this.highValueChange.emit(t.highValue),!t.controlAccessorChange&&(M.isNullOrUndefined(this.onChangeCallback)||this.onChangeCallback(this.range?[t.value,t.highValue]:t.value),M.isNullOrUndefined(this.onTouchedCallback)||this.onTouchedCallback(this.range?[t.value,t.highValue]:t.value))};t.userEventInitiated?(o(),this.userChange.emit(this.getChangeContext())):setTimeout(()=>{o()})}normaliseModelValues(t){const o=new Nc;if(o.value=t.value,o.highValue=t.highValue,!M.isNullOrUndefined(this.viewOptions.stepsArray)){if(this.viewOptions.enforceStepsArray){const i=M.findStepIndex(o.value,this.viewOptions.stepsArray);if(o.value=this.viewOptions.stepsArray[i].value,this.range){const r=M.findStepIndex(o.highValue,this.viewOptions.stepsArray);o.highValue=this.viewOptions.stepsArray[r].value}}return o}if(this.viewOptions.enforceStep&&(o.value=this.roundStep(o.value),this.range&&(o.highValue=this.roundStep(o.highValue))),this.viewOptions.enforceRange&&(o.value=Re.clampToRange(o.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(o.highValue=Re.clampToRange(o.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&t.value>t.highValue))if(this.viewOptions.noSwitching)o.value=o.highValue;else{const i=t.value;o.value=t.highValue,o.highValue=i}return o}renormaliseModelValues(){const t={value:this.value,highValue:this.highValue},o=this.normaliseModelValues(t);Nc.compare(o,t)||(this.value=o.value,this.highValue=o.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,forceChange:!0,userEventInitiated:!1}))}onChangeOptions(){if(!this.initHasRun)return;const t=this.getOptionsInfluencingEventBindings(this.viewOptions);this.applyOptions();const o=this.getOptionsInfluencingEventBindings(this.viewOptions),i=!M.areArraysEqual(t,o);this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider(i)}applyOptions(){if(this.viewOptions=new Ac,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!M.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!M.isNullOrUndefined(this.viewOptions.tickStep)||!M.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!M.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),M.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),M.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=(t,o)=>t+" - "+o),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}applyStepsArrayOptions(){this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,M.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(this.viewOptions.bindIndexForStepsArray?this.getStepValue(t):t))}applyFloorCeilOptions(){if(M.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),M.isNullOrUndefined(this.viewOptions.ceil)||M.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,M.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(t))}resetSlider(t=!0){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),t&&(this.unbindEvents(),this.manageEventsBindings()),this.updateDisabledState(),this.updateAriaLabel(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}focusPointer(t){t!==L.Min&&t!==L.Max&&(t=L.Min),t===L.Min?this.minHandleElement.focus():this.range&&t===L.Max&&this.maxHandleElement.focus()}refocusPointerIfNeeded(){M.isNullOrUndefined(this.currentFocusPointer)||this.getPointerElement(this.currentFocusPointer).focusIfNeeded()}manageElementsStyle(){this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);const t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(()=>{this.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate}),this.updateRotate()}manageEventsBindings(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}updateDisabledState(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}updateAriaLabel(){this.sliderElementAriaLabel=this.viewOptions.ariaLabel||"nxg-slider"}updateVerticalState(){this.sliderElementVerticalClass=this.viewOptions.vertical;for(const t of this.getAllSliderElements())M.isNullOrUndefined(t)||t.setVertical(this.viewOptions.vertical)}updateScale(){for(const t of this.getAllSliderElements())t.setScale(this.viewOptions.scale)}updateRotate(){for(const t of this.getAllSliderElements())t.setRotate(this.viewOptions.rotate)}getAllSliderElements(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}initHandles(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}addAccessibility(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.minHandleElement.ariaOrientation=this.viewOptions.vertical||0!==this.viewOptions.rotate?"vertical":"horizontal",M.isNullOrUndefined(this.viewOptions.ariaLabel)?M.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical||0!==this.viewOptions.rotate?"vertical":"horizontal",M.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?M.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}updateAriaAttributes(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,cn.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,cn.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}calculateViewDimensions(){M.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);const t=this.minHandleElement.dimension;this.handleHalfDimension=t/2,M.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-t,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}calculateViewDimensionsAndDetectChanges(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}isRefDestroyed(){return this.changeDetectionRef.destroyed}updateTicksScale(){if(!this.viewOptions.showTicks&&this.sliderElementWithLegendClass)return void setTimeout(()=>{this.sliderElementWithLegendClass=!1});const t=M.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,o=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();const i=M.isNullOrUndefined(this.viewOptions.tickValueStep)?M.isNullOrUndefined(this.viewOptions.tickStep)?this.viewOptions.step:this.viewOptions.tickStep:this.viewOptions.tickValueStep;let r=!1;const s=t.map(a=>{let l=this.valueToPosition(a);this.viewOptions.vertical&&(l=this.maxHandlePosition-l);const c=o+"("+Math.round(l)+"px)",u=new DU;u.selected=this.isTickSelected(a),u.style={"-webkit-transform":c,"-moz-transform":c,"-o-transform":c,"-ms-transform":c,transform:c},u.selected&&!M.isNullOrUndefined(this.viewOptions.getSelectionBarColor)&&(u.style["background-color"]=this.getSelectionBarColor()),!u.selected&&!M.isNullOrUndefined(this.viewOptions.getTickColor)&&(u.style["background-color"]=this.getTickColor(a)),M.isNullOrUndefined(this.viewOptions.ticksTooltip)||(u.tooltip=this.viewOptions.ticksTooltip(a),u.tooltipPlacement=this.viewOptions.vertical?"right":"top"),this.viewOptions.showTicksValues&&!M.isNullOrUndefined(i)&&Re.isModuloWithinPrecisionLimit(a,i,this.viewOptions.precisionLimit)&&(u.value=this.getDisplayValue(a,cn.TickValue),M.isNullOrUndefined(this.viewOptions.ticksValuesTooltip)||(u.valueTooltip=this.viewOptions.ticksValuesTooltip(a),u.valueTooltipPlacement=this.viewOptions.vertical?"right":"top"));let d=null;if(M.isNullOrUndefined(this.viewOptions.stepsArray))M.isNullOrUndefined(this.viewOptions.getLegend)||(d=this.viewOptions.getLegend(a));else{const g=this.viewOptions.stepsArray[a];M.isNullOrUndefined(this.viewOptions.getStepLegend)?M.isNullOrUndefined(g)||(d=g.legend):d=this.viewOptions.getStepLegend(g)}return M.isNullOrUndefined(d)||(u.legend=d,r=!0),u});if(this.sliderElementWithLegendClass!==r&&setTimeout(()=>{this.sliderElementWithLegendClass=r}),M.isNullOrUndefined(this.ticks)||this.ticks.length!==s.length)this.ticks=s,this.isRefDestroyed()||this.changeDetectionRef.detectChanges();else for(let a=0;a=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&t<=this.viewLowValue)return!0}else{const o=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>o&&t>=o&&t<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&t>=this.viewLowValue&&t<=this.viewHighValue)}updateFloorLabel(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,cn.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}updateCeilLabel(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,cn.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}updateHandles(t,o){t===L.Min?this.updateLowHandle(o):t===L.Max&&this.updateHighHandle(o),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}getHandleLabelPos(t,o){const i=t===L.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,r=o-i/2+this.handleHalfDimension,s=this.fullBarElement.dimension-i;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&t===L.Min||!this.viewOptions.rightToLeft&&t===L.Max?Math.min(r,s):Math.min(Math.max(r,0),s):r}updateLowHandle(t){this.minHandleElement.setPosition(t),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,cn.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(L.Min,t)),M.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(L.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateHighHandle(t){this.maxHandleElement.setPosition(t),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,cn.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(L.Max,t)),M.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(L.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateFloorAndCeilLabelsVisibility(){if(this.viewOptions.hidePointerLabels)return;let t=!1,o=!1;const i=this.isLabelBelowFloorLabel(this.minHandleLabelElement),r=this.isLabelAboveCeilLabel(this.minHandleLabelElement),s=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),a=this.isLabelBelowFloorLabel(this.combinedLabelElement),l=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(i?(t=!0,this.floorLabelElement.hide()):(t=!1,this.floorLabelElement.show()),r?(o=!0,this.ceilLabelElement.hide()):(o=!1,this.ceilLabelElement.show()),this.range){const c=this.combinedLabelElement.isVisible()?l:s,u=this.combinedLabelElement.isVisible()?a:i;c?this.ceilLabelElement.hide():o||this.ceilLabelElement.show(),u?this.floorLabelElement.hide():t||this.floorLabelElement.show()}}isLabelBelowFloorLabel(t){const o=t.position,r=this.floorLabelElement.position;return this.viewOptions.rightToLeft?o+t.dimension>=r-2:o<=r+this.floorLabelElement.dimension+2}isLabelAboveCeilLabel(t){const o=t.position,r=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?o<=r+this.ceilLabelElement.dimension+2:o+t.dimension>=r-2}updateSelectionBar(){let t=0,o=0;const i=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,r=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)o=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),t=r;else if(M.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))i?(o=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),t=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(o=this.minHandleElement.position+this.handleHalfDimension,t=0);else{const s=this.viewOptions.showSelectionBarFromValue,a=this.valueToPosition(s);(this.viewOptions.rightToLeft?this.viewLowValue<=s:this.viewLowValue>s)?(o=this.minHandleElement.position-a,t=a+this.handleHalfDimension):(o=a-this.minHandleElement.position,t=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(o),this.selectionBarElement.setPosition(t),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(t),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+o)),this.leftOuterSelectionBarElement.setPosition(t+o)):(this.leftOuterSelectionBarElement.setDimension(t),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+o)),this.rightOuterSelectionBarElement.setPosition(t+o))),M.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!M.isNullOrUndefined(this.viewOptions.selectionBarGradient)){const s=M.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),a=s-t>0&&!i||s-t<=0&&i;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?a?"bottom":"top":a?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(s+o+t+(a?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=s-t+(a?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{const s=this.getSelectionBarColor();this.barStyle={backgroundColor:s}}}getSelectionBarColor(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}getPointerColor(t){return this.viewOptions.getPointerColor(t===L.Max?this.highValue:this.value,t)}getTickColor(t){return this.viewOptions.getTickColor(t)}updateCombinedLabel(){let t=null;if(t=this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position,t){const o=this.getDisplayValue(this.viewLowValue,cn.Low),i=this.getDisplayValue(this.viewHighValue,cn.High),r=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(i,o):this.viewOptions.combineLabels(o,i);this.combinedLabelElement.setValue(r);const s=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(s),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}getDisplayValue(t,o){return!M.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(t=this.getStepValue(t)),this.viewOptions.translate(t,o)}roundStep(t,o){const i=M.isNullOrUndefined(o)?this.viewOptions.step:o;let r=Re.roundToPrecisionLimit((t-this.viewOptions.floor)/i,this.viewOptions.precisionLimit);return r=Math.round(r)*i,Re.roundToPrecisionLimit(this.viewOptions.floor+r,this.viewOptions.precisionLimit)}valueToPosition(t){let o=M.linearValueToPosition;M.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(o=M.logValueToPosition):o=this.viewOptions.customValueToPosition;let i=o(t=Re.clampToRange(t,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return M.isNullOrUndefined(i)&&(i=0),this.viewOptions.rightToLeft&&(i=1-i),i*this.maxHandlePosition}positionToValue(t){let o=t/this.maxHandlePosition;this.viewOptions.rightToLeft&&(o=1-o);let i=M.linearPositionToValue;M.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(i=M.logPositionToValue):i=this.viewOptions.customPositionToValue;const r=i(o,this.viewOptions.floor,this.viewOptions.ceil);return M.isNullOrUndefined(r)?0:r}getEventXY(t,o){if(t instanceof MouseEvent)return this.viewOptions.vertical||0!==this.viewOptions.rotate?t.clientY:t.clientX;let i=0;const r=t.touches;if(!M.isNullOrUndefined(o))for(let s=0;sr?L.Max:this.viewOptions.rightToLeft?o>this.minHandleElement.position?L.Min:L.Max:othis.onBarStart(null,t,o,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.on("mousedown",o=>this.onBarStart(L.Min,t,o,!0,!0)),this.maxHandleElement.on("mousedown",o=>this.onBarStart(L.Max,t,o,!0,!0))):(this.minHandleElement.on("mousedown",o=>this.onStart(L.Min,o,!0,!0)),this.range&&this.maxHandleElement.on("mousedown",o=>this.onStart(L.Max,o,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.on("mousedown",o=>this.onStart(null,o,!0,!0,!0)),this.ticksElement.on("mousedown",o=>this.onStart(null,o,!0,!0,!0,!0)))),this.viewOptions.onlyBindHandles||this.selectionBarElement.onPassive("touchstart",o=>this.onBarStart(null,t,o,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.onPassive("touchstart",o=>this.onBarStart(L.Min,t,o,!0,!0)),this.maxHandleElement.onPassive("touchstart",o=>this.onBarStart(L.Max,t,o,!0,!0))):(this.minHandleElement.onPassive("touchstart",o=>this.onStart(L.Min,o,!0,!0)),this.range&&this.maxHandleElement.onPassive("touchstart",o=>this.onStart(L.Max,o,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.onPassive("touchstart",o=>this.onStart(null,o,!0,!0,!0)),this.ticksElement.onPassive("touchstart",o=>this.onStart(null,o,!1,!1,!0,!0)))),this.viewOptions.keyboardSupport&&(this.minHandleElement.on("focus",()=>this.onPointerFocus(L.Min)),this.range&&this.maxHandleElement.on("focus",()=>this.onPointerFocus(L.Max)))}getOptionsInfluencingEventBindings(t){return[t.disabled,t.readOnly,t.draggableRange,t.draggableRangeOnly,t.onlyBindHandles,t.keyboardSupport]}unbindEvents(){this.unsubscribeOnMove(),this.unsubscribeOnEnd();for(const t of this.getAllSliderElements())M.isNullOrUndefined(t)||t.off()}onBarStart(t,o,i,r,s,a,l){o?this.onDragStart(t,i,r,s):this.onStart(t,i,r,s,a,l)}onStart(t,o,i,r,s,a){o.stopPropagation(),!ro.isTouchEvent(o)&&!YM&&o.preventDefault(),this.moving=!1,this.calculateViewDimensions(),M.isNullOrUndefined(t)&&(t=this.getNearestHandle(o)),this.currentTrackingPointer=t;const l=this.getPointerElement(t);if(l.active=!0,this.preStartHandleValue=this.getCurrentTrackingValue(),this.viewOptions.keyboardSupport&&l.focus(),i){this.unsubscribeOnMove();const c=u=>this.dragging.active?this.onDragMove(u):this.onMove(u);this.onMoveEventListener=ro.isTouchEvent(o)?this.eventListenerHelper.attachPassiveEventListener(document,"touchmove",c):this.eventListenerHelper.attachEventListener(document,"mousemove",c)}if(r){this.unsubscribeOnEnd();const c=u=>this.onEnd(u);this.onEndEventListener=ro.isTouchEvent(o)?this.eventListenerHelper.attachPassiveEventListener(document,"touchend",c):this.eventListenerHelper.attachEventListener(document,"mouseup",c)}this.userChangeStart.emit(this.getChangeContext()),ro.isTouchEvent(o)&&!M.isNullOrUndefined(o.changedTouches)&&M.isNullOrUndefined(this.touchId)&&(this.touchId=o.changedTouches[0].identifier),s&&this.onMove(o,!0),a&&this.onEnd(o)}onMove(t,o){let i=null;if(ro.isTouchEvent(t)){const c=t.changedTouches;for(let u=0;u=this.maxHandlePosition?s=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(s=this.positionToValue(r),s=o&&!M.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(s,this.viewOptions.tickStep):this.roundStep(s)),this.positionTrackingHandle(s)}forceEnd(t=!1){this.moving=!1,this.viewOptions.animate&&(this.sliderElementAnimateClass=!0),t&&(this.sliderElementAnimateClass=!1,setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate})),this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext())}onEnd(t){ro.isTouchEvent(t)&&t.changedTouches[0].identifier!==this.touchId||this.forceEnd()}onPointerFocus(t){const o=this.getPointerElement(t);o.on("blur",()=>this.onPointerBlur(o)),o.on("keydown",i=>this.onKeyboardEvent(i)),o.on("keyup",()=>this.onKeyUp()),o.active=!0,this.currentTrackingPointer=t,this.currentFocusPointer=t,this.firstKeyDown=!0}onKeyUp(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}onPointerBlur(t){t.off("blur"),t.off("keydown"),t.off("keyup"),t.active=!1,M.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}getKeyActions(t){const o=this.viewOptions.ceil-this.viewOptions.floor;let i=t+this.viewOptions.step,r=t-this.viewOptions.step,s=t+o/10,a=t-o/10;this.viewOptions.reversedControls&&(i=t-this.viewOptions.step,r=t+this.viewOptions.step,s=t-o/10,a=t+o/10);const l={UP:i,DOWN:r,LEFT:r,RIGHT:i,PAGEUP:s,PAGEDOWN:a,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(l.LEFT=i,l.RIGHT=r,(this.viewOptions.vertical||0!==this.viewOptions.rotate)&&(l.UP=r,l.DOWN=i)),l}onKeyboardEvent(t){const o=this.getCurrentTrackingValue(),i=M.isNullOrUndefined(t.keyCode)?t.which:t.keyCode,l=this.getKeyActions(o)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[i]];if(M.isNullOrUndefined(l)||M.isNullOrUndefined(this.currentTrackingPointer))return;t.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));const c=Re.clampToRange(l,this.viewOptions.floor,this.viewOptions.ceil),u=this.roundStep(c);if(this.viewOptions.draggableRangeOnly){const d=this.viewHighValue-this.viewLowValue;let g,h;this.currentTrackingPointer===L.Min?(g=u,h=u+d,h>this.viewOptions.ceil&&(h=this.viewOptions.ceil,g=h-d)):this.currentTrackingPointer===L.Max&&(h=u,g=u-d,g=this.maxHandlePosition-i;let u,d;if(o<=r){if(0===s.position)return;u=this.getMinValue(o,!0,!1),d=this.getMaxValue(o,!0,!1)}else if(c){if(a.position===this.maxHandlePosition)return;d=this.getMaxValue(o,!0,!0),u=this.getMinValue(o,!0,!0)}else u=this.getMinValue(o,!1,!1),d=this.getMaxValue(o,!1,!1);this.positionTrackingBar(u,d)}positionTrackingBar(t,o){!M.isNullOrUndefined(this.viewOptions.minLimit)&&tthis.viewOptions.maxLimit&&(t=Re.roundToPrecisionLimit((o=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=t,this.viewHighValue=o,this.applyViewChange(),this.updateHandles(L.Min,this.valueToPosition(t)),this.updateHandles(L.Max,this.valueToPosition(o))}positionTrackingHandle(t){t=this.applyMinMaxLimit(t),this.range&&(this.viewOptions.pushRange?t=this.applyPushRange(t):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===L.Min&&t>this.viewHighValue?t=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===L.Max&&tthis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(L.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=L.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===L.Max&&tthis.viewOptions.maxLimit?this.viewOptions.maxLimit:t}applyMinMaxRange(t){const i=Math.abs(t-(this.currentTrackingPointer===L.Min?this.viewHighValue:this.viewLowValue));if(!M.isNullOrUndefined(this.viewOptions.minRange)&&ithis.viewOptions.maxRange){if(this.currentTrackingPointer===L.Min)return Re.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===L.Max)return Re.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return t}applyPushRange(t){const o=this.currentTrackingPointer===L.Min?this.viewHighValue-t:t-this.viewLowValue,i=M.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,r=this.viewOptions.maxRange;return or&&(this.currentTrackingPointer===L.Min?(this.viewHighValue=Re.roundToPrecisionLimit(t+r,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(L.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===L.Max&&(this.viewLowValue=Re.roundToPrecisionLimit(t-r,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(L.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),t}getChangeContext(){const t=new CU;return t.pointerType=this.currentTrackingPointer,t.value=+this.value,this.range&&(t.highValue=+this.highValue),t}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=qt({type:e,selectors:[["ngx-slider"]],contentQueries:function(o,i,r){if(1&o&&Gb(r,nU,5),2&o){let s;wt(s=Et())&&(i.tooltipTemplate=s.first)}},viewQuery:function(o,i){if(1&o&&(Nt(oU,5,so),Nt(iU,5,so),Nt(rU,5,so),Nt(sU,5,so),Nt(aU,5,Rg),Nt(lU,5,Rg),Nt(cU,5,ir),Nt(uU,5,ir),Nt(dU,5,ir),Nt(fU,5,ir),Nt(hU,5,ir),Nt(gU,5,so)),2&o){let r;wt(r=Et())&&(i.leftOuterSelectionBarElement=r.first),wt(r=Et())&&(i.rightOuterSelectionBarElement=r.first),wt(r=Et())&&(i.fullBarElement=r.first),wt(r=Et())&&(i.selectionBarElement=r.first),wt(r=Et())&&(i.minHandleElement=r.first),wt(r=Et())&&(i.maxHandleElement=r.first),wt(r=Et())&&(i.floorLabelElement=r.first),wt(r=Et())&&(i.ceilLabelElement=r.first),wt(r=Et())&&(i.minHandleLabelElement=r.first),wt(r=Et())&&(i.maxHandleLabelElement=r.first),wt(r=Et())&&(i.combinedLabelElement=r.first),wt(r=Et())&&(i.ticksElement=r.first)}},hostVars:10,hostBindings:function(o,i){1&o&&U("resize",function(s){return i.onResize(s)},Va),2&o&&(ct("disabled",i.sliderElementDisabledAttr)("aria-label",i.sliderElementAriaLabel),Nn("ngx-slider",i.sliderElementNgxSliderClass)("vertical",i.sliderElementVerticalClass)("animate",i.sliderElementAnimateClass)("with-legend",i.sliderElementWithLegendClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus",cancelUserChange:"cancelUserChange"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},standalone:!1,features:[Ee([wU]),Mn],decls:30,vars:12,consts:[["leftOuterSelectionBar",""],["rightOuterSelectionBar",""],["fullBar",""],["selectionBar",""],["minHandle",""],["maxHandle",""],["floorLabel",""],["ceilLabel",""],["minHandleLabel",""],["maxHandleLabel",""],["combinedLabel",""],["ticksElement",""],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-left-out-selection"],[1,"ngx-slider-span","ngx-slider-bar"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-right-out-selection"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-full-bar"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-selection-bar"],[1,"ngx-slider-span","ngx-slider-bar","ngx-slider-selection",3,"ngStyle"],["ngxSliderHandle","",1,"ngx-slider-span","ngx-slider-pointer","ngx-slider-pointer-min",3,"ngStyle"],["ngxSliderHandle","",1,"ngx-slider-span","ngx-slider-pointer","ngx-slider-pointer-max",3,"ngStyle"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-limit","ngx-slider-floor"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-limit","ngx-slider-ceil"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-model-value"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-model-high"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-combined"],["ngxSliderElement","",1,"ngx-slider-ticks",3,"hidden"],[1,"ngx-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],[1,"ngx-slider-span","ngx-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ngx-slider-span","ngx-slider-tick-legend",3,"innerText"],[1,"ngx-slider-span","ngx-slider-tick-legend",3,"innerHTML"]],template:function(o,i){1&o&&(v(0,"span",12,0),O(2,"span",13),_(),v(3,"span",14,1),O(5,"span",13),_(),v(6,"span",15,2),O(8,"span",13),_(),v(9,"span",16,3),O(11,"span",17),_(),O(12,"span",18,4)(14,"span",19,5)(16,"span",20,6)(18,"span",21,7)(20,"span",22,8)(22,"span",23,9)(24,"span",24,10),v(26,"span",25,11),Qe(28,yU,5,10,"span",26,Ye),_()),2&o&&(f(6),Nn("ngx-slider-transparent",i.fullBarTransparentClass),f(3),Nn("ngx-slider-draggable",i.selectionBarDraggableClass),f(2),A("ngStyle",i.barStyle),f(),A("ngStyle",i.minPointerStyle),f(2),Hl("display",i.range?"inherit":"none"),A("ngStyle",i.maxPointerStyle),f(12),Nn("ngx-slider-ticks-values-under",i.ticksUnderValuesClass),A("hidden",!i.showTicks),f(2),Ke(i.ticks))},dependencies:[Xi,aE,so,Rg,ir,bU],styles:['.ngx-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;user-select:none;touch-action:pan-y} .ngx-slider.with-legend{margin-bottom:40px} .ngx-slider[disabled]{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ngx-slider[disabled] .ngx-slider-draggable{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-selection{background:#8b91a2} .ngx-slider[disabled] .ngx-slider-tick{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-tick.ngx-slider-selected{background:#8b91a2} .ngx-slider .ngx-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ngx-slider .ngx-slider-base{width:100%;height:100%;padding:0} .ngx-slider .ngx-slider-bar-wrapper{left:0;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ngx-slider .ngx-slider-draggable{cursor:move} .ngx-slider .ngx-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-transparent .ngx-slider-bar{background:transparent} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-left-out-selection .ngx-slider-bar{background:#df002d} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-right-out-selection .ngx-slider-bar{background:#03a688} .ngx-slider .ngx-slider-selection{z-index:2;background:#0db9f0;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} .ngx-slider .ngx-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px} .ngx-slider .ngx-slider-pointer:after{content:"";width:8px;height:8px;position:absolute;top:12px;left:12px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;background:#fff} .ngx-slider .ngx-slider-pointer:hover:after{background-color:#fff} .ngx-slider .ngx-slider-pointer.ngx-slider-active{z-index:4} .ngx-slider .ngx-slider-pointer.ngx-slider-active:after{background-color:#451aff} .ngx-slider .ngx-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:#55637d} .ngx-slider .ngx-slider-ticks{box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ngx-slider .ngx-slider-ticks-values-under .ngx-slider-tick-value{top:auto;bottom:-36px} .ngx-slider .ngx-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ngx-slider .ngx-slider-tick.ngx-slider-selected{background:#0db9f0} .ngx-slider .ngx-slider-tick-value{position:absolute;top:-34px;transform:translate(-50%)} .ngx-slider .ngx-slider-tick-legend{position:absolute;top:24px;transform:translate(-50%);max-width:50px;white-space:normal} .ngx-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;touch-action:pan-x} .ngx-slider.vertical .ngx-slider-base{width:100%;height:100%;padding:0} .ngx-slider.vertical .ngx-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ngx-slider.vertical .ngx-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ngx-slider.vertical .ngx-slider-pointer{left:-14px!important;top:auto;bottom:0} .ngx-slider.vertical .ngx-slider-bubble{left:16px!important;bottom:0} .ngx-slider.vertical .ngx-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ngx-slider.vertical .ngx-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ngx-slider.vertical .ngx-slider-tick-value{left:24px;top:auto;transform:translateY(-28%)} .ngx-slider.vertical .ngx-slider-tick-legend{top:auto;right:24px;transform:translateY(-28%);max-width:none;white-space:nowrap} .ngx-slider.vertical .ngx-slider-ticks-values-under .ngx-slider-tick-value{bottom:auto;left:auto;right:24px} .ngx-slider *{transition:none} .ngx-slider.animate .ngx-slider-bar-wrapper{transition:all linear .3s} .ngx-slider.animate .ngx-slider-selection{transition:background-color linear .3s} .ngx-slider.animate .ngx-slider-pointer{transition:all linear .3s} .ngx-slider.animate .ngx-slider-pointer:after{transition:all linear .3s} .ngx-slider.animate .ngx-slider-bubble{transition:all linear .3s} .ngx-slider.animate .ngx-slider-bubble.ngx-slider-limit{transition:opacity linear .3s} .ngx-slider.animate .ngx-slider-bubble.ngx-slider-combined{transition:opacity linear .3s} .ngx-slider.animate .ngx-slider-tick{transition:background-color linear .3s}']})}return e})(),EU=(()=>{class e{static \u0275fac=function(o){return new(o||e)};static \u0275mod=Qn({type:e});static \u0275inj=dn({imports:[dE]})}return e})();class sI{constructor(){this.riskHotspotsSettings=null,this.coverageInfoSettings=null}}class MU{constructor(){this.showLineCoverage=!0,this.showBranchCoverage=!0,this.showMethodCoverage=!0,this.showFullMethodCoverage=!0,this.visibleMetrics=[],this.groupingMaximum=0,this.grouping=0,this.historyComparisionDate="",this.historyComparisionType="",this.filter="",this.lineCoverageMin=0,this.lineCoverageMax=100,this.branchCoverageMin=0,this.branchCoverageMax=100,this.methodCoverageMin=0,this.methodCoverageMax=100,this.methodFullCoverageMin=0,this.methodFullCoverageMax=100,this.sortBy="name",this.sortOrder="asc",this.collapseStates=[]}}class IU{constructor(n){this.et="",this.et=n.et,this.cl=n.cl,this.ucl=n.ucl,this.cal=n.cal,this.tl=n.tl,this.lcq=n.lcq,this.cb=n.cb,this.tb=n.tb,this.bcq=n.bcq,this.cm=n.cm,this.fcm=n.fcm,this.tm=n.tm,this.mcq=n.mcq,this.mfcq=n.mfcq}get coverageRatioText(){return 0===this.tl?"-":this.cl+"/"+this.cal}get branchCoverageRatioText(){return 0===this.tb?"-":this.cb+"/"+this.tb}get methodCoverageRatioText(){return 0===this.tm?"-":this.cm+"/"+this.tm}get methodFullCoverageRatioText(){return 0===this.tm?"-":this.fcm+"/"+this.tm}}class Rt{static roundNumber(n){return Math.floor(n*Math.pow(10,Rt.maximumDecimalPlacesForCoverageQuotas))/Math.pow(10,Rt.maximumDecimalPlacesForCoverageQuotas)}static getNthOrLastIndexOf(n,t,o){let i=0,r=-1,s=-1;for(;i{this.historicCoverages.push(new IU(o))}),this.metrics=n.metrics}get coverage(){return 0===this.coverableLines?NaN:Rt.roundNumber(100*this.coveredLines/this.coverableLines)}visible(n){if(""!==n.filter&&-1===this.name.toLowerCase().indexOf(n.filter.toLowerCase()))return!1;let t=this.coverage,o=t;if(t=Number.isNaN(t)?0:t,o=Number.isNaN(o)?100:o,n.lineCoverageMin>t||n.lineCoverageMaxi||n.branchCoverageMaxs||n.methodCoverageMaxl||n.methodFullCoverageMax=this.currentHistoricCoverage.lcq)return!1}else if("branchCoverageIncreaseOnly"===n.historyComparisionType){let u=this.branchCoverage;if(isNaN(u)||u<=this.currentHistoricCoverage.bcq)return!1}else if("branchCoverageDecreaseOnly"===n.historyComparisionType){let u=this.branchCoverage;if(isNaN(u)||u>=this.currentHistoricCoverage.bcq)return!1}else if("methodCoverageIncreaseOnly"===n.historyComparisionType){let u=this.methodCoverage;if(isNaN(u)||u<=this.currentHistoricCoverage.mcq)return!1}else if("methodCoverageDecreaseOnly"===n.historyComparisionType){let u=this.methodCoverage;if(isNaN(u)||u>=this.currentHistoricCoverage.mcq)return!1}else if("fullMethodCoverageIncreaseOnly"===n.historyComparisionType){let u=this.methodFullCoverage;if(isNaN(u)||u<=this.currentHistoricCoverage.mfcq)return!1}else if("fullMethodCoverageDecreaseOnly"===n.historyComparisionType){let u=this.methodFullCoverage;if(isNaN(u)||u>=this.currentHistoricCoverage.mfcq)return!1}return!0}updateCurrentHistoricCoverage(n){if(this.currentHistoricCoverage=null,""!==n)for(let t=0;t-1&&null===t}visible(n){if(""!==n.filter&&this.name.toLowerCase().indexOf(n.filter.toLowerCase())>-1)return!0;for(let t=0;t{var e;class n{get nativeWindow(){return function TU(){return window}()}static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)},this.\u0275prov=X({token:n,factory:n.\u0275fac}))}return e(),n})(),SU=(()=>{var e;class n{constructor(){this.translations={}}static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)},this.\u0275cmp=qt({type:n,selectors:[["pro-button"]],inputs:{translations:"translations"},standalone:!1,decls:3,vars:2,consts:[["href","https://reportgenerator.io/pro","target","_blank",1,"pro-button","pro-button-tiny",3,"title"]],template:function(i,r){1&i&&(D(0,"\xa0"),v(1,"a",0),D(2,"PRO"),_()),2&i&&(f(),A("title",xn(r.translations.methodCoverageProVersion)))},encapsulation:2}))}return e(),n})();function AU(e,n){if(1&e){const t=ue();v(0,"div",3)(1,"label")(2,"input",4),Ge("ngModelChange",function(i){B(t);const r=m();return ye(r.showBranchCoverage,i)||(r.showBranchCoverage=i),j(i)}),U("change",function(){B(t);const i=m();return j(i.showBranchCoverageChange.emit(i.showBranchCoverage))}),_(),D(3),_()()}if(2&e){const t=m();f(2),je("ngModel",t.showBranchCoverage),f(),P(" ",t.translations.branchCoverage)}}function NU(e,n){1&e&&O(0,"pro-button",6),2&e&&A("translations",m().translations)}function OU(e,n){1&e&&O(0,"pro-button",6),2&e&&A("translations",m().translations)}function xU(e,n){1&e&&O(0,"pro-button",6),2&e&&A("translations",m(2).translations)}function RU(e,n){1&e&&(v(0,"a",8),O(1,"i",9),_()),2&e&&A("href",m().$implicit.explanationUrl,Wn)}function kU(e,n){if(1&e){const t=ue();v(0,"div",3)(1,"label")(2,"input",7),U("change",function(){const i=B(t).$implicit;return j(m(2).toggleMetric(i))}),_(),D(3),_(),D(4,"\xa0"),y(5,RU,2,1,"a",8),_()}if(2&e){const t=n.$implicit,o=m(2);f(2),A("checked",o.isMetricSelected(t))("disabled",!o.methodCoverageAvailable),f(),P(" ",t.name),f(2),C(t.explanationUrl?5:-1)}}function FU(e,n){if(1&e&&(O(0,"br")(1,"br"),v(2,"b"),D(3),_(),y(4,xU,1,1,"pro-button",6),Qe(5,kU,6,4,"div",3,Ye)),2&e){const t=m();f(3),k(t.translations.metrics),f(),C(t.methodCoverageAvailable?-1:4),f(),Ke(t.metrics)}}let LU=(()=>{var e;class n{constructor(){this.visible=!1,this.visibleChange=new ve,this.translations={},this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.metrics=[],this.showLineCoverage=!1,this.showLineCoverageChange=new ve,this.showBranchCoverage=!1,this.showBranchCoverageChange=new ve,this.showMethodCoverage=!1,this.showMethodCoverageChange=new ve,this.showMethodFullCoverage=!1,this.showMethodFullCoverageChange=new ve,this.visibleMetrics=[],this.visibleMetricsChange=new ve}isMetricSelected(o){return void 0!==this.visibleMetrics.find(i=>i.name===o.name)}toggleMetric(o){let i=this.visibleMetrics.find(r=>r.name===o.name);i?this.visibleMetrics.splice(this.visibleMetrics.indexOf(i),1):this.visibleMetrics.push(o),this.visibleMetrics=[...this.visibleMetrics],this.visibleMetricsChange.emit(this.visibleMetrics)}close(){this.visible=!1,this.visibleChange.emit(this.visible)}cancelEvent(o){o.stopPropagation()}static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)},this.\u0275cmp=qt({type:n,selectors:[["popup"]],inputs:{visible:"visible",translations:"translations",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",metrics:"metrics",showLineCoverage:"showLineCoverage",showBranchCoverage:"showBranchCoverage",showMethodCoverage:"showMethodCoverage",showMethodFullCoverage:"showMethodFullCoverage",visibleMetrics:"visibleMetrics"},outputs:{visibleChange:"visibleChange",showLineCoverageChange:"showLineCoverageChange",showBranchCoverageChange:"showBranchCoverageChange",showMethodCoverageChange:"showMethodCoverageChange",showMethodFullCoverageChange:"showMethodFullCoverageChange",visibleMetricsChange:"visibleMetricsChange"},standalone:!1,decls:22,vars:13,consts:[[1,"popup-container",3,"click"],[1,"popup",3,"click"],[1,"close",3,"click"],[1,"mt-1"],["type","checkbox",3,"ngModelChange","change","ngModel"],["type","checkbox",3,"ngModelChange","change","ngModel","disabled"],[3,"translations"],["type","checkbox",3,"change","checked","disabled"],["target","_blank",3,"href"],[1,"icon-info-circled"]],template:function(i,r){1&i&&(v(0,"div",0),U("click",function(){return r.close()}),v(1,"div",1),U("click",function(a){return r.cancelEvent(a)}),v(2,"div",2),U("click",function(){return r.close()}),D(3,"X"),_(),v(4,"b"),D(5),_(),v(6,"div",3)(7,"label")(8,"input",4),Ge("ngModelChange",function(a){return ye(r.showLineCoverage,a)||(r.showLineCoverage=a),a}),U("change",function(){return r.showLineCoverageChange.emit(r.showLineCoverage)}),_(),D(9),_()(),y(10,AU,4,2,"div",3),v(11,"div",3)(12,"label")(13,"input",5),Ge("ngModelChange",function(a){return ye(r.showMethodCoverage,a)||(r.showMethodCoverage=a),a}),U("change",function(){return r.showMethodCoverageChange.emit(r.showMethodCoverage)}),_(),D(14),_(),y(15,NU,1,1,"pro-button",6),_(),v(16,"div",3)(17,"label")(18,"input",5),Ge("ngModelChange",function(a){return ye(r.showMethodFullCoverage,a)||(r.showMethodFullCoverage=a),a}),U("change",function(){return r.showMethodFullCoverageChange.emit(r.showMethodFullCoverage)}),_(),D(19),_(),y(20,OU,1,1,"pro-button",6),_(),y(21,FU,7,2),_()()),2&i&&(f(5),k(r.translations.coverageTypes),f(3),je("ngModel",r.showLineCoverage),f(),P(" ",r.translations.coverage),f(),C(r.branchCoverageAvailable?10:-1),f(3),je("ngModel",r.showMethodCoverage),A("disabled",!r.methodCoverageAvailable),f(),P(" ",r.translations.methodCoverage),f(),C(r.methodCoverageAvailable?-1:15),f(3),je("ngModel",r.showMethodFullCoverage),A("disabled",!r.methodCoverageAvailable),f(),P(" ",r.translations.fullMethodCoverage),f(),C(r.methodCoverageAvailable?-1:20),f(),C(r.metrics.length>0?21:-1))},dependencies:[lg,hc,ks,SU],encapsulation:2}))}return e(),n})();function PU(e,n){1&e&&O(0,"td",1)}function VU(e,n){1&e&&O(0,"td"),2&e&&jt(Ut("green ",m().greenClass))}function HU(e,n){1&e&&O(0,"td"),2&e&&jt(Ut("red ",m().redClass))}let lI=(()=>{var e;class n{constructor(){this.grayVisible=!0,this.greenVisible=!1,this.redVisible=!1,this.greenClass="",this.redClass="",this._percentage=NaN}get percentage(){return this._percentage}set percentage(o){this._percentage=o,this.grayVisible=isNaN(o),this.greenVisible=!isNaN(o)&&Math.round(o)>0,this.redVisible=!isNaN(o)&&100-Math.round(o)>0,this.greenClass="covered"+Math.round(o),this.redClass="covered"+(100-Math.round(o))}static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)},this.\u0275cmp=qt({type:n,selectors:[["coverage-bar"]],inputs:{percentage:"percentage"},standalone:!1,decls:4,vars:3,consts:[[1,"coverage"],[1,"gray","covered100"],[3,"class"]],template:function(i,r){1&i&&(v(0,"table",0),y(1,PU,1,0,"td",1),y(2,VU,1,3,"td",2),y(3,HU,1,3,"td",2),_()),2&i&&(f(),C(r.grayVisible?1:-1),f(),C(r.greenVisible?2:-1),f(),C(r.redVisible?3:-1))},encapsulation:2,changeDetection:0}))}return e(),n})();const BU=["codeelement-row",""],jU=(e,n)=>({"icon-plus":e,"icon-minus":n});function UU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.coveredLines)}}function $U(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.uncoveredLines)}}function zU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.coverableLines)}}function GU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.totalLines)}}function WU(e,n){if(1&e&&(v(0,"th",3),D(1),_()),2&e){const t=m();A("title",t.element.coverageRatioText),f(),k(t.element.coveragePercentage)}}function qU(e,n){if(1&e&&(v(0,"th",2),O(1,"coverage-bar",4),_()),2&e){const t=m();f(),A("percentage",t.element.coverage)}}function ZU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.coveredBranches)}}function YU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.totalBranches)}}function QU(e,n){if(1&e&&(v(0,"th",3),D(1),_()),2&e){const t=m();A("title",t.element.branchCoverageRatioText),f(),k(t.element.branchCoveragePercentage)}}function KU(e,n){if(1&e&&(v(0,"th",2),O(1,"coverage-bar",4),_()),2&e){const t=m();f(),A("percentage",t.element.branchCoverage)}}function JU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.coveredMethods)}}function XU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.totalMethods)}}function e3(e,n){if(1&e&&(v(0,"th",3),D(1),_()),2&e){const t=m();A("title",t.element.methodCoverageRatioText),f(),k(t.element.methodCoveragePercentage)}}function t3(e,n){if(1&e&&(v(0,"th",2),O(1,"coverage-bar",4),_()),2&e){const t=m();f(),A("percentage",t.element.methodCoverage)}}function n3(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.fullyCoveredMethods)}}function o3(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.totalMethods)}}function i3(e,n){if(1&e&&(v(0,"th",3),D(1),_()),2&e){const t=m();A("title",t.element.methodFullCoverageRatioText),f(),k(t.element.methodFullCoveragePercentage)}}function r3(e,n){if(1&e&&(v(0,"th",2),O(1,"coverage-bar",4),_()),2&e){const t=m();f(),A("percentage",t.element.methodFullCoverage)}}function s3(e,n){1&e&&O(0,"th",2)}let a3=(()=>{var e;class n{constructor(){this.collapsed=!1,this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.methodFullCoverageAvailable=!1,this.visibleMetrics=[]}static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)},this.\u0275cmp=qt({type:n,selectors:[["","codeelement-row",""]],inputs:{element:"element",collapsed:"collapsed",lineCoverageAvailable:"lineCoverageAvailable",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",methodFullCoverageAvailable:"methodFullCoverageAvailable",visibleMetrics:"visibleMetrics"},standalone:!1,attrs:BU,decls:24,vars:23,consts:[["href","#",3,"click"],[3,"ngClass"],[1,"right"],[1,"right",3,"title"],[3,"percentage"]],template:function(i,r){1&i&&(v(0,"th")(1,"a",0),U("click",function(a){return r.element.toggleCollapse(a)}),O(2,"i",1),D(3),_()(),y(4,UU,2,1,"th",2),y(5,$U,2,1,"th",2),y(6,zU,2,1,"th",2),y(7,GU,2,1,"th",2),y(8,WU,2,2,"th",3),y(9,qU,2,1,"th",2),y(10,ZU,2,1,"th",2),y(11,YU,2,1,"th",2),y(12,QU,2,2,"th",3),y(13,KU,2,1,"th",2),y(14,JU,2,1,"th",2),y(15,XU,2,1,"th",2),y(16,e3,2,2,"th",3),y(17,t3,2,1,"th",2),y(18,n3,2,1,"th",2),y(19,o3,2,1,"th",2),y(20,i3,2,2,"th",3),y(21,r3,2,1,"th",2),Qe(22,s3,1,0,"th",2,Ye)),2&i&&(f(2),A("ngClass",yh(20,jU,r.element.collapsed,!r.element.collapsed)),f(),P("\n",r.element.name),f(),C(r.lineCoverageAvailable?4:-1),f(),C(r.lineCoverageAvailable?5:-1),f(),C(r.lineCoverageAvailable?6:-1),f(),C(r.lineCoverageAvailable?7:-1),f(),C(r.lineCoverageAvailable?8:-1),f(),C(r.lineCoverageAvailable?9:-1),f(),C(r.branchCoverageAvailable?10:-1),f(),C(r.branchCoverageAvailable?11:-1),f(),C(r.branchCoverageAvailable?12:-1),f(),C(r.branchCoverageAvailable?13:-1),f(),C(r.methodCoverageAvailable?14:-1),f(),C(r.methodCoverageAvailable?15:-1),f(),C(r.methodCoverageAvailable?16:-1),f(),C(r.methodCoverageAvailable?17:-1),f(),C(r.methodFullCoverageAvailable?18:-1),f(),C(r.methodFullCoverageAvailable?19:-1),f(),C(r.methodFullCoverageAvailable?20:-1),f(),C(r.methodFullCoverageAvailable?21:-1),f(),Ke(r.visibleMetrics))},dependencies:[Xi,lI],encapsulation:2,changeDetection:0}))}return e(),n})();const l3=["coverage-history-chart",""];let c3=(()=>{var e;class n{constructor(){this.path=null,this._historicCoverages=[]}get historicCoverages(){return this._historicCoverages}set historicCoverages(o){if(this._historicCoverages=o,o.length>1){let i="";for(let r=0;r(this.\u0275fac=function(i){return new(i||n)},this.\u0275cmp=qt({type:n,selectors:[["","coverage-history-chart",""]],inputs:{historicCoverages:"historicCoverages"},standalone:!1,attrs:l3,decls:3,vars:1,consts:[["width","30","height","18",1,"ct-chart-line"],[1,"ct-series","ct-series-a"],[1,"ct-line"]],template:function(i,r){1&i&&(function Yp(){G.lFrame.currentNamespace="svg"}(),v(0,"svg",0)(1,"g",1),O(2,"path",2),_()()),2&i&&(f(2),ct("d",r.path))},encapsulation:2,changeDetection:0}))}return e(),n})();const u3=["class-row",""],Oc=e=>({historiccoverageoffset:e});function d3(e,n){if(1&e&&(v(0,"a",0),D(1),_()),2&e){const t=m();A("href",t.clazz.reportPath,Wn),f(),k(t.clazz.name)}}function f3(e,n){1&e&&D(0),2&e&&P(" ",m().clazz.name," ")}function h3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.coveredLines,t.clazz.currentHistoricCoverage.cl))),f(),P(" ",t.clazz.coveredLines," "),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),P(" ",t.clazz.currentHistoricCoverage.cl," ")}}function g3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.coveredLines," ")}function p3(e,n){if(1&e&&(v(0,"td",1),y(1,h3,4,6),y(2,g3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function m3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.currentHistoricCoverage.ucl,t.clazz.uncoveredLines))),f(),P(" ",t.clazz.uncoveredLines," "),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),P(" ",t.clazz.currentHistoricCoverage.ucl," ")}}function _3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.uncoveredLines," ")}function v3(e,n){if(1&e&&(v(0,"td",1),y(1,m3,4,6),y(2,_3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function y3(e,n){if(1&e&&(v(0,"div",4),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);f(),k(t.clazz.coverableLines),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),k(t.clazz.currentHistoricCoverage.cal)}}function C3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.coverableLines," ")}function b3(e,n){if(1&e&&(v(0,"td",1),y(1,y3,4,3),y(2,C3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function D3(e,n){if(1&e&&(v(0,"div",4),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);f(),k(t.clazz.totalLines),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),k(t.clazz.currentHistoricCoverage.tl)}}function w3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.totalLines," ")}function E3(e,n){if(1&e&&(v(0,"td",1),y(1,D3,4,3),y(2,w3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function M3(e,n){if(1&e&&O(0,"div",5),2&e){const t=m(2);A("title",xn(t.translations.history+": "+t.translations.coverage))("historicCoverages",t.clazz.lineCoverageHistory)("ngClass",Zi(4,Oc,null!==t.clazz.currentHistoricCoverage))}}function I3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.coverage,t.clazz.currentHistoricCoverage.lcq))),f(),P(" ",t.clazz.coveragePercentage," "),f(),A("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.coverageRatioText),f(),P("",t.clazz.currentHistoricCoverage.lcq,"%")}}function T3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.coveragePercentage," ")}function S3(e,n){if(1&e&&(v(0,"td",2),y(1,M3,1,6,"div",5),y(2,I3,4,6),y(3,T3,1,1),_()),2&e){const t=m();A("title",t.clazz.coverageRatioText),f(),C(t.clazz.lineCoverageHistory.length>1?1:-1),f(),C(null!==t.clazz.currentHistoricCoverage?2:-1),f(),C(null===t.clazz.currentHistoricCoverage?3:-1)}}function A3(e,n){if(1&e&&(v(0,"td",1),O(1,"coverage-bar",6),_()),2&e){const t=m();f(),A("percentage",t.clazz.coverage)}}function N3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.coveredBranches,t.clazz.currentHistoricCoverage.cb))),f(),P(" ",t.clazz.coveredBranches," "),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),P(" ",t.clazz.currentHistoricCoverage.cb," ")}}function O3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.coveredBranches," ")}function x3(e,n){if(1&e&&(v(0,"td",1),y(1,N3,4,6),y(2,O3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function R3(e,n){if(1&e&&(v(0,"div",4),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);f(),k(t.clazz.totalBranches),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),k(t.clazz.currentHistoricCoverage.tb)}}function k3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.totalBranches," ")}function F3(e,n){if(1&e&&(v(0,"td",1),y(1,R3,4,3),y(2,k3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function L3(e,n){if(1&e&&O(0,"div",7),2&e){const t=m(2);A("title",xn(t.translations.history+": "+t.translations.branchCoverage))("historicCoverages",t.clazz.branchCoverageHistory)("ngClass",Zi(4,Oc,null!==t.clazz.currentHistoricCoverage))}}function P3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.branchCoverage,t.clazz.currentHistoricCoverage.bcq))),f(),P(" ",t.clazz.branchCoveragePercentage," "),f(),A("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.branchCoverageRatioText),f(),P("",t.clazz.currentHistoricCoverage.bcq,"%")}}function V3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.branchCoveragePercentage," ")}function H3(e,n){if(1&e&&(v(0,"td",2),y(1,L3,1,6,"div",7),y(2,P3,4,6),y(3,V3,1,1),_()),2&e){const t=m();A("title",t.clazz.branchCoverageRatioText),f(),C(t.clazz.branchCoverageHistory.length>1?1:-1),f(),C(null!==t.clazz.currentHistoricCoverage?2:-1),f(),C(null===t.clazz.currentHistoricCoverage?3:-1)}}function B3(e,n){if(1&e&&(v(0,"td",1),O(1,"coverage-bar",6),_()),2&e){const t=m();f(),A("percentage",t.clazz.branchCoverage)}}function j3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.coveredMethods,t.clazz.currentHistoricCoverage.cm))),f(),P(" ",t.clazz.coveredMethods," "),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),P(" ",t.clazz.currentHistoricCoverage.cm," ")}}function U3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.coveredMethods," ")}function $3(e,n){if(1&e&&(v(0,"td",1),y(1,j3,4,6),y(2,U3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function z3(e,n){if(1&e&&(v(0,"div",4),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);f(),k(t.clazz.totalMethods),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),k(t.clazz.currentHistoricCoverage.tm)}}function G3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.totalMethods," ")}function W3(e,n){if(1&e&&(v(0,"td",1),y(1,z3,4,3),y(2,G3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function q3(e,n){if(1&e&&O(0,"div",8),2&e){const t=m(2);A("title",xn(t.translations.history+": "+t.translations.methodCoverage))("historicCoverages",t.clazz.methodCoverageHistory)("ngClass",Zi(4,Oc,null!==t.clazz.currentHistoricCoverage))}}function Z3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.methodCoverage,t.clazz.currentHistoricCoverage.mcq))),f(),P(" ",t.clazz.methodCoveragePercentage," "),f(),A("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.methodCoverageRatioText),f(),P("",t.clazz.currentHistoricCoverage.mcq,"%")}}function Y3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.methodCoveragePercentage," ")}function Q3(e,n){if(1&e&&(v(0,"td",2),y(1,q3,1,6,"div",8),y(2,Z3,4,6),y(3,Y3,1,1),_()),2&e){const t=m();A("title",t.clazz.methodCoverageRatioText),f(),C(t.clazz.methodCoverageHistory.length>1?1:-1),f(),C(null!==t.clazz.currentHistoricCoverage?2:-1),f(),C(null===t.clazz.currentHistoricCoverage?3:-1)}}function K3(e,n){if(1&e&&(v(0,"td",1),O(1,"coverage-bar",6),_()),2&e){const t=m();f(),A("percentage",t.clazz.methodCoverage)}}function J3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.fullyCoveredMethods,t.clazz.currentHistoricCoverage.fcm))),f(),P(" ",t.clazz.fullyCoveredMethods," "),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),P(" ",t.clazz.currentHistoricCoverage.fcm," ")}}function X3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.fullyCoveredMethods," ")}function e$(e,n){if(1&e&&(v(0,"td",1),y(1,J3,4,6),y(2,X3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function t$(e,n){if(1&e&&(v(0,"div",4),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);f(),k(t.clazz.totalMethods),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),k(t.clazz.currentHistoricCoverage.tm)}}function n$(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.totalMethods," ")}function o$(e,n){if(1&e&&(v(0,"td",1),y(1,t$,4,3),y(2,n$,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function i$(e,n){if(1&e&&O(0,"div",9),2&e){const t=m(2);A("title",xn(t.translations.history+": "+t.translations.fullMethodCoverage))("historicCoverages",t.clazz.methodFullCoverageHistory)("ngClass",Zi(4,Oc,null!==t.clazz.currentHistoricCoverage))}}function r$(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.methodFullCoverage,t.clazz.currentHistoricCoverage.mfcq))),f(),P(" ",t.clazz.methodFullCoveragePercentage," "),f(),A("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.methodFullCoverageRatioText),f(),P("",t.clazz.currentHistoricCoverage.mfcq,"%")}}function s$(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.methodFullCoveragePercentage," ")}function a$(e,n){if(1&e&&(v(0,"td",2),y(1,i$,1,6,"div",9),y(2,r$,4,6),y(3,s$,1,1),_()),2&e){const t=m();A("title",t.clazz.methodFullCoverageRatioText),f(),C(t.clazz.methodFullCoverageHistory.length>1?1:-1),f(),C(null!==t.clazz.currentHistoricCoverage?2:-1),f(),C(null===t.clazz.currentHistoricCoverage?3:-1)}}function l$(e,n){if(1&e&&(v(0,"td",1),O(1,"coverage-bar",6),_()),2&e){const t=m();f(),A("percentage",t.clazz.methodFullCoverage)}}function c$(e,n){if(1&e&&(v(0,"td",1),D(1),_()),2&e){const t=n.$implicit,o=m();f(),k(o.clazz.metrics[t.abbreviation])}}let u$=(()=>{var e;class n{constructor(){this.translations={},this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.methodFullCoverageAvailable=!1,this.visibleMetrics=[],this.historyComparisionDate=""}getClassName(o,i){return o>i?"lightgreen":o(this.\u0275fac=function(i){return new(i||n)},this.\u0275cmp=qt({type:n,selectors:[["","class-row",""]],inputs:{clazz:"clazz",translations:"translations",lineCoverageAvailable:"lineCoverageAvailable",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",methodFullCoverageAvailable:"methodFullCoverageAvailable",visibleMetrics:"visibleMetrics",historyComparisionDate:"historyComparisionDate"},standalone:!1,attrs:u3,decls:23,vars:20,consts:[[3,"href"],[1,"right"],[1,"right",3,"title"],[3,"title"],[1,"currenthistory"],["coverage-history-chart","",1,"tinylinecoveragechart","ct-chart",3,"historicCoverages","ngClass","title"],[3,"percentage"],["coverage-history-chart","",1,"tinybranchcoveragechart","ct-chart",3,"historicCoverages","ngClass","title"],["coverage-history-chart","",1,"tinymethodcoveragechart","ct-chart",3,"historicCoverages","ngClass","title"],["coverage-history-chart","",1,"tinyfullmethodcoveragechart","ct-chart",3,"historicCoverages","ngClass","title"]],template:function(i,r){1&i&&(v(0,"td"),y(1,d3,2,2,"a",0),y(2,f3,1,1),_(),y(3,p3,3,2,"td",1),y(4,v3,3,2,"td",1),y(5,b3,3,2,"td",1),y(6,E3,3,2,"td",1),y(7,S3,4,4,"td",2),y(8,A3,2,1,"td",1),y(9,x3,3,2,"td",1),y(10,F3,3,2,"td",1),y(11,H3,4,4,"td",2),y(12,B3,2,1,"td",1),y(13,$3,3,2,"td",1),y(14,W3,3,2,"td",1),y(15,Q3,4,4,"td",2),y(16,K3,2,1,"td",1),y(17,e$,3,2,"td",1),y(18,o$,3,2,"td",1),y(19,a$,4,4,"td",2),y(20,l$,2,1,"td",1),Qe(21,c$,2,1,"td",1,Ye)),2&i&&(f(),C(""!==r.clazz.reportPath?1:-1),f(),C(""===r.clazz.reportPath?2:-1),f(),C(r.lineCoverageAvailable?3:-1),f(),C(r.lineCoverageAvailable?4:-1),f(),C(r.lineCoverageAvailable?5:-1),f(),C(r.lineCoverageAvailable?6:-1),f(),C(r.lineCoverageAvailable?7:-1),f(),C(r.lineCoverageAvailable?8:-1),f(),C(r.branchCoverageAvailable?9:-1),f(),C(r.branchCoverageAvailable?10:-1),f(),C(r.branchCoverageAvailable?11:-1),f(),C(r.branchCoverageAvailable?12:-1),f(),C(r.methodCoverageAvailable?13:-1),f(),C(r.methodCoverageAvailable?14:-1),f(),C(r.methodCoverageAvailable?15:-1),f(),C(r.methodCoverageAvailable?16:-1),f(),C(r.methodFullCoverageAvailable?17:-1),f(),C(r.methodFullCoverageAvailable?18:-1),f(),C(r.methodFullCoverageAvailable?19:-1),f(),C(r.methodFullCoverageAvailable?20:-1),f(),Ke(r.visibleMetrics))},dependencies:[Xi,c3,lI],encapsulation:2,changeDetection:0}))}return e(),n})();const it=(e,n,t)=>({"icon-up-dir_active":e,"icon-down-dir_active":n,"icon-up-down-dir":t});function d$(e,n){if(1&e){const t=ue();v(0,"popup",27),Ge("visibleChange",function(i){B(t);const r=m(2);return ye(r.popupVisible,i)||(r.popupVisible=i),j(i)})("showLineCoverageChange",function(i){B(t);const r=m(2);return ye(r.settings.showLineCoverage,i)||(r.settings.showLineCoverage=i),j(i)})("showBranchCoverageChange",function(i){B(t);const r=m(2);return ye(r.settings.showBranchCoverage,i)||(r.settings.showBranchCoverage=i),j(i)})("showMethodCoverageChange",function(i){B(t);const r=m(2);return ye(r.settings.showMethodCoverage,i)||(r.settings.showMethodCoverage=i),j(i)})("showMethodFullCoverageChange",function(i){B(t);const r=m(2);return ye(r.settings.showFullMethodCoverage,i)||(r.settings.showFullMethodCoverage=i),j(i)})("visibleMetricsChange",function(i){B(t);const r=m(2);return ye(r.settings.visibleMetrics,i)||(r.settings.visibleMetrics=i),j(i)}),_()}if(2&e){const t=m(2);je("visible",t.popupVisible),A("translations",t.translations)("branchCoverageAvailable",t.branchCoverageAvailable)("methodCoverageAvailable",t.methodCoverageAvailable)("metrics",t.metrics),je("showLineCoverage",t.settings.showLineCoverage)("showBranchCoverage",t.settings.showBranchCoverage)("showMethodCoverage",t.settings.showMethodCoverage)("showMethodFullCoverage",t.settings.showFullMethodCoverage)("visibleMetrics",t.settings.visibleMetrics)}}function f$(e,n){1&e&&D(0),2&e&&P(" ",m(2).translations.noGrouping," ")}function h$(e,n){1&e&&D(0),2&e&&P(" ",m(2).translations.byAssembly," ")}function g$(e,n){if(1&e&&D(0),2&e){const t=m(2);P(" ",t.translations.byNamespace+" "+t.settings.grouping," ")}}function p$(e,n){if(1&e&&(v(0,"option",30),D(1),_()),2&e){const t=n.$implicit;A("value",t),f(),k(t)}}function m$(e,n){1&e&&O(0,"br")}function _$(e,n){if(1&e&&(v(0,"option",34),D(1),_()),2&e){const t=m(4);f(),P(" ",t.translations.branchCoverageIncreaseOnly," ")}}function v$(e,n){if(1&e&&(v(0,"option",35),D(1),_()),2&e){const t=m(4);f(),P(" ",t.translations.branchCoverageDecreaseOnly," ")}}function y$(e,n){if(1&e&&(v(0,"option",36),D(1),_()),2&e){const t=m(4);f(),P(" ",t.translations.methodCoverageIncreaseOnly," ")}}function C$(e,n){if(1&e&&(v(0,"option",37),D(1),_()),2&e){const t=m(4);f(),P(" ",t.translations.methodCoverageDecreaseOnly," ")}}function b$(e,n){if(1&e&&(v(0,"option",38),D(1),_()),2&e){const t=m(4);f(),P(" ",t.translations.fullMethodCoverageIncreaseOnly," ")}}function D$(e,n){if(1&e&&(v(0,"option",39),D(1),_()),2&e){const t=m(4);f(),P(" ",t.translations.fullMethodCoverageDecreaseOnly," ")}}function w$(e,n){if(1&e){const t=ue();v(0,"div")(1,"select",28),Ge("ngModelChange",function(i){B(t);const r=m(3);return ye(r.settings.historyComparisionType,i)||(r.settings.historyComparisionType=i),j(i)}),v(2,"option",29),D(3),_(),v(4,"option",31),D(5),_(),v(6,"option",32),D(7),_(),v(8,"option",33),D(9),_(),y(10,_$,2,1,"option",34),y(11,v$,2,1,"option",35),y(12,y$,2,1,"option",36),y(13,C$,2,1,"option",37),y(14,b$,2,1,"option",38),y(15,D$,2,1,"option",39),_()()}if(2&e){const t=m(3);f(),je("ngModel",t.settings.historyComparisionType),f(2),k(t.translations.filter),f(2),k(t.translations.allChanges),f(2),k(t.translations.lineCoverageIncreaseOnly),f(2),k(t.translations.lineCoverageDecreaseOnly),f(),C(t.branchCoverageAvailable?10:-1),f(),C(t.branchCoverageAvailable?11:-1),f(),C(t.methodCoverageAvailable?12:-1),f(),C(t.methodCoverageAvailable?13:-1),f(),C(t.methodCoverageAvailable?14:-1),f(),C(t.methodCoverageAvailable?15:-1)}}function E$(e,n){if(1&e){const t=ue();v(0,"div"),D(1),v(2,"select",28),Ge("ngModelChange",function(i){B(t);const r=m(2);return ye(r.settings.historyComparisionDate,i)||(r.settings.historyComparisionDate=i),j(i)}),U("ngModelChange",function(){return B(t),j(m(2).updateCurrentHistoricCoverage())}),v(3,"option",29),D(4),_(),Qe(5,p$,2,2,"option",30,Ye),_()(),y(7,m$,1,0,"br"),y(8,w$,16,11,"div")}if(2&e){const t=m(2);f(),P(" ",t.translations.compareHistory," "),f(),je("ngModel",t.settings.historyComparisionDate),f(2),k(t.translations.date),f(),Ke(t.historicCoverageExecutionTimes),f(2),C(""!==t.settings.historyComparisionDate?7:-1),f(),C(""!==t.settings.historyComparisionDate?8:-1)}}function M$(e,n){1&e&&O(0,"col",12)}function I$(e,n){1&e&&O(0,"col",13)}function T$(e,n){1&e&&O(0,"col",14)}function S$(e,n){1&e&&O(0,"col",15)}function A$(e,n){1&e&&O(0,"col",16)}function N$(e,n){1&e&&O(0,"col",17)}function O$(e,n){1&e&&O(0,"col",12)}function x$(e,n){1&e&&O(0,"col",15)}function R$(e,n){1&e&&O(0,"col",16)}function k$(e,n){1&e&&O(0,"col",17)}function F$(e,n){1&e&&O(0,"col",12)}function L$(e,n){1&e&&O(0,"col",15)}function P$(e,n){1&e&&O(0,"col",16)}function V$(e,n){1&e&&O(0,"col",17)}function H$(e,n){1&e&&O(0,"col",12)}function B$(e,n){1&e&&O(0,"col",15)}function j$(e,n){1&e&&O(0,"col",16)}function U$(e,n){1&e&&O(0,"col",17)}function $$(e,n){1&e&&O(0,"col",17)}function z$(e,n){if(1&e&&(v(0,"th",19),D(1),_()),2&e){const t=m(2);f(),k(t.translations.coverage)}}function G$(e,n){if(1&e&&(v(0,"th",20),D(1),_()),2&e){const t=m(2);f(),k(t.translations.branchCoverage)}}function W$(e,n){if(1&e&&(v(0,"th",20),D(1),_()),2&e){const t=m(2);f(),k(t.translations.methodCoverage)}}function q$(e,n){if(1&e&&(v(0,"th",20),D(1),_()),2&e){const t=m(2);f(),k(t.translations.fullMethodCoverage)}}function Z$(e,n){if(1&e&&(v(0,"th",21),D(1),_()),2&e){const t=m(2);ct("colspan",t.settings.visibleMetrics.length),f(),k(t.translations.metrics)}}function Y$(e,n){if(1&e){const t=ue();v(0,"td",19)(1,"ngx-slider",40),Ge("valueChange",function(i){B(t);const r=m(2);return ye(r.settings.lineCoverageMin,i)||(r.settings.lineCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const r=m(2);return ye(r.settings.lineCoverageMax,i)||(r.settings.lineCoverageMax=i),j(i)}),_()()}if(2&e){const t=m(2);f(),je("value",t.settings.lineCoverageMin)("highValue",t.settings.lineCoverageMax),A("options",t.sliderOptions)}}function Q$(e,n){if(1&e){const t=ue();v(0,"td",20)(1,"ngx-slider",40),Ge("valueChange",function(i){B(t);const r=m(2);return ye(r.settings.branchCoverageMin,i)||(r.settings.branchCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const r=m(2);return ye(r.settings.branchCoverageMax,i)||(r.settings.branchCoverageMax=i),j(i)}),_()()}if(2&e){const t=m(2);f(),je("value",t.settings.branchCoverageMin)("highValue",t.settings.branchCoverageMax),A("options",t.sliderOptions)}}function K$(e,n){if(1&e){const t=ue();v(0,"td",20)(1,"ngx-slider",40),Ge("valueChange",function(i){B(t);const r=m(2);return ye(r.settings.methodCoverageMin,i)||(r.settings.methodCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const r=m(2);return ye(r.settings.methodCoverageMax,i)||(r.settings.methodCoverageMax=i),j(i)}),_()()}if(2&e){const t=m(2);f(),je("value",t.settings.methodCoverageMin)("highValue",t.settings.methodCoverageMax),A("options",t.sliderOptions)}}function J$(e,n){if(1&e){const t=ue();v(0,"td",20)(1,"ngx-slider",40),Ge("valueChange",function(i){B(t);const r=m(2);return ye(r.settings.methodFullCoverageMin,i)||(r.settings.methodFullCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const r=m(2);return ye(r.settings.methodFullCoverageMax,i)||(r.settings.methodFullCoverageMax=i),j(i)}),_()()}if(2&e){const t=m(2);f(),je("value",t.settings.methodFullCoverageMin)("highValue",t.settings.methodFullCoverageMax),A("options",t.sliderOptions)}}function X$(e,n){1&e&&O(0,"td",21),2&e&&ct("colspan",m(2).settings.visibleMetrics.length)}function e8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("covered",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"covered"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered"!==t.settings.sortBy)),f(),k(t.translations.covered)}}function t8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("uncovered",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"uncovered"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"uncovered"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"uncovered"!==t.settings.sortBy)),f(),k(t.translations.uncovered)}}function n8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("coverable",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"coverable"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"coverable"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"coverable"!==t.settings.sortBy)),f(),k(t.translations.coverable)}}function o8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("total",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"total"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total"!==t.settings.sortBy)),f(),k(t.translations.total)}}function i8(e,n){if(1&e){const t=ue();v(0,"th",26)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("coverage",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"coverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"coverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"coverage"!==t.settings.sortBy)),f(),k(t.translations.percentage)}}function r8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("covered_branches",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"covered_branches"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered_branches"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered_branches"!==t.settings.sortBy)),f(),k(t.translations.covered)}}function s8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("total_branches",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"total_branches"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_branches"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_branches"!==t.settings.sortBy)),f(),k(t.translations.total)}}function a8(e,n){if(1&e){const t=ue();v(0,"th",26)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("branchcoverage",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"branchcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"branchcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"branchcoverage"!==t.settings.sortBy)),f(),k(t.translations.percentage)}}function l8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("covered_methods",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"covered_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered_methods"!==t.settings.sortBy)),f(),k(t.translations.covered)}}function c8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("total_methods",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"total_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_methods"!==t.settings.sortBy)),f(),k(t.translations.total)}}function u8(e,n){if(1&e){const t=ue();v(0,"th",26)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("methodcoverage",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"methodcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"methodcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"methodcoverage"!==t.settings.sortBy)),f(),k(t.translations.percentage)}}function d8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("fullycovered_methods",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"fullycovered_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"fullycovered_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"fullycovered_methods"!==t.settings.sortBy)),f(),k(t.translations.covered)}}function f8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("total_methods",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"total_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_methods"!==t.settings.sortBy)),f(),k(t.translations.total)}}function h8(e,n){if(1&e){const t=ue();v(0,"th",26)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("methodfullcoverage",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"methodfullcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"methodfullcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"methodfullcoverage"!==t.settings.sortBy)),f(),k(t.translations.percentage)}}function g8(e,n){if(1&e){const t=ue();v(0,"th")(1,"a",2),U("click",function(i){const r=B(t).$implicit;return j(m(2).updateSorting(r.abbreviation,i))}),O(2,"i",24),D(3),_(),v(4,"a",41),O(5,"i",42),_()()}if(2&e){const t=n.$implicit,o=m(2);f(2),A("ngClass",Ne(4,it,o.settings.sortBy===t.abbreviation&&"asc"===o.settings.sortOrder,o.settings.sortBy===t.abbreviation&&"desc"===o.settings.sortOrder,o.settings.sortBy!==t.abbreviation)),f(),k(t.name),f(),A("href",xn(t.explanationUrl),Wn)}}function p8(e,n){if(1&e&&O(0,"tr",43),2&e){const t=m().$implicit,o=m(2);A("element",t)("collapsed",t.collapsed)("lineCoverageAvailable",o.settings.showLineCoverage)("branchCoverageAvailable",o.branchCoverageAvailable&&o.settings.showBranchCoverage)("methodCoverageAvailable",o.methodCoverageAvailable&&o.settings.showMethodCoverage)("methodFullCoverageAvailable",o.methodCoverageAvailable&&o.settings.showFullMethodCoverage)("visibleMetrics",o.settings.visibleMetrics)}}function m8(e,n){if(1&e&&O(0,"tr",44),2&e){const t=m().$implicit,o=m(3);A("clazz",t)("translations",o.translations)("lineCoverageAvailable",o.settings.showLineCoverage)("branchCoverageAvailable",o.branchCoverageAvailable&&o.settings.showBranchCoverage)("methodCoverageAvailable",o.methodCoverageAvailable&&o.settings.showMethodCoverage)("methodFullCoverageAvailable",o.methodCoverageAvailable&&o.settings.showFullMethodCoverage)("visibleMetrics",o.settings.visibleMetrics)("historyComparisionDate",o.settings.historyComparisionDate)}}function _8(e,n){if(1&e&&y(0,m8,1,8,"tr",44),2&e){const t=n.$implicit,o=m().$implicit,i=m(2);C(!o.collapsed&&t.visible(i.settings)?0:-1)}}function v8(e,n){if(1&e&&O(0,"tr",46),2&e){const t=m().$implicit,o=m(5);A("clazz",t)("translations",o.translations)("lineCoverageAvailable",o.settings.showLineCoverage)("branchCoverageAvailable",o.branchCoverageAvailable&&o.settings.showBranchCoverage)("methodCoverageAvailable",o.methodCoverageAvailable&&o.settings.showMethodCoverage)("methodFullCoverageAvailable",o.methodCoverageAvailable&&o.settings.showFullMethodCoverage)("visibleMetrics",o.settings.visibleMetrics)("historyComparisionDate",o.settings.historyComparisionDate)}}function y8(e,n){if(1&e&&y(0,v8,1,8,"tr",46),2&e){const t=n.$implicit,o=m(2).$implicit,i=m(3);C(!o.collapsed&&t.visible(i.settings)?0:-1)}}function C8(e,n){if(1&e&&(O(0,"tr",45),Qe(1,y8,1,1,null,null,Ye)),2&e){const t=m().$implicit,o=m(3);A("element",t)("collapsed",t.collapsed)("lineCoverageAvailable",o.settings.showLineCoverage)("branchCoverageAvailable",o.branchCoverageAvailable&&o.settings.showBranchCoverage)("methodCoverageAvailable",o.methodCoverageAvailable&&o.settings.showMethodCoverage)("methodFullCoverageAvailable",o.methodCoverageAvailable&&o.settings.showFullMethodCoverage)("visibleMetrics",o.settings.visibleMetrics),f(),Ke(t.classes)}}function b8(e,n){if(1&e&&y(0,C8,3,7),2&e){const t=n.$implicit,o=m().$implicit,i=m(2);C(!o.collapsed&&t.visible(i.settings)?0:-1)}}function D8(e,n){if(1&e&&(y(0,p8,1,7,"tr",43),Qe(1,_8,1,1,null,null,Ye),Qe(3,b8,1,1,null,null,Ye)),2&e){const t=n.$implicit,o=m(2);C(t.visible(o.settings)?0:-1),f(),Ke(t.classes),f(2),Ke(t.subElements)}}function w8(e,n){if(1&e){const t=ue();v(0,"div"),y(1,d$,1,10,"popup",0),v(2,"div",1)(3,"div")(4,"a",2),U("click",function(i){return B(t),j(m().collapseAll(i))}),D(5),_(),D(6," | "),v(7,"a",2),U("click",function(i){return B(t),j(m().expandAll(i))}),D(8),_()(),v(9,"div",3)(10,"span",4),y(11,f$,1,1),y(12,h$,1,1),y(13,g$,1,1),_(),O(14,"br"),D(15),v(16,"input",5),Ge("ngModelChange",function(i){B(t);const r=m();return ye(r.settings.grouping,i)||(r.settings.grouping=i),j(i)}),U("ngModelChange",function(){return B(t),j(m().updateCoverageInfo())}),_()(),v(17,"div",3),y(18,E$,9,5),_(),v(19,"div",6)(20,"button",7),U("click",function(){return B(t),j(m().popupVisible=!0)}),O(21,"i",8),D(22),_()()(),v(23,"div",9)(24,"table",10)(25,"colgroup"),O(26,"col",11),y(27,M$,1,0,"col",12),y(28,I$,1,0,"col",13),y(29,T$,1,0,"col",14),y(30,S$,1,0,"col",15),y(31,A$,1,0,"col",16),y(32,N$,1,0,"col",17),y(33,O$,1,0,"col",12),y(34,x$,1,0,"col",15),y(35,R$,1,0,"col",16),y(36,k$,1,0,"col",17),y(37,F$,1,0,"col",12),y(38,L$,1,0,"col",15),y(39,P$,1,0,"col",16),y(40,V$,1,0,"col",17),y(41,H$,1,0,"col",12),y(42,B$,1,0,"col",15),y(43,j$,1,0,"col",16),y(44,U$,1,0,"col",17),Qe(45,$$,1,0,"col",17,Ye),_(),v(47,"thead")(48,"tr",18),O(49,"th"),y(50,z$,2,1,"th",19),y(51,G$,2,1,"th",20),y(52,W$,2,1,"th",20),y(53,q$,2,1,"th",20),y(54,Z$,2,2,"th",21),_(),v(55,"tr",22)(56,"td")(57,"input",23),Ge("ngModelChange",function(i){B(t);const r=m();return ye(r.settings.filter,i)||(r.settings.filter=i),j(i)}),_()(),y(58,Y$,2,3,"td",19),y(59,Q$,2,3,"td",20),y(60,K$,2,3,"td",20),y(61,J$,2,3,"td",20),y(62,X$,1,1,"td",21),_(),v(63,"tr")(64,"th")(65,"a",2),U("click",function(i){return B(t),j(m().updateSorting("name",i))}),O(66,"i",24),D(67),_()(),y(68,e8,4,6,"th",25),y(69,t8,4,6,"th",25),y(70,n8,4,6,"th",25),y(71,o8,4,6,"th",25),y(72,i8,4,6,"th",26),y(73,r8,4,6,"th",25),y(74,s8,4,6,"th",25),y(75,a8,4,6,"th",26),y(76,l8,4,6,"th",25),y(77,c8,4,6,"th",25),y(78,u8,4,6,"th",26),y(79,d8,4,6,"th",25),y(80,f8,4,6,"th",25),y(81,h8,4,6,"th",26),Qe(82,g8,6,8,"th",null,Ye),_()(),v(84,"tbody"),Qe(85,D8,5,1,null,null,Ye),_()()()()}if(2&e){const t=m();f(),C(t.popupVisible?1:-1),f(4),k(t.translations.collapseAll),f(3),k(t.translations.expandAll),f(3),C(-1===t.settings.grouping?11:-1),f(),C(0===t.settings.grouping?12:-1),f(),C(t.settings.grouping>0?13:-1),f(2),P(" ",t.translations.grouping," "),f(),A("max",t.settings.groupingMaximum),je("ngModel",t.settings.grouping),f(2),C(t.historicCoverageExecutionTimes.length>0?18:-1),f(4),k(t.metrics.length>0?t.translations.selectCoverageTypesAndMetrics:t.translations.selectCoverageTypes),f(5),C(t.settings.showLineCoverage?27:-1),f(),C(t.settings.showLineCoverage?28:-1),f(),C(t.settings.showLineCoverage?29:-1),f(),C(t.settings.showLineCoverage?30:-1),f(),C(t.settings.showLineCoverage?31:-1),f(),C(t.settings.showLineCoverage?32:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?33:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?34:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?35:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?36:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?37:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?38:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?39:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?40:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?41:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?42:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?43:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?44:-1),f(),Ke(t.settings.visibleMetrics),f(5),C(t.settings.showLineCoverage?50:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?51:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?52:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?53:-1),f(),C(t.settings.visibleMetrics.length>0?54:-1),f(3),A("placeholder",xn(t.translations.filter)),je("ngModel",t.settings.filter),f(),C(t.settings.showLineCoverage?58:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?59:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?60:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?61:-1),f(),C(t.settings.visibleMetrics.length>0?62:-1),f(4),A("ngClass",Ne(58,it,"name"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"name"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"name"!==t.settings.sortBy)),f(),k(t.translations.name),f(),C(t.settings.showLineCoverage?68:-1),f(),C(t.settings.showLineCoverage?69:-1),f(),C(t.settings.showLineCoverage?70:-1),f(),C(t.settings.showLineCoverage?71:-1),f(),C(t.settings.showLineCoverage?72:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?73:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?74:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?75:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?76:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?77:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?78:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?79:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?80:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?81:-1),f(),Ke(t.settings.visibleMetrics),f(3),Ke(t.codeElements)}}let E8=(()=>{var e;class n{constructor(o){this.queryString="",this.historicCoverageExecutionTimes=[],this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.metrics=[],this.codeElements=[],this.translations={},this.popupVisible=!1,this.settings=new MU,this.sliderOptions={floor:0,ceil:100,step:1,ticksArray:[0,10,20,30,40,50,60,70,80,90,100],showTicks:!0},this.window=o.nativeWindow}ngOnInit(){this.historicCoverageExecutionTimes=this.window.historicCoverageExecutionTimes,this.branchCoverageAvailable=this.window.branchCoverageAvailable,this.methodCoverageAvailable=this.window.methodCoverageAvailable,this.metrics=this.window.metrics,this.translations=this.window.translations,Rt.maximumDecimalPlacesForCoverageQuotas=this.window.maximumDecimalPlacesForCoverageQuotas;let o=!1;if(void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.coverageInfoSettings)console.log("Coverage info: Restoring from history",this.window.history.state.coverageInfoSettings),o=!0,this.settings=JSON.parse(JSON.stringify(this.window.history.state.coverageInfoSettings));else{let r=0,s=this.window.assemblies;for(let a=0;a-1&&(this.queryString=window.location.href.substring(i)),this.updateCoverageInfo(),o&&this.restoreCollapseState()}onBeforeUnload(){if(this.saveCollapseState(),void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Coverage info: Updating history",this.settings);let o=new sI;null!==window.history.state&&(o=JSON.parse(JSON.stringify(this.window.history.state))),o.coverageInfoSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(o,"")}}updateCoverageInfo(){let o=(new Date).getTime(),i=this.window.assemblies,r=[],s=0;if(0===this.settings.grouping)for(let c=0;c{for(let r=0;r{for(let s=0;so&&(r[s].collapsed=this.settings.collapseStates[o]),o++,i(r[s].subElements)};i(this.codeElements)}static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)(x(Fg))},this.\u0275cmp=qt({type:n,selectors:[["coverage-info"]],hostBindings:function(i,r){1&i&&U("beforeunload",function(){return r.onBeforeUnload()},Va)},standalone:!1,decls:1,vars:1,consts:[[3,"visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","showMethodFullCoverage","visibleMetrics"],[1,"customizebox"],["href","#",3,"click"],[1,"col-center"],[1,"slider-label"],["type","range","step","1","min","-1",3,"ngModelChange","max","ngModel"],[1,"col-right","right"],["type","button",3,"click"],[1,"icon-cog"],[1,"table-responsive"],[1,"overview","table-fixed","stripped"],[1,"column-min-200"],[1,"column90"],[1,"column105"],[1,"column100"],[1,"column70"],[1,"column98"],[1,"column112"],[1,"header"],["colspan","6",1,"center"],["colspan","4",1,"center"],[1,"center"],[1,"filterbar"],["type","search",3,"ngModelChange","ngModel","placeholder"],[3,"ngClass"],[1,"right"],["colspan","2",1,"center"],[3,"visibleChange","showLineCoverageChange","showBranchCoverageChange","showMethodCoverageChange","showMethodFullCoverageChange","visibleMetricsChange","visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","showMethodFullCoverage","visibleMetrics"],[3,"ngModelChange","ngModel"],["value",""],[3,"value"],["value","allChanges"],["value","lineCoverageIncreaseOnly"],["value","lineCoverageDecreaseOnly"],["value","branchCoverageIncreaseOnly"],["value","branchCoverageDecreaseOnly"],["value","methodCoverageIncreaseOnly"],["value","methodCoverageDecreaseOnly"],["value","fullMethodCoverageIncreaseOnly"],["value","fullMethodCoverageDecreaseOnly"],[3,"valueChange","highValueChange","value","highValue","options"],["target","_blank",3,"href"],[1,"icon-info-circled"],["codeelement-row","",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics"],["class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics","historyComparisionDate"],["codeelement-row","",1,"namespace",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics"],["class-row","",1,"namespace",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics","historyComparisionDate"]],template:function(i,r){1&i&&y(0,w8,87,62,"div"),2&i&&C(r.codeElements.length>0?0:-1)},dependencies:[Xi,Sg,Ng,As,Tg,Ls,hc,ks,rI,LU,a3,u$],encapsulation:2}))}return e(),n})();class M8{constructor(){this.assembly="",this.numberOfRiskHotspots=10,this.filter="",this.sortBy="",this.sortOrder="asc"}}const xc=(e,n,t)=>({"icon-up-dir_active":e,"icon-down-dir_active":n,"icon-up-down-dir":t}),I8=(e,n)=>({lightred:e,lightgreen:n});function T8(e,n){if(1&e&&(v(0,"option",3),D(1),_()),2&e){const t=n.$implicit;A("value",t),f(),k(t)}}function S8(e,n){if(1&e&&(v(0,"span"),D(1),_()),2&e){const t=m(2);f(),k(t.translations.top)}}function A8(e,n){1&e&&(v(0,"option",16),D(1,"20"),_())}function N8(e,n){1&e&&(v(0,"option",17),D(1,"50"),_())}function O8(e,n){1&e&&(v(0,"option",18),D(1,"100"),_())}function x8(e,n){if(1&e&&(v(0,"option",3),D(1),_()),2&e){const t=m(3);A("value",t.totalNumberOfRiskHotspots),f(),k(t.translations.all)}}function R8(e,n){if(1&e){const t=ue();v(0,"select",14),Ge("ngModelChange",function(i){B(t);const r=m(2);return ye(r.settings.numberOfRiskHotspots,i)||(r.settings.numberOfRiskHotspots=i),j(i)}),v(1,"option",15),D(2,"10"),_(),y(3,A8,2,0,"option",16),y(4,N8,2,0,"option",17),y(5,O8,2,0,"option",18),y(6,x8,2,2,"option",3),_()}if(2&e){const t=m(2);je("ngModel",t.settings.numberOfRiskHotspots),f(3),C(t.totalNumberOfRiskHotspots>10?3:-1),f(),C(t.totalNumberOfRiskHotspots>20?4:-1),f(),C(t.totalNumberOfRiskHotspots>50?5:-1),f(),C(t.totalNumberOfRiskHotspots>100?6:-1)}}function k8(e,n){1&e&&O(0,"col",11)}function F8(e,n){if(1&e){const t=ue();v(0,"th")(1,"a",12),U("click",function(i){const r=B(t).$index;return j(m(2).updateSorting(""+r,i))}),O(2,"i",13),D(3),_(),v(4,"a",19),O(5,"i",20),_()()}if(2&e){const t=n.$implicit,o=n.$index,i=m(2);f(2),A("ngClass",Ne(4,xc,i.settings.sortBy===""+o&&"asc"===i.settings.sortOrder,i.settings.sortBy===""+o&&"desc"===i.settings.sortOrder,i.settings.sortBy!==""+o)),f(),k(t.name),f(),A("href",xn(t.explanationUrl),Wn)}}function L8(e,n){if(1&e&&(v(0,"td",23),D(1),_()),2&e){const t=n.$implicit;A("ngClass",yh(2,I8,t.exceeded,!t.exceeded)),f(),k(t.value)}}function P8(e,n){if(1&e&&(v(0,"tr")(1,"td"),D(2),_(),v(3,"td")(4,"a",21),D(5),_()(),v(6,"td",22)(7,"a",21),D(8),_()(),Qe(9,L8,2,5,"td",23,Ye),_()),2&e){const t=n.$implicit,o=m(2);f(2),k(t.assembly),f(2),A("href",t.reportPath+o.queryString,Wn),f(),k(t.class),f(),A("title",t.methodName),f(),A("href",t.reportPath+o.queryString+"#file"+t.fileIndex+"_line"+t.line,Wn),f(),P(" ",t.methodShortName," "),f(),Ke(t.metrics)}}function V8(e,n){if(1&e){const t=ue();v(0,"div")(1,"div",0)(2,"div")(3,"select",1),Ge("ngModelChange",function(i){B(t);const r=m();return ye(r.settings.assembly,i)||(r.settings.assembly=i),j(i)}),U("ngModelChange",function(){return B(t),j(m().updateRiskHotpots())}),v(4,"option",2),D(5),_(),Qe(6,T8,2,2,"option",3,Ye),_()(),v(8,"div",4),y(9,S8,2,1,"span"),y(10,R8,7,5,"select",5),_(),O(11,"div",4),v(12,"div",6)(13,"span"),D(14),_(),v(15,"input",7),Ge("ngModelChange",function(i){B(t);const r=m();return ye(r.settings.filter,i)||(r.settings.filter=i),j(i)}),U("ngModelChange",function(){return B(t),j(m().updateRiskHotpots())}),_()()(),v(16,"div",8)(17,"table",9)(18,"colgroup"),O(19,"col",10)(20,"col",10)(21,"col",10),Qe(22,k8,1,0,"col",11,Ye),_(),v(24,"thead")(25,"tr")(26,"th")(27,"a",12),U("click",function(i){return B(t),j(m().updateSorting("assembly",i))}),O(28,"i",13),D(29),_()(),v(30,"th")(31,"a",12),U("click",function(i){return B(t),j(m().updateSorting("class",i))}),O(32,"i",13),D(33),_()(),v(34,"th")(35,"a",12),U("click",function(i){return B(t),j(m().updateSorting("method",i))}),O(36,"i",13),D(37),_()(),Qe(38,F8,6,8,"th",null,Ye),_()(),v(40,"tbody"),Qe(41,P8,11,6,"tr",null,Ye),function kD(e,n){const t=K();let o;const i=e+H;t.firstCreatePass?(o=function qL(e,n){if(n)for(let t=n.length-1;t>=0;t--){const o=n[t];if(e===o.name)return o}}(n,t.pipeRegistry),t.data[i]=o,o.onDestroy&&(t.destroyHooks??=[]).push(i,o.onDestroy)):o=t.data[i];const r=o.factory||(o.factory=po(o.type)),a=pt(x);try{const l=_a(!1),c=r();return _a(l),function bu(e,n,t,o){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=o}(t,w(),i,c),c}finally{pt(a)}}(43,"slice"),_()()()()}if(2&e){const t=m();f(3),je("ngModel",t.settings.assembly),f(2),k(t.translations.assembly),f(),Ke(t.assemblies),f(3),C(t.totalNumberOfRiskHotspots>10?9:-1),f(),C(t.totalNumberOfRiskHotspots>10?10:-1),f(4),P("",t.translations.filter," "),f(),je("ngModel",t.settings.filter),f(7),Ke(t.riskHotspotMetrics),f(6),A("ngClass",Ne(16,xc,"assembly"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"assembly"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"assembly"!==t.settings.sortBy)),f(),k(t.translations.assembly),f(3),A("ngClass",Ne(20,xc,"class"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"class"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"class"!==t.settings.sortBy)),f(),k(t.translations.class),f(3),A("ngClass",Ne(24,xc,"method"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"method"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"method"!==t.settings.sortBy)),f(),k(t.translations.method),f(),Ke(t.riskHotspotMetrics),f(3),Ke(function FD(e,n,t,o,i){const r=e+H,s=w(),a=function bo(e,n){return e[n]}(s,r);return function bs(e,n){return e[1].data[n].pure}(s,r)?OD(s,lt(),n,a.transform,t,o,i,a):a.transform(t,o,i)}(43,12,t.riskHotspots,0,t.settings.numberOfRiskHotspots))}}let H8=(()=>{var e;class n{constructor(o){this.queryString="",this.riskHotspotMetrics=[],this.riskHotspots=[],this.totalNumberOfRiskHotspots=0,this.assemblies=[],this.translations={},this.settings=new M8,this.window=o.nativeWindow}ngOnInit(){this.riskHotspotMetrics=this.window.riskHotspotMetrics,this.translations=this.window.translations,void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.riskHotspotsSettings&&(console.log("Risk hotspots: Restoring from history",this.window.history.state.riskHotspotsSettings),this.settings=JSON.parse(JSON.stringify(this.window.history.state.riskHotspotsSettings)));const o=window.location.href.indexOf("?");o>-1&&(this.queryString=window.location.href.substring(o)),this.updateRiskHotpots()}onDonBeforeUnlodad(){if(void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Risk hotspots: Updating history",this.settings);let o=new sI;null!==window.history.state&&(o=JSON.parse(JSON.stringify(this.window.history.state))),o.riskHotspotsSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(o,"")}}updateRiskHotpots(){const o=this.window.riskHotspots;if(this.totalNumberOfRiskHotspots=o.length,0===this.assemblies.length){let a=[];for(let l=0;l(this.\u0275fac=function(i){return new(i||n)(x(Fg))},this.\u0275cmp=qt({type:n,selectors:[["risk-hotspots"]],hostBindings:function(i,r){1&i&&U("beforeunload",function(){return r.onDonBeforeUnlodad()},Va)},standalone:!1,decls:1,vars:1,consts:[[1,"customizebox"],["name","assembly",3,"ngModelChange","ngModel"],["value",""],[3,"value"],[1,"col-center"],[3,"ngModel"],[1,"col-right"],["type","search",3,"ngModelChange","ngModel"],[1,"table-responsive"],[1,"overview","table-fixed","stripped"],[1,"column-min-200"],[1,"column105"],["href","#",3,"click"],[3,"ngClass"],[3,"ngModelChange","ngModel"],["value","10"],["value","20"],["value","50"],["value","100"],["target","_blank",3,"href"],[1,"icon-info-circled"],[3,"href"],[3,"title"],[1,"right",3,"ngClass"]],template:function(i,r){1&i&&y(0,V8,44,28,"div"),2&i&&C(r.totalNumberOfRiskHotspots>0?0:-1)},dependencies:[Xi,Sg,Ng,As,Ls,hc,ks,uE],encapsulation:2}))}return e(),n})(),B8=(()=>{var e;class n{static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)},this.\u0275mod=Qn({type:n,bootstrap:[H8,E8]}),this.\u0275inj=dn({providers:[Fg],imports:[LH,Fj,EU]}))}return e(),n})();FH().bootstrapModule(B8).catch(e=>console.error(e))}},Zo=>{Zo(Zo.s=653)}]); /* ]]> */ \ No newline at end of file diff --git a/docs/resources/reports/HtmlChart/CoverageHistory.html b/docs/resources/reports/HtmlChart/CoverageHistory.html index cdd923b7..5911cd90 100644 --- a/docs/resources/reports/HtmlChart/CoverageHistory.html +++ b/docs/resources/reports/HtmlChart/CoverageHistory.html @@ -7,6 +7,7 @@ Summary - Coverage Report
-
+
@@ -1148,10 +1332,10 @@ { "name": "Sample", "classes": [ - { "name": "Sample.PartialClass", "rp": "", "cl": 12, "ucl": 10, "cal": 22, "tl": 53, "cb": 1, "tb": 2, "cm": 3, "fcm": 2, "tm": 6, "lch": [40.9,54.5,59,59,45.4,50,50,59,54.5], "bch": [50,40,40,45,45,45,45,45,50], "mch": [50,33.3,50,66.6,66.6,66.6,83.3,83.3,50], "mfch": [33.3,33.3,50,50,50,50,50,50,33.3], "hc": [{ "et": "01.02.2022 - 20:50:35", "cl": 9, "ucl": 13, "cal": 22, "tl": 53, "lcq": 40.9, "cb": 10, "tb": 20, "bcq": 50, "cm": 3, "fcm": 2, "tm": 6, "mcq": 50, "mfcq": 33.3 }, { "et": "02.02.2022 - 20:50:35", "cl": 12, "ucl": 10, "cal": 22, "tl": 53, "lcq": 54.5, "cb": 8, "tb": 20, "bcq": 40, "cm": 2, "fcm": 2, "tm": 6, "mcq": 33.3, "mfcq": 33.3 }, { "et": "03.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 8, "tb": 20, "bcq": 40, "cm": 3, "fcm": 3, "tm": 6, "mcq": 50, "mfcq": 50 }, { "et": "04.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 9, "tb": 20, "bcq": 45, "cm": 4, "fcm": 3, "tm": 6, "mcq": 66.6, "mfcq": 50 }, { "et": "05.02.2022 - 20:50:35", "cl": 10, "ucl": 12, "cal": 22, "tl": 53, "lcq": 45.4, "cb": 9, "tb": 20, "bcq": 45, "cm": 4, "fcm": 3, "tm": 6, "mcq": 66.6, "mfcq": 50 }, { "et": "06.02.2022 - 20:50:35", "cl": 11, "ucl": 11, "cal": 22, "tl": 53, "lcq": 50, "cb": 9, "tb": 20, "bcq": 45, "cm": 4, "fcm": 3, "tm": 6, "mcq": 66.6, "mfcq": 50 }, { "et": "07.02.2022 - 20:50:35", "cl": 11, "ucl": 11, "cal": 22, "tl": 53, "lcq": 50, "cb": 9, "tb": 20, "bcq": 45, "cm": 5, "fcm": 3, "tm": 6, "mcq": 83.3, "mfcq": 50 }, { "et": "08.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 9, "tb": 20, "bcq": 45, "cm": 5, "fcm": 3, "tm": 6, "mcq": 83.3, "mfcq": 50 }, { "et": "09.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 9, "tb": 20, "bcq": 45, "cm": 5, "fcm": 3, "tm": 6, "mcq": 83.3, "mfcq": 50 }, { "et": "09.02.2025 - 18:56:52", "cl": 12, "ucl": 10, "cal": 22, "tl": 53, "lcq": 54.5, "cb": 1, "tb": 2, "bcq": 50, "cm": 3, "fcm": 2, "tm": 6, "mcq": 50, "mfcq": 33.3 }], "metrics": { "cc": 1, "npth": 0, "seq": 0, "bcov": 0, "crp": 2 } }, - { "name": "Test.Program", "rp": "", "cl": 15, "ucl": 0, "cal": 15, "tl": 84, "cb": 0, "tb": 0, "cm": 3, "fcm": 3, "tm": 3, "lch": [79.5,100], "bch": [], "mch": [66.6,100], "mfch": [0,100], "hc": [{ "et": "01.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 0, "tm": 6, "mcq": 66.6, "mfcq": 0 }, { "et": "02.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 0, "tm": 6, "mcq": 66.6, "mfcq": 0 }, { "et": "03.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 0, "tm": 6, "mcq": 66.6, "mfcq": 0 }, { "et": "04.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 1, "tm": 6, "mcq": 66.6, "mfcq": 16.6 }, { "et": "05.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 1, "tm": 6, "mcq": 66.6, "mfcq": 16.6 }, { "et": "06.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "07.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "08.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "09.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "09.02.2025 - 18:56:52", "cl": 15, "ucl": 0, "cal": 15, "tl": 84, "lcq": 100, "cb": 0, "tb": 0, "bcq": 0, "cm": 3, "fcm": 3, "tm": 3, "mcq": 100, "mfcq": 100 }], "metrics": { "cc": 3, "npth": 0, "seq": 100, "bcov": 100, "crp": 3 } }, - { "name": "Test.TestClass", "rp": "", "cl": 24, "ucl": 9, "cal": 33, "tl": 38, "cb": 2, "tb": 4, "cm": 4, "fcm": 1, "tm": 5, "lch": [72.7], "bch": [50], "mch": [80], "mfch": [20], "hc": [{ "et": "09.02.2025 - 18:56:52", "cl": 24, "ucl": 9, "cal": 33, "tl": 38, "lcq": 72.7, "cb": 2, "tb": 4, "bcq": 50, "cm": 4, "fcm": 1, "tm": 5, "mcq": 80, "mfcq": 20 }], "metrics": { "cc": 4, "npth": 4, "seq": 0, "bcov": 50 } }, - { "name": "Test.TestClass2", "rp": "", "cl": 24, "ucl": 14, "cal": 38, "tl": 85, "cb": 1, "tb": 2, "cm": 6, "fcm": 3, "tm": 10, "lch": [39.4,39.4,42.1,44.7,39.4,63.1], "bch": [50,40,40,40,40,50], "mch": [60,40,40,60,60,60], "mfch": [40,40,40,40,40,30], "hc": [{ "et": "01.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 10, "tb": 20, "bcq": 50, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "02.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "03.02.2022 - 20:50:35", "cl": 16, "ucl": 22, "cal": 38, "tl": 85, "lcq": 42.1, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "04.02.2022 - 20:50:35", "cl": 16, "ucl": 22, "cal": 38, "tl": 85, "lcq": 42.1, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "05.02.2022 - 20:50:35", "cl": 16, "ucl": 22, "cal": 38, "tl": 85, "lcq": 42.1, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "06.02.2022 - 20:50:35", "cl": 17, "ucl": 21, "cal": 38, "tl": 85, "lcq": 44.7, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "07.02.2022 - 20:50:35", "cl": 17, "ucl": 21, "cal": 38, "tl": 85, "lcq": 44.7, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "08.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "09.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "09.02.2025 - 18:56:52", "cl": 24, "ucl": 14, "cal": 38, "tl": 85, "lcq": 63.1, "cb": 1, "tb": 2, "bcq": 50, "cm": 6, "fcm": 3, "tm": 10, "mcq": 60, "mfcq": 30 }], "metrics": { "cc": 5, "npth": 2, "seq": 0, "bcov": 0, "crp": 5 } }, + { "name": "Sample.PartialClass", "rp": "", "cl": 12, "ucl": 10, "cal": 22, "tl": 53, "cb": 1, "tb": 2, "cm": 3, "fcm": 2, "tm": 6, "lch": [40.9,54.5,59,59,45.4,50,50,59,54.5], "bch": [50,40,40,45,45,45,45,45,50], "mch": [50,33.3,50,66.6,66.6,66.6,83.3,83.3,50], "mfch": [33.3,33.3,50,50,50,50,50,50,33.3], "hc": [{ "et": "01.02.2022 - 20:50:35", "cl": 9, "ucl": 13, "cal": 22, "tl": 53, "lcq": 40.9, "cb": 10, "tb": 20, "bcq": 50, "cm": 3, "fcm": 2, "tm": 6, "mcq": 50, "mfcq": 33.3 }, { "et": "02.02.2022 - 20:50:35", "cl": 12, "ucl": 10, "cal": 22, "tl": 53, "lcq": 54.5, "cb": 8, "tb": 20, "bcq": 40, "cm": 2, "fcm": 2, "tm": 6, "mcq": 33.3, "mfcq": 33.3 }, { "et": "03.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 8, "tb": 20, "bcq": 40, "cm": 3, "fcm": 3, "tm": 6, "mcq": 50, "mfcq": 50 }, { "et": "04.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 9, "tb": 20, "bcq": 45, "cm": 4, "fcm": 3, "tm": 6, "mcq": 66.6, "mfcq": 50 }, { "et": "05.02.2022 - 20:50:35", "cl": 10, "ucl": 12, "cal": 22, "tl": 53, "lcq": 45.4, "cb": 9, "tb": 20, "bcq": 45, "cm": 4, "fcm": 3, "tm": 6, "mcq": 66.6, "mfcq": 50 }, { "et": "06.02.2022 - 20:50:35", "cl": 11, "ucl": 11, "cal": 22, "tl": 53, "lcq": 50, "cb": 9, "tb": 20, "bcq": 45, "cm": 4, "fcm": 3, "tm": 6, "mcq": 66.6, "mfcq": 50 }, { "et": "07.02.2022 - 20:50:35", "cl": 11, "ucl": 11, "cal": 22, "tl": 53, "lcq": 50, "cb": 9, "tb": 20, "bcq": 45, "cm": 5, "fcm": 3, "tm": 6, "mcq": 83.3, "mfcq": 50 }, { "et": "08.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 9, "tb": 20, "bcq": 45, "cm": 5, "fcm": 3, "tm": 6, "mcq": 83.3, "mfcq": 50 }, { "et": "09.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 9, "tb": 20, "bcq": 45, "cm": 5, "fcm": 3, "tm": 6, "mcq": 83.3, "mfcq": 50 }, { "et": "15.10.2025 - 20:25:02", "cl": 12, "ucl": 10, "cal": 22, "tl": 53, "lcq": 54.5, "cb": 1, "tb": 2, "bcq": 50, "cm": 3, "fcm": 2, "tm": 6, "mcq": 50, "mfcq": 33.3 }], "metrics": { "cc": 1, "npth": 0, "seq": 0, "bcov": 0, "crp": 2 } }, + { "name": "Test.Program", "rp": "", "cl": 15, "ucl": 0, "cal": 15, "tl": 84, "cb": 0, "tb": 0, "cm": 3, "fcm": 3, "tm": 3, "lch": [79.5,79.5,79.5,100], "bch": [], "mch": [66.6,66.6,66.6,100], "mfch": [0,16.6,33.3,100], "hc": [{ "et": "01.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 0, "tm": 6, "mcq": 66.6, "mfcq": 0 }, { "et": "02.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 0, "tm": 6, "mcq": 66.6, "mfcq": 0 }, { "et": "03.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 0, "tm": 6, "mcq": 66.6, "mfcq": 0 }, { "et": "04.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 1, "tm": 6, "mcq": 66.6, "mfcq": 16.6 }, { "et": "05.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 1, "tm": 6, "mcq": 66.6, "mfcq": 16.6 }, { "et": "06.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "07.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "08.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "09.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "15.10.2025 - 20:25:02", "cl": 15, "ucl": 0, "cal": 15, "tl": 84, "lcq": 100, "cb": 0, "tb": 0, "bcq": 0, "cm": 3, "fcm": 3, "tm": 3, "mcq": 100, "mfcq": 100 }], "metrics": { "cc": 3, "npth": 0, "seq": 100, "bcov": 100, "crp": 3 } }, + { "name": "Test.TestClass", "rp": "", "cl": 24, "ucl": 9, "cal": 33, "tl": 38, "cb": 2, "tb": 4, "cm": 4, "fcm": 3, "tm": 5, "lch": [72.7], "bch": [50], "mch": [80], "mfch": [60], "hc": [{ "et": "15.10.2025 - 20:25:02", "cl": 24, "ucl": 9, "cal": 33, "tl": 38, "lcq": 72.7, "cb": 2, "tb": 4, "bcq": 50, "cm": 4, "fcm": 3, "tm": 5, "mcq": 80, "mfcq": 60 }], "metrics": { "cc": 4, "npth": 4, "seq": 0, "bcov": 50 } }, + { "name": "Test.TestClass2", "rp": "", "cl": 24, "ucl": 14, "cal": 38, "tl": 85, "cb": 1, "tb": 2, "cm": 6, "fcm": 4, "tm": 10, "lch": [39.4,39.4,42.1,44.7,39.4,63.1], "bch": [50,40,40,40,40,50], "mch": [60,40,40,60,60,60], "mfch": [40,40,40,40,40,40], "hc": [{ "et": "01.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 10, "tb": 20, "bcq": 50, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "02.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "03.02.2022 - 20:50:35", "cl": 16, "ucl": 22, "cal": 38, "tl": 85, "lcq": 42.1, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "04.02.2022 - 20:50:35", "cl": 16, "ucl": 22, "cal": 38, "tl": 85, "lcq": 42.1, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "05.02.2022 - 20:50:35", "cl": 16, "ucl": 22, "cal": 38, "tl": 85, "lcq": 42.1, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "06.02.2022 - 20:50:35", "cl": 17, "ucl": 21, "cal": 38, "tl": 85, "lcq": 44.7, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "07.02.2022 - 20:50:35", "cl": 17, "ucl": 21, "cal": 38, "tl": 85, "lcq": 44.7, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "08.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "09.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "15.10.2025 - 20:25:02", "cl": 24, "ucl": 14, "cal": 38, "tl": 85, "lcq": 63.1, "cb": 1, "tb": 2, "bcq": 50, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }], "metrics": { "cc": 5, "npth": 2, "seq": 0, "bcov": 0, "crp": 5 } }, ]}, ]; @@ -1167,6 +1351,7 @@ var branchCoverageAvailable = true; var methodCoverageAvailable = true; +var applyMaximumGroupingLevel = false; var maximumDecimalPlacesForCoverageQuotas = 1; @@ -1217,7 +1402,7 @@ (()=>{"use strict";var e,_={},p={};function n(e){var a=p[e];if(void 0!==a)return a.exports;var r=p[e]={exports:{}};return _[e](r,r.exports,n),r.exports}n.m=_,e=[],n.O=(a,r,u,l)=>{if(!r){var o=1/0;for(f=0;f=l)&&Object.keys(n.O).every(h=>n.O[h](r[t]))?r.splice(t--,1):(v=!1,l0&&e[f-1][2]>l;f--)e[f]=e[f-1];e[f]=[r,u,l]},n.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return n.d(a,{a}),a},n.d=(e,a)=>{for(var r in a)n.o(a,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},n.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),(()=>{var e={121:0};n.O.j=u=>0===e[u];var a=(u,l)=>{var t,c,[f,o,v]=l,s=0;if(f.some(d=>0!==e[d])){for(t in o)n.o(o,t)&&(n.m[t]=o[t]);if(v)var b=v(n)}for(u&&u(l);s{ve(935)},935:()=>{const te=globalThis;function Q(e){return(te.__Zone_symbol_prefix||"__zone_symbol__")+e}const Te=Object.getOwnPropertyDescriptor,Le=Object.defineProperty,Ie=Object.getPrototypeOf,_t=Object.create,Et=Array.prototype.slice,Me="addEventListener",Ze="removeEventListener",Ae=Q(Me),je=Q(Ze),ae="true",le="false",Pe=Q("");function He(e,r){return Zone.current.wrap(e,r)}function xe(e,r,c,t,i){return Zone.current.scheduleMacroTask(e,r,c,t,i)}const j=Q,Ce=typeof window<"u",ge=Ce?window:void 0,$=Ce&&ge||globalThis;function Ve(e,r){for(let c=e.length-1;c>=0;c--)"function"==typeof e[c]&&(e[c]=He(e[c],r+"_"+c));return e}function We(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const qe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,De=!("nw"in $)&&typeof $.process<"u"&&"[object process]"===$.process.toString(),Ge=!De&&!qe&&!(!Ce||!ge.HTMLElement),Xe=typeof $.process<"u"&&"[object process]"===$.process.toString()&&!qe&&!(!Ce||!ge.HTMLElement),Se={},pt=j("enable_beforeunload"),Ye=function(e){if(!(e=e||$.event))return;let r=Se[e.type];r||(r=Se[e.type]=j("ON_PROPERTY"+e.type));const c=this||e.target||$,t=c[r];let i;return Ge&&c===ge&&"error"===e.type?(i=t&&t.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===i&&e.preventDefault()):(i=t&&t.apply(this,arguments),"beforeunload"===e.type&&$[pt]&&"string"==typeof i?e.returnValue=i:null!=i&&!i&&e.preventDefault()),i};function $e(e,r,c){let t=Te(e,r);if(!t&&c&&Te(c,r)&&(t={enumerable:!0,configurable:!0}),!t||!t.configurable)return;const i=j("on"+r+"patched");if(e.hasOwnProperty(i)&&e[i])return;delete t.writable,delete t.value;const u=t.get,E=t.set,T=r.slice(2);let y=Se[T];y||(y=Se[T]=j("ON_PROPERTY"+T)),t.set=function(D){let d=this;!d&&e===$&&(d=$),d&&("function"==typeof d[y]&&d.removeEventListener(T,Ye),E&&E.call(d,null),d[y]=D,"function"==typeof D&&d.addEventListener(T,Ye,!1))},t.get=function(){let D=this;if(!D&&e===$&&(D=$),!D)return null;const d=D[y];if(d)return d;if(u){let w=u.call(this);if(w)return t.set.call(this,w),"function"==typeof D.removeAttribute&&D.removeAttribute(r),w}return null},Le(e,r,t),e[i]=!0}function Ke(e,r,c){if(r)for(let t=0;tfunction(E,T){const y=c(E,T);return y.cbIdx>=0&&"function"==typeof T[y.cbIdx]?xe(y.name,T[y.cbIdx],y,i):u.apply(E,T)})}function fe(e,r){e[j("OriginalDelegate")]=r}let Je=!1,Be=!1;function kt(){if(Je)return Be;Je=!0;try{const e=ge.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(Be=!0)}catch{}return Be}function Qe(e){return"function"==typeof e}function et(e){return"number"==typeof e}let pe=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){pe=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{pe=!1}const vt={useG:!0},ne={},tt={},nt=new RegExp("^"+Pe+"(\\w+)(true|false)$"),rt=j("propagationStopped");function ot(e,r){const c=(r?r(e):e)+le,t=(r?r(e):e)+ae,i=Pe+c,u=Pe+t;ne[e]={},ne[e][le]=i,ne[e][ae]=u}function bt(e,r,c,t){const i=t&&t.add||Me,u=t&&t.rm||Ze,E=t&&t.listeners||"eventListeners",T=t&&t.rmAll||"removeAllListeners",y=j(i),D="."+i+":",d="prependListener",w="."+d+":",Z=function(k,h,H){if(k.isRemoved)return;const V=k.callback;let Y;"object"==typeof V&&V.handleEvent&&(k.callback=g=>V.handleEvent(g),k.originalDelegate=V);try{k.invoke(k,h,[H])}catch(g){Y=g}const G=k.options;return G&&"object"==typeof G&&G.once&&h[u].call(h,H.type,k.originalDelegate?k.originalDelegate:k.callback,G),Y};function x(k,h,H){if(!(h=h||e.event))return;const V=k||h.target||e,Y=V[ne[h.type][H?ae:le]];if(Y){const G=[];if(1===Y.length){const g=Z(Y[0],V,h);g&&G.push(g)}else{const g=Y.slice();for(let z=0;z{throw z})}}}const U=function(k){return x(this,k,!1)},K=function(k){return x(this,k,!0)};function J(k,h){if(!k)return!1;let H=!0;h&&void 0!==h.useG&&(H=h.useG);const V=h&&h.vh;let Y=!0;h&&void 0!==h.chkDup&&(Y=h.chkDup);let G=!1;h&&void 0!==h.rt&&(G=h.rt);let g=k;for(;g&&!g.hasOwnProperty(i);)g=Ie(g);if(!g&&k[i]&&(g=k),!g||g[y])return!1;const z=h&&h.eventNameToString,O={},R=g[y]=g[i],b=g[j(u)]=g[u],S=g[j(E)]=g[E],ee=g[j(T)]=g[T];let W;h&&h.prepend&&(W=g[j(h.prepend)]=g[h.prepend]);const q=H?function(s){if(!O.isExisting)return R.call(O.target,O.eventName,O.capture?K:U,O.options)}:function(s){return R.call(O.target,O.eventName,s.invoke,O.options)},A=H?function(s){if(!s.isRemoved){const l=ne[s.eventName];let v;l&&(v=l[s.capture?ae:le]);const C=v&&s.target[v];if(C)for(let p=0;pse.zone.cancelTask(se);s.call(me,"abort",ce,{once:!0}),se.removeAbortListener=()=>me.removeEventListener("abort",ce)}return O.target=null,Re&&(Re.taskData=null),lt&&(O.options.once=!0),!pe&&"boolean"==typeof se.options||(se.options=ie),se.target=I,se.capture=Ue,se.eventName=M,F&&(se.originalDelegate=B),L?ke.unshift(se):ke.push(se),p?I:void 0}};return g[i]=a(R,D,q,A,G),W&&(g[d]=a(W,w,function(s){return W.call(O.target,O.eventName,s.invoke,O.options)},A,G,!0)),g[u]=function(){const s=this||e;let l=arguments[0];h&&h.transferEventName&&(l=h.transferEventName(l));const v=arguments[2],C=!!v&&("boolean"==typeof v||v.capture),p=arguments[1];if(!p)return b.apply(this,arguments);if(V&&!V(b,p,s,arguments))return;const L=ne[l];let I;L&&(I=L[C?ae:le]);const M=I&&s[I];if(M)for(let B=0;Bfunction(i,u){i[rt]=!0,t&&t.apply(i,u)})}const Oe=j("zoneTask");function ye(e,r,c,t){let i=null,u=null;c+=t;const E={};function T(D){const d=D.data;d.args[0]=function(){return D.invoke.apply(this,arguments)};const w=i.apply(e,d.args);return et(w)?d.handleId=w:(d.handle=w,d.isRefreshable=Qe(w.refresh)),D}function y(D){const{handle:d,handleId:w}=D.data;return u.call(e,d??w)}i=ue(e,r+=t,D=>function(d,w){if(Qe(w[0])){const Z={isRefreshable:!1,isPeriodic:"Interval"===t,delay:"Timeout"===t||"Interval"===t?w[1]||0:void 0,args:w},x=w[0];w[0]=function(){try{return x.apply(this,arguments)}finally{const{handle:H,handleId:V,isPeriodic:Y,isRefreshable:G}=Z;!Y&&!G&&(V?delete E[V]:H&&(H[Oe]=null))}};const U=xe(r,w[0],Z,T,y);if(!U)return U;const{handleId:K,handle:J,isRefreshable:X,isPeriodic:k}=U.data;if(K)E[K]=U;else if(J&&(J[Oe]=U,X&&!k)){const h=J.refresh;J.refresh=function(){const{zone:H,state:V}=U;return"notScheduled"===V?(U._state="scheduled",H._updateTaskCount(U,1)):"running"===V&&(U._state="scheduling"),h.call(this)}}return J??K??U}return D.apply(e,w)}),u=ue(e,c,D=>function(d,w){const Z=w[0];let x;et(Z)?(x=E[Z],delete E[Z]):(x=Z?.[Oe],x?Z[Oe]=null:x=Z),x?.type?x.cancelFn&&x.zone.cancelTask(x):D.apply(e,w)})}function it(e,r,c){if(!c||0===c.length)return r;const t=c.filter(u=>u.target===e);if(!t||0===t.length)return r;const i=t[0].ignoreProperties;return r.filter(u=>-1===i.indexOf(u))}function ct(e,r,c,t){e&&Ke(e,it(e,r,c),t)}function Fe(e){return Object.getOwnPropertyNames(e).filter(r=>r.startsWith("on")&&r.length>2).map(r=>r.substring(2))}function It(e,r,c,t,i){const u=Zone.__symbol__(t);if(r[u])return;const E=r[u]=r[t];r[t]=function(T,y,D){return y&&y.prototype&&i.forEach(function(d){const w=`${c}.${t}::`+d,Z=y.prototype;try{if(Z.hasOwnProperty(d)){const x=e.ObjectGetOwnPropertyDescriptor(Z,d);x&&x.value?(x.value=e.wrapWithCurrentZone(x.value,w),e._redefineProperty(y.prototype,d,x)):Z[d]&&(Z[d]=e.wrapWithCurrentZone(Z[d],w))}else Z[d]&&(Z[d]=e.wrapWithCurrentZone(Z[d],w))}catch{}}),E.call(r,T,y,D)},e.attachOriginToPatched(r[t],E)}const at=function be(){const e=globalThis,r=!0===e[Q("forceDuplicateZoneCheck")];if(e.Zone&&(r||"function"!=typeof e.Zone.__symbol__))throw new Error("Zone already loaded.");return e.Zone??=function ve(){const e=te.performance;function r(N){e&&e.mark&&e.mark(N)}function c(N,_){e&&e.measure&&e.measure(N,_)}r("Zone");let t=(()=>{class N{static{this.__symbol__=Q}static assertZonePatched(){if(te.Promise!==O.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let n=N.current;for(;n.parent;)n=n.parent;return n}static get current(){return b.zone}static get currentTask(){return S}static __load_patch(n,o,m=!1){if(O.hasOwnProperty(n)){const P=!0===te[Q("forceDuplicateZoneCheck")];if(!m&&P)throw Error("Already loaded patch: "+n)}else if(!te["__Zone_disable_"+n]){const P="Zone:"+n;r(P),O[n]=o(te,N,R),c(P,P)}}get parent(){return this._parent}get name(){return this._name}constructor(n,o){this._parent=n,this._name=o?o.name||"unnamed":"",this._properties=o&&o.properties||{},this._zoneDelegate=new u(this,this._parent&&this._parent._zoneDelegate,o)}get(n){const o=this.getZoneWith(n);if(o)return o._properties[n]}getZoneWith(n){let o=this;for(;o;){if(o._properties.hasOwnProperty(n))return o;o=o._parent}return null}fork(n){if(!n)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,n)}wrap(n,o){if("function"!=typeof n)throw new Error("Expecting function got: "+n);const m=this._zoneDelegate.intercept(this,n,o),P=this;return function(){return P.runGuarded(m,this,arguments,o)}}run(n,o,m,P){b={parent:b,zone:this};try{return this._zoneDelegate.invoke(this,n,o,m,P)}finally{b=b.parent}}runGuarded(n,o=null,m,P){b={parent:b,zone:this};try{try{return this._zoneDelegate.invoke(this,n,o,m,P)}catch(q){if(this._zoneDelegate.handleError(this,q))throw q}}finally{b=b.parent}}runTask(n,o,m){if(n.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(n.zone||J).name+"; Execution: "+this.name+")");const P=n,{type:q,data:{isPeriodic:A=!1,isRefreshable:_e=!1}={}}=n;if(n.state===X&&(q===z||q===g))return;const he=n.state!=H;he&&P._transitionTo(H,h);const de=S;S=P,b={parent:b,zone:this};try{q==g&&n.data&&!A&&!_e&&(n.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,P,o,m)}catch(oe){if(this._zoneDelegate.handleError(this,oe))throw oe}}finally{const oe=n.state;if(oe!==X&&oe!==Y)if(q==z||A||_e&&oe===k)he&&P._transitionTo(h,H,k);else{const f=P._zoneDelegates;this._updateTaskCount(P,-1),he&&P._transitionTo(X,H,X),_e&&(P._zoneDelegates=f)}b=b.parent,S=de}}scheduleTask(n){if(n.zone&&n.zone!==this){let m=this;for(;m;){if(m===n.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${n.zone.name}`);m=m.parent}}n._transitionTo(k,X);const o=[];n._zoneDelegates=o,n._zone=this;try{n=this._zoneDelegate.scheduleTask(this,n)}catch(m){throw n._transitionTo(Y,k,X),this._zoneDelegate.handleError(this,m),m}return n._zoneDelegates===o&&this._updateTaskCount(n,1),n.state==k&&n._transitionTo(h,k),n}scheduleMicroTask(n,o,m,P){return this.scheduleTask(new E(G,n,o,m,P,void 0))}scheduleMacroTask(n,o,m,P,q){return this.scheduleTask(new E(g,n,o,m,P,q))}scheduleEventTask(n,o,m,P,q){return this.scheduleTask(new E(z,n,o,m,P,q))}cancelTask(n){if(n.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(n.zone||J).name+"; Execution: "+this.name+")");if(n.state===h||n.state===H){n._transitionTo(V,h,H);try{this._zoneDelegate.cancelTask(this,n)}catch(o){throw n._transitionTo(Y,V),this._zoneDelegate.handleError(this,o),o}return this._updateTaskCount(n,-1),n._transitionTo(X,V),n.runCount=-1,n}}_updateTaskCount(n,o){const m=n._zoneDelegates;-1==o&&(n._zoneDelegates=null);for(let P=0;PN.hasTask(n,o),onScheduleTask:(N,_,n,o)=>N.scheduleTask(n,o),onInvokeTask:(N,_,n,o,m,P)=>N.invokeTask(n,o,m,P),onCancelTask:(N,_,n,o)=>N.cancelTask(n,o)};class u{get zone(){return this._zone}constructor(_,n,o){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this._zone=_,this._parentDelegate=n,this._forkZS=o&&(o&&o.onFork?o:n._forkZS),this._forkDlgt=o&&(o.onFork?n:n._forkDlgt),this._forkCurrZone=o&&(o.onFork?this._zone:n._forkCurrZone),this._interceptZS=o&&(o.onIntercept?o:n._interceptZS),this._interceptDlgt=o&&(o.onIntercept?n:n._interceptDlgt),this._interceptCurrZone=o&&(o.onIntercept?this._zone:n._interceptCurrZone),this._invokeZS=o&&(o.onInvoke?o:n._invokeZS),this._invokeDlgt=o&&(o.onInvoke?n:n._invokeDlgt),this._invokeCurrZone=o&&(o.onInvoke?this._zone:n._invokeCurrZone),this._handleErrorZS=o&&(o.onHandleError?o:n._handleErrorZS),this._handleErrorDlgt=o&&(o.onHandleError?n:n._handleErrorDlgt),this._handleErrorCurrZone=o&&(o.onHandleError?this._zone:n._handleErrorCurrZone),this._scheduleTaskZS=o&&(o.onScheduleTask?o:n._scheduleTaskZS),this._scheduleTaskDlgt=o&&(o.onScheduleTask?n:n._scheduleTaskDlgt),this._scheduleTaskCurrZone=o&&(o.onScheduleTask?this._zone:n._scheduleTaskCurrZone),this._invokeTaskZS=o&&(o.onInvokeTask?o:n._invokeTaskZS),this._invokeTaskDlgt=o&&(o.onInvokeTask?n:n._invokeTaskDlgt),this._invokeTaskCurrZone=o&&(o.onInvokeTask?this._zone:n._invokeTaskCurrZone),this._cancelTaskZS=o&&(o.onCancelTask?o:n._cancelTaskZS),this._cancelTaskDlgt=o&&(o.onCancelTask?n:n._cancelTaskDlgt),this._cancelTaskCurrZone=o&&(o.onCancelTask?this._zone:n._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const m=o&&o.onHasTask;(m||n&&n._hasTaskZS)&&(this._hasTaskZS=m?o:i,this._hasTaskDlgt=n,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=this._zone,o.onScheduleTask||(this._scheduleTaskZS=i,this._scheduleTaskDlgt=n,this._scheduleTaskCurrZone=this._zone),o.onInvokeTask||(this._invokeTaskZS=i,this._invokeTaskDlgt=n,this._invokeTaskCurrZone=this._zone),o.onCancelTask||(this._cancelTaskZS=i,this._cancelTaskDlgt=n,this._cancelTaskCurrZone=this._zone))}fork(_,n){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,_,n):new t(_,n)}intercept(_,n,o){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,_,n,o):n}invoke(_,n,o,m,P){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,_,n,o,m,P):n.apply(o,m)}handleError(_,n){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,_,n)}scheduleTask(_,n){let o=n;if(this._scheduleTaskZS)this._hasTaskZS&&o._zoneDelegates.push(this._hasTaskDlgtOwner),o=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,_,n),o||(o=n);else if(n.scheduleFn)n.scheduleFn(n);else{if(n.type!=G)throw new Error("Task is missing scheduleFn.");U(n)}return o}invokeTask(_,n,o,m){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,_,n,o,m):n.callback.apply(o,m)}cancelTask(_,n){let o;if(this._cancelTaskZS)o=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,_,n);else{if(!n.cancelFn)throw Error("Task is not cancelable");o=n.cancelFn(n)}return o}hasTask(_,n){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,_,n)}catch(o){this.handleError(_,o)}}_updateTaskCount(_,n){const o=this._taskCounts,m=o[_],P=o[_]=m+n;if(P<0)throw new Error("More tasks executed then were scheduled.");0!=m&&0!=P||this.hasTask(this._zone,{microTask:o.microTask>0,macroTask:o.macroTask>0,eventTask:o.eventTask>0,change:_})}}class E{constructor(_,n,o,m,P,q){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=_,this.source=n,this.data=m,this.scheduleFn=P,this.cancelFn=q,!o)throw new Error("callback is not defined");this.callback=o;const A=this;this.invoke=_===z&&m&&m.useG?E.invokeTask:function(){return E.invokeTask.call(te,A,this,arguments)}}static invokeTask(_,n,o){_||(_=this),ee++;try{return _.runCount++,_.zone.runTask(_,n,o)}finally{1==ee&&K(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(X,k)}_transitionTo(_,n,o){if(this._state!==n&&this._state!==o)throw new Error(`${this.type} '${this.source}': can not transition to '${_}', expecting state '${n}'${o?" or '"+o+"'":""}, was '${this._state}'.`);this._state=_,_==X&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const T=Q("setTimeout"),y=Q("Promise"),D=Q("then");let Z,d=[],w=!1;function x(N){if(Z||te[y]&&(Z=te[y].resolve(0)),Z){let _=Z[D];_||(_=Z.then),_.call(Z,N)}else te[T](N,0)}function U(N){0===ee&&0===d.length&&x(K),N&&d.push(N)}function K(){if(!w){for(w=!0;d.length;){const N=d;d=[];for(let _=0;_b,onUnhandledError:W,microtaskDrainDone:W,scheduleMicroTask:U,showUncaughtError:()=>!t[Q("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:W,patchMethod:()=>W,bindArguments:()=>[],patchThen:()=>W,patchMacroTask:()=>W,patchEventPrototype:()=>W,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>W,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>W,wrapWithCurrentZone:()=>W,filterProperties:()=>[],attachOriginToPatched:()=>W,_redefineProperty:()=>W,patchCallbacks:()=>W,nativeScheduleMicroTask:x};let b={parent:null,zone:new t(null,null)},S=null,ee=0;function W(){}return c("Zone","Zone"),t}(),e.Zone}();(function Zt(e){(function Nt(e){e.__load_patch("ZoneAwarePromise",(r,c,t)=>{const i=Object.getOwnPropertyDescriptor,u=Object.defineProperty,T=t.symbol,y=[],D=!1!==r[T("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],d=T("Promise"),w=T("then");t.onUnhandledError=f=>{if(t.showUncaughtError()){const a=f&&f.rejection;a?console.error("Unhandled Promise rejection:",a instanceof Error?a.message:a,"; Zone:",f.zone.name,"; Task:",f.task&&f.task.source,"; Value:",a,a instanceof Error?a.stack:void 0):console.error(f)}},t.microtaskDrainDone=()=>{for(;y.length;){const f=y.shift();try{f.zone.runGuarded(()=>{throw f.throwOriginal?f.rejection:f})}catch(a){U(a)}}};const x=T("unhandledPromiseRejectionHandler");function U(f){t.onUnhandledError(f);try{const a=c[x];"function"==typeof a&&a.call(this,f)}catch{}}function K(f){return f&&f.then}function J(f){return f}function X(f){return A.reject(f)}const k=T("state"),h=T("value"),H=T("finally"),V=T("parentPromiseValue"),Y=T("parentPromiseState"),g=null,z=!0,O=!1;function b(f,a){return s=>{try{N(f,a,s)}catch(l){N(f,!1,l)}}}const S=function(){let f=!1;return function(s){return function(){f||(f=!0,s.apply(null,arguments))}}},ee="Promise resolved with itself",W=T("currentTaskTrace");function N(f,a,s){const l=S();if(f===s)throw new TypeError(ee);if(f[k]===g){let v=null;try{("object"==typeof s||"function"==typeof s)&&(v=s&&s.then)}catch(C){return l(()=>{N(f,!1,C)})(),f}if(a!==O&&s instanceof A&&s.hasOwnProperty(k)&&s.hasOwnProperty(h)&&s[k]!==g)n(s),N(f,s[k],s[h]);else if(a!==O&&"function"==typeof v)try{v.call(s,l(b(f,a)),l(b(f,!1)))}catch(C){l(()=>{N(f,!1,C)})()}else{f[k]=a;const C=f[h];if(f[h]=s,f[H]===H&&a===z&&(f[k]=f[Y],f[h]=f[V]),a===O&&s instanceof Error){const p=c.currentTask&&c.currentTask.data&&c.currentTask.data.__creationTrace__;p&&u(s,W,{configurable:!0,enumerable:!1,writable:!0,value:p})}for(let p=0;p{try{const L=f[h],I=!!s&&H===s[H];I&&(s[V]=L,s[Y]=C);const M=a.run(p,void 0,I&&p!==X&&p!==J?[]:[L]);N(s,!0,M)}catch(L){N(s,!1,L)}},s)}const P=function(){},q=r.AggregateError;class A{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(a){return a instanceof A?a:N(new this(null),z,a)}static reject(a){return N(new this(null),O,a)}static withResolvers(){const a={};return a.promise=new A((s,l)=>{a.resolve=s,a.reject=l}),a}static any(a){if(!a||"function"!=typeof a[Symbol.iterator])return Promise.reject(new q([],"All promises were rejected"));const s=[];let l=0;try{for(let p of a)l++,s.push(A.resolve(p))}catch{return Promise.reject(new q([],"All promises were rejected"))}if(0===l)return Promise.reject(new q([],"All promises were rejected"));let v=!1;const C=[];return new A((p,L)=>{for(let I=0;I{v||(v=!0,p(M))},M=>{C.push(M),l--,0===l&&(v=!0,L(new q(C,"All promises were rejected")))})})}static race(a){let s,l,v=new this((L,I)=>{s=L,l=I});function C(L){s(L)}function p(L){l(L)}for(let L of a)K(L)||(L=this.resolve(L)),L.then(C,p);return v}static all(a){return A.allWithCallback(a)}static allSettled(a){return(this&&this.prototype instanceof A?this:A).allWithCallback(a,{thenCallback:l=>({status:"fulfilled",value:l}),errorCallback:l=>({status:"rejected",reason:l})})}static allWithCallback(a,s){let l,v,C=new this((M,B)=>{l=M,v=B}),p=2,L=0;const I=[];for(let M of a){K(M)||(M=this.resolve(M));const B=L;try{M.then(F=>{I[B]=s?s.thenCallback(F):F,p--,0===p&&l(I)},F=>{s?(I[B]=s.errorCallback(F),p--,0===p&&l(I)):v(F)})}catch(F){v(F)}p++,L++}return p-=2,0===p&&l(I),C}constructor(a){const s=this;if(!(s instanceof A))throw new Error("Must be an instanceof Promise.");s[k]=g,s[h]=[];try{const l=S();a&&a(l(b(s,z)),l(b(s,O)))}catch(l){N(s,!1,l)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return A}then(a,s){let l=this.constructor?.[Symbol.species];(!l||"function"!=typeof l)&&(l=this.constructor||A);const v=new l(P),C=c.current;return this[k]==g?this[h].push(C,v,a,s):o(this,C,v,a,s),v}catch(a){return this.then(null,a)}finally(a){let s=this.constructor?.[Symbol.species];(!s||"function"!=typeof s)&&(s=A);const l=new s(P);l[H]=H;const v=c.current;return this[k]==g?this[h].push(v,l,a,a):o(this,v,l,a,a),l}}A.resolve=A.resolve,A.reject=A.reject,A.race=A.race,A.all=A.all;const _e=r[d]=r.Promise;r.Promise=A;const he=T("thenPatched");function de(f){const a=f.prototype,s=i(a,"then");if(s&&(!1===s.writable||!s.configurable))return;const l=a.then;a[w]=l,f.prototype.then=function(v,C){return new A((L,I)=>{l.call(this,L,I)}).then(v,C)},f[he]=!0}return t.patchThen=de,_e&&(de(_e),ue(r,"fetch",f=>function oe(f){return function(a,s){let l=f.apply(a,s);if(l instanceof A)return l;let v=l.constructor;return v[he]||de(v),l}}(f))),Promise[c.__symbol__("uncaughtPromiseErrors")]=y,A})})(e),function Lt(e){e.__load_patch("toString",r=>{const c=Function.prototype.toString,t=j("OriginalDelegate"),i=j("Promise"),u=j("Error"),E=function(){if("function"==typeof this){const d=this[t];if(d)return"function"==typeof d?c.call(d):Object.prototype.toString.call(d);if(this===Promise){const w=r[i];if(w)return c.call(w)}if(this===Error){const w=r[u];if(w)return c.call(w)}}return c.call(this)};E[t]=c,Function.prototype.toString=E;const T=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":T.call(this)}})}(e),function Mt(e){e.__load_patch("util",(r,c,t)=>{const i=Fe(r);t.patchOnProperties=Ke,t.patchMethod=ue,t.bindArguments=Ve,t.patchMacroTask=yt;const u=c.__symbol__("BLACK_LISTED_EVENTS"),E=c.__symbol__("UNPATCHED_EVENTS");r[E]&&(r[u]=r[E]),r[u]&&(c[u]=c[E]=r[u]),t.patchEventPrototype=Pt,t.patchEventTarget=bt,t.isIEOrEdge=kt,t.ObjectDefineProperty=Le,t.ObjectGetOwnPropertyDescriptor=Te,t.ObjectCreate=_t,t.ArraySlice=Et,t.patchClass=we,t.wrapWithCurrentZone=He,t.filterProperties=it,t.attachOriginToPatched=fe,t._redefineProperty=Object.defineProperty,t.patchCallbacks=It,t.getGlobalObjects=()=>({globalSources:tt,zoneSymbolEventNames:ne,eventNames:i,isBrowser:Ge,isMix:Xe,isNode:De,TRUE_STR:ae,FALSE_STR:le,ZONE_SYMBOL_PREFIX:Pe,ADD_EVENT_LISTENER_STR:Me,REMOVE_EVENT_LISTENER_STR:Ze})})}(e)})(at),function Ot(e){e.__load_patch("legacy",r=>{const c=r[e.__symbol__("legacyPatch")];c&&c()}),e.__load_patch("timers",r=>{const c="set",t="clear";ye(r,c,t,"Timeout"),ye(r,c,t,"Interval"),ye(r,c,t,"Immediate")}),e.__load_patch("requestAnimationFrame",r=>{ye(r,"request","cancel","AnimationFrame"),ye(r,"mozRequest","mozCancel","AnimationFrame"),ye(r,"webkitRequest","webkitCancel","AnimationFrame")}),e.__load_patch("blocking",(r,c)=>{const t=["alert","prompt","confirm"];for(let i=0;ifunction(D,d){return c.current.run(E,r,d,y)})}),e.__load_patch("EventTarget",(r,c,t)=>{(function Dt(e,r){r.patchEventPrototype(e,r)})(r,t),function Ct(e,r){if(Zone[r.symbol("patchEventTarget")])return;const{eventNames:c,zoneSymbolEventNames:t,TRUE_STR:i,FALSE_STR:u,ZONE_SYMBOL_PREFIX:E}=r.getGlobalObjects();for(let y=0;y{we("MutationObserver"),we("WebKitMutationObserver")}),e.__load_patch("IntersectionObserver",(r,c,t)=>{we("IntersectionObserver")}),e.__load_patch("FileReader",(r,c,t)=>{we("FileReader")}),e.__load_patch("on_property",(r,c,t)=>{!function St(e,r){if(De&&!Xe||Zone[e.symbol("patchEvents")])return;const c=r.__Zone_ignore_on_properties;let t=[];if(Ge){const i=window;t=t.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const u=function mt(){try{const e=ge.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:i,ignoreProperties:["error"]}]:[];ct(i,Fe(i),c&&c.concat(u),Ie(i))}t=t.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let i=0;i{!function Rt(e,r){const{isBrowser:c,isMix:t}=r.getGlobalObjects();(c||t)&&e.customElements&&"customElements"in e&&r.patchCallbacks(r,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback","formAssociatedCallback","formDisabledCallback","formResetCallback","formStateRestoreCallback"])}(r,t)}),e.__load_patch("XHR",(r,c)=>{!function D(d){const w=d.XMLHttpRequest;if(!w)return;const Z=w.prototype;let U=Z[Ae],K=Z[je];if(!U){const R=d.XMLHttpRequestEventTarget;if(R){const b=R.prototype;U=b[Ae],K=b[je]}}const J="readystatechange",X="scheduled";function k(R){const b=R.data,S=b.target;S[E]=!1,S[y]=!1;const ee=S[u];U||(U=S[Ae],K=S[je]),ee&&K.call(S,J,ee);const W=S[u]=()=>{if(S.readyState===S.DONE)if(!b.aborted&&S[E]&&R.state===X){const _=S[c.__symbol__("loadfalse")];if(0!==S.status&&_&&_.length>0){const n=R.invoke;R.invoke=function(){const o=S[c.__symbol__("loadfalse")];for(let m=0;mfunction(R,b){return R[i]=0==b[2],R[T]=b[1],V.apply(R,b)}),G=j("fetchTaskAborting"),g=j("fetchTaskScheduling"),z=ue(Z,"send",()=>function(R,b){if(!0===c.current[g]||R[i])return z.apply(R,b);{const S={target:R,url:R[T],isPeriodic:!1,args:b,aborted:!1},ee=xe("XMLHttpRequest.send",h,S,k,H);R&&!0===R[y]&&!S.aborted&&ee.state===X&&ee.invoke()}}),O=ue(Z,"abort",()=>function(R,b){const S=function x(R){return R[t]}(R);if(S&&"string"==typeof S.type){if(null==S.cancelFn||S.data&&S.data.aborted)return;S.zone.cancelTask(S)}else if(!0===c.current[G])return O.apply(R,b)})}(r);const t=j("xhrTask"),i=j("xhrSync"),u=j("xhrListener"),E=j("xhrScheduled"),T=j("xhrURL"),y=j("xhrErrorBeforeScheduled")}),e.__load_patch("geolocation",r=>{r.navigator&&r.navigator.geolocation&&function gt(e,r){const c=e.constructor.name;for(let t=0;t{const y=function(){return T.apply(this,Ve(arguments,c+"."+i))};return fe(y,T),y})(u)}}}(r.navigator.geolocation,["getCurrentPosition","watchPosition"])}),e.__load_patch("PromiseRejectionEvent",(r,c)=>{function t(i){return function(u){st(r,i).forEach(T=>{const y=r.PromiseRejectionEvent;if(y){const D=new y(i,{promise:u.promise,reason:u.rejection});T.invoke(D)}})}}r.PromiseRejectionEvent&&(c[j("unhandledPromiseRejectionHandler")]=t("unhandledrejection"),c[j("rejectionHandledHandler")]=t("rejectionhandled"))}),e.__load_patch("queueMicrotask",(r,c,t)=>{!function wt(e,r){r.patchMethod(e,"queueMicrotask",c=>function(t,i){Zone.current.scheduleMicroTask("queueMicrotask",i[0])})}(r,t)})}(at)}},te=>{te(te.s=50)}]); +"use strict";(self.webpackChunkcoverage_app=self.webpackChunkcoverage_app||[]).push([[461],{50:(te,Q,ve)=>{ve(935)},935:()=>{const te=globalThis;function Q(t){return(te.__Zone_symbol_prefix||"__zone_symbol__")+t}const Ee=Object.getOwnPropertyDescriptor,Le=Object.defineProperty,Ie=Object.getPrototypeOf,_t=Object.create,Et=Array.prototype.slice,Me="addEventListener",Ze="removeEventListener",Ae=Q(Me),je=Q(Ze),ae="true",le="false",Pe=Q("");function He(t,r){return Zone.current.wrap(t,r)}function xe(t,r,i,n,s){return Zone.current.scheduleMacroTask(t,r,i,n,s)}const H=Q,Ce=typeof window<"u",Te=Ce?window:void 0,$=Ce&&Te||globalThis;function Ve(t,r){for(let i=t.length-1;i>=0;i--)"function"==typeof t[i]&&(t[i]=He(t[i],r+"_"+i));return t}function We(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&typeof t.set>"u")}const qe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,De=!("nw"in $)&&typeof $.process<"u"&&"[object process]"===$.process.toString(),Ge=!De&&!qe&&!(!Ce||!Te.HTMLElement),Xe=typeof $.process<"u"&&"[object process]"===$.process.toString()&&!qe&&!(!Ce||!Te.HTMLElement),Se={},pt=H("enable_beforeunload"),Ye=function(t){if(!(t=t||$.event))return;let r=Se[t.type];r||(r=Se[t.type]=H("ON_PROPERTY"+t.type));const i=this||t.target||$,n=i[r];let s;return Ge&&i===Te&&"error"===t.type?(s=n&&n.call(this,t.message,t.filename,t.lineno,t.colno,t.error),!0===s&&t.preventDefault()):(s=n&&n.apply(this,arguments),"beforeunload"===t.type&&$[pt]&&"string"==typeof s?t.returnValue=s:null!=s&&!s&&t.preventDefault()),s};function $e(t,r,i){let n=Ee(t,r);if(!n&&i&&Ee(i,r)&&(n={enumerable:!0,configurable:!0}),!n||!n.configurable)return;const s=H("on"+r+"patched");if(t.hasOwnProperty(s)&&t[s])return;delete n.writable,delete n.value;const f=n.get,T=n.set,g=r.slice(2);let m=Se[g];m||(m=Se[g]=H("ON_PROPERTY"+g)),n.set=function(C){let E=this;!E&&t===$&&(E=$),E&&("function"==typeof E[m]&&E.removeEventListener(g,Ye),T&&T.call(E,null),E[m]=C,"function"==typeof C&&E.addEventListener(g,Ye,!1))},n.get=function(){let C=this;if(!C&&t===$&&(C=$),!C)return null;const E=C[m];if(E)return E;if(f){let P=f.call(this);if(P)return n.set.call(this,P),"function"==typeof C.removeAttribute&&C.removeAttribute(r),P}return null},Le(t,r,n),t[s]=!0}function Ke(t,r,i){if(r)for(let n=0;nfunction(T,g){const m=i(T,g);return m.cbIdx>=0&&"function"==typeof g[m.cbIdx]?xe(m.name,g[m.cbIdx],m,s):f.apply(T,g)})}function fe(t,r){t[H("OriginalDelegate")]=r}let Je=!1,Be=!1;function kt(){if(Je)return Be;Je=!0;try{const t=Te.navigator.userAgent;(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/")||-1!==t.indexOf("Edge/"))&&(Be=!0)}catch{}return Be}function Qe(t){return"function"==typeof t}function et(t){return"number"==typeof t}let ge=!1;if(typeof window<"u")try{const t=Object.defineProperty({},"passive",{get:function(){ge=!0}});window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch{ge=!1}const vt={useG:!0},ne={},tt={},nt=new RegExp("^"+Pe+"(\\w+)(true|false)$"),rt=H("propagationStopped");function ot(t,r){const i=(r?r(t):t)+le,n=(r?r(t):t)+ae,s=Pe+i,f=Pe+n;ne[t]={},ne[t][le]=s,ne[t][ae]=f}function bt(t,r,i,n){const s=n&&n.add||Me,f=n&&n.rm||Ze,T=n&&n.listeners||"eventListeners",g=n&&n.rmAll||"removeAllListeners",m=H(s),C="."+s+":",E="prependListener",P="."+E+":",A=function(k,h,x){if(k.isRemoved)return;const G=k.callback;let Y;"object"==typeof G&&G.handleEvent&&(k.callback=p=>G.handleEvent(p),k.originalDelegate=G);try{k.invoke(k,h,[x])}catch(p){Y=p}const B=k.options;return B&&"object"==typeof B&&B.once&&h[f].call(h,x.type,k.originalDelegate?k.originalDelegate:k.callback,B),Y};function V(k,h,x){if(!(h=h||t.event))return;const G=k||h.target||t,Y=G[ne[h.type][x?ae:le]];if(Y){const B=[];if(1===Y.length){const p=A(Y[0],G,h);p&&B.push(p)}else{const p=Y.slice();for(let W=0;W{throw W})}}}const z=function(k){return V(this,k,!1)},K=function(k){return V(this,k,!0)};function J(k,h){if(!k)return!1;let x=!0;h&&void 0!==h.useG&&(x=h.useG);const G=h&&h.vh;let Y=!0;h&&void 0!==h.chkDup&&(Y=h.chkDup);let B=!1;h&&void 0!==h.rt&&(B=h.rt);let p=k;for(;p&&!p.hasOwnProperty(s);)p=Ie(p);if(!p&&k[s]&&(p=k),!p||p[m])return!1;const W=h&&h.eventNameToString,L={},w=p[m]=p[s],b=p[H(f)]=p[f],S=p[H(T)]=p[T],ee=p[H(g)]=p[g];let q;h&&h.prepend&&(q=p[H(h.prepend)]=p[h.prepend]);const N=x?function(o){if(!L.isExisting)return w.call(L.target,L.eventName,L.capture?K:z,L.options)}:function(o){return w.call(L.target,L.eventName,o.invoke,L.options)},D=x?function(o){if(!o.isRemoved){const u=ne[o.eventName];let v;u&&(v=u[o.capture?ae:le]);const R=v&&o.target[v];if(R)for(let y=0;yse.zone.cancelTask(se);o.call(me,"abort",ce,{once:!0}),se.removeAbortListener=()=>me.removeEventListener("abort",ce)}return L.target=null,Re&&(Re.taskData=null),lt&&(L.options.once=!0),!ge&&"boolean"==typeof se.options||(se.options=ie),se.target=M,se.capture=Ue,se.eventName=Z,U&&(se.originalDelegate=F),I?ke.unshift(se):ke.push(se),y?M:void 0}};return p[s]=a(w,C,N,D,B),q&&(p[E]=a(q,P,function(o){return q.call(L.target,L.eventName,o.invoke,L.options)},D,B,!0)),p[f]=function(){const o=this||t;let u=arguments[0];h&&h.transferEventName&&(u=h.transferEventName(u));const v=arguments[2],R=!!v&&("boolean"==typeof v||v.capture),y=arguments[1];if(!y)return b.apply(this,arguments);if(G&&!G(b,y,o,arguments))return;const I=ne[u];let M;I&&(M=I[R?ae:le]);const Z=M&&o[M];if(Z)for(let F=0;Ffunction(s,f){s[rt]=!0,n&&n.apply(s,f)})}const Oe=H("zoneTask");function pe(t,r,i,n){let s=null,f=null;i+=n;const T={};function g(C){const E=C.data;E.args[0]=function(){return C.invoke.apply(this,arguments)};const P=s.apply(t,E.args);return et(P)?E.handleId=P:(E.handle=P,E.isRefreshable=Qe(P.refresh)),C}function m(C){const{handle:E,handleId:P}=C.data;return f.call(t,E??P)}s=ue(t,r+=n,C=>function(E,P){if(Qe(P[0])){const A={isRefreshable:!1,isPeriodic:"Interval"===n,delay:"Timeout"===n||"Interval"===n?P[1]||0:void 0,args:P},V=P[0];P[0]=function(){try{return V.apply(this,arguments)}finally{const{handle:x,handleId:G,isPeriodic:Y,isRefreshable:B}=A;!Y&&!B&&(G?delete T[G]:x&&(x[Oe]=null))}};const z=xe(r,P[0],A,g,m);if(!z)return z;const{handleId:K,handle:J,isRefreshable:X,isPeriodic:k}=z.data;if(K)T[K]=z;else if(J&&(J[Oe]=z,X&&!k)){const h=J.refresh;J.refresh=function(){const{zone:x,state:G}=z;return"notScheduled"===G?(z._state="scheduled",x._updateTaskCount(z,1)):"running"===G&&(z._state="scheduling"),h.call(this)}}return J??K??z}return C.apply(t,P)}),f=ue(t,i,C=>function(E,P){const A=P[0];let V;et(A)?(V=T[A],delete T[A]):(V=A?.[Oe],V?A[Oe]=null:V=A),V?.type?V.cancelFn&&V.zone.cancelTask(V):C.apply(t,P)})}function it(t,r,i){if(!i||0===i.length)return r;const n=i.filter(f=>f.target===t);if(!n||0===n.length)return r;const s=n[0].ignoreProperties;return r.filter(f=>-1===s.indexOf(f))}function ct(t,r,i,n){t&&Ke(t,it(t,r,i),n)}function Fe(t){return Object.getOwnPropertyNames(t).filter(r=>r.startsWith("on")&&r.length>2).map(r=>r.substring(2))}function It(t,r,i,n,s){const f=Zone.__symbol__(n);if(r[f])return;const T=r[f]=r[n];r[n]=function(g,m,C){return m&&m.prototype&&s.forEach(function(E){const P=`${i}.${n}::`+E,A=m.prototype;try{if(A.hasOwnProperty(E)){const V=t.ObjectGetOwnPropertyDescriptor(A,E);V&&V.value?(V.value=t.wrapWithCurrentZone(V.value,P),t._redefineProperty(m.prototype,E,V)):A[E]&&(A[E]=t.wrapWithCurrentZone(A[E],P))}else A[E]&&(A[E]=t.wrapWithCurrentZone(A[E],P))}catch{}}),T.call(r,g,m,C)},t.attachOriginToPatched(r[n],T)}const at=function be(){const t=globalThis,r=!0===t[Q("forceDuplicateZoneCheck")];if(t.Zone&&(r||"function"!=typeof t.Zone.__symbol__))throw new Error("Zone already loaded.");return t.Zone??=function ve(){const t=te.performance;function r(j){t&&t.mark&&t.mark(j)}function i(j,_){t&&t.measure&&t.measure(j,_)}r("Zone");let n=(()=>{var j;class _{static assertZonePatched(){if(te.Promise!==L.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let e=_.current;for(;e.parent;)e=e.parent;return e}static get current(){return b.zone}static get currentTask(){return S}static __load_patch(e,d,O=!1){if(L.hasOwnProperty(e)){const N=!0===te[Q("forceDuplicateZoneCheck")];if(!O&&N)throw Error("Already loaded patch: "+e)}else if(!te["__Zone_disable_"+e]){const N="Zone:"+e;r(N),L[e]=d(te,_,w),i(N,N)}}get parent(){return this._parent}get name(){return this._name}constructor(e,d){this._parent=e,this._name=d?d.name||"unnamed":"",this._properties=d&&d.properties||{},this._zoneDelegate=new f(this,this._parent&&this._parent._zoneDelegate,d)}get(e){const d=this.getZoneWith(e);if(d)return d._properties[e]}getZoneWith(e){let d=this;for(;d;){if(d._properties.hasOwnProperty(e))return d;d=d._parent}return null}fork(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)}wrap(e,d){if("function"!=typeof e)throw new Error("Expecting function got: "+e);const O=this._zoneDelegate.intercept(this,e,d),N=this;return function(){return N.runGuarded(O,this,arguments,d)}}run(e,d,O,N){b={parent:b,zone:this};try{return this._zoneDelegate.invoke(this,e,d,O,N)}finally{b=b.parent}}runGuarded(e,d=null,O,N){b={parent:b,zone:this};try{try{return this._zoneDelegate.invoke(this,e,d,O,N)}catch(D){if(this._zoneDelegate.handleError(this,D))throw D}}finally{b=b.parent}}runTask(e,d,O){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||J).name+"; Execution: "+this.name+")");const N=e,{type:D,data:{isPeriodic:_e=!1,isRefreshable:he=!1}={}}=e;if(e.state===X&&(D===W||D===p))return;const oe=e.state!=x;oe&&N._transitionTo(x,h);const ye=S;S=N,b={parent:b,zone:this};try{D==p&&e.data&&!_e&&!he&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,N,d,O)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{const l=e.state;if(l!==X&&l!==Y)if(D==W||_e||he&&l===k)oe&&N._transitionTo(h,x,k);else{const a=N._zoneDelegates;this._updateTaskCount(N,-1),oe&&N._transitionTo(X,x,X),he&&(N._zoneDelegates=a)}b=b.parent,S=ye}}scheduleTask(e){if(e.zone&&e.zone!==this){let O=this;for(;O;){if(O===e.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${e.zone.name}`);O=O.parent}}e._transitionTo(k,X);const d=[];e._zoneDelegates=d,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(O){throw e._transitionTo(Y,k,X),this._zoneDelegate.handleError(this,O),O}return e._zoneDelegates===d&&this._updateTaskCount(e,1),e.state==k&&e._transitionTo(h,k),e}scheduleMicroTask(e,d,O,N){return this.scheduleTask(new T(B,e,d,O,N,void 0))}scheduleMacroTask(e,d,O,N,D){return this.scheduleTask(new T(p,e,d,O,N,D))}scheduleEventTask(e,d,O,N,D){return this.scheduleTask(new T(W,e,d,O,N,D))}cancelTask(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||J).name+"; Execution: "+this.name+")");if(e.state===h||e.state===x){e._transitionTo(G,h,x);try{this._zoneDelegate.cancelTask(this,e)}catch(d){throw e._transitionTo(Y,G),this._zoneDelegate.handleError(this,d),d}return this._updateTaskCount(e,-1),e._transitionTo(X,G),e.runCount=-1,e}}_updateTaskCount(e,d){const O=e._zoneDelegates;-1==d&&(e._zoneDelegates=null);for(let N=0;Nthis.__symbol__=Q}return j(),_})();const s={name:"",onHasTask:(j,_,c,e)=>j.hasTask(c,e),onScheduleTask:(j,_,c,e)=>j.scheduleTask(c,e),onInvokeTask:(j,_,c,e,d,O)=>j.invokeTask(c,e,d,O),onCancelTask:(j,_,c,e)=>j.cancelTask(c,e)};class f{get zone(){return this._zone}constructor(_,c,e){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this._zone=_,this._parentDelegate=c,this._forkZS=e&&(e&&e.onFork?e:c._forkZS),this._forkDlgt=e&&(e.onFork?c:c._forkDlgt),this._forkCurrZone=e&&(e.onFork?this._zone:c._forkCurrZone),this._interceptZS=e&&(e.onIntercept?e:c._interceptZS),this._interceptDlgt=e&&(e.onIntercept?c:c._interceptDlgt),this._interceptCurrZone=e&&(e.onIntercept?this._zone:c._interceptCurrZone),this._invokeZS=e&&(e.onInvoke?e:c._invokeZS),this._invokeDlgt=e&&(e.onInvoke?c:c._invokeDlgt),this._invokeCurrZone=e&&(e.onInvoke?this._zone:c._invokeCurrZone),this._handleErrorZS=e&&(e.onHandleError?e:c._handleErrorZS),this._handleErrorDlgt=e&&(e.onHandleError?c:c._handleErrorDlgt),this._handleErrorCurrZone=e&&(e.onHandleError?this._zone:c._handleErrorCurrZone),this._scheduleTaskZS=e&&(e.onScheduleTask?e:c._scheduleTaskZS),this._scheduleTaskDlgt=e&&(e.onScheduleTask?c:c._scheduleTaskDlgt),this._scheduleTaskCurrZone=e&&(e.onScheduleTask?this._zone:c._scheduleTaskCurrZone),this._invokeTaskZS=e&&(e.onInvokeTask?e:c._invokeTaskZS),this._invokeTaskDlgt=e&&(e.onInvokeTask?c:c._invokeTaskDlgt),this._invokeTaskCurrZone=e&&(e.onInvokeTask?this._zone:c._invokeTaskCurrZone),this._cancelTaskZS=e&&(e.onCancelTask?e:c._cancelTaskZS),this._cancelTaskDlgt=e&&(e.onCancelTask?c:c._cancelTaskDlgt),this._cancelTaskCurrZone=e&&(e.onCancelTask?this._zone:c._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const d=e&&e.onHasTask;(d||c&&c._hasTaskZS)&&(this._hasTaskZS=d?e:s,this._hasTaskDlgt=c,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=this._zone,e.onScheduleTask||(this._scheduleTaskZS=s,this._scheduleTaskDlgt=c,this._scheduleTaskCurrZone=this._zone),e.onInvokeTask||(this._invokeTaskZS=s,this._invokeTaskDlgt=c,this._invokeTaskCurrZone=this._zone),e.onCancelTask||(this._cancelTaskZS=s,this._cancelTaskDlgt=c,this._cancelTaskCurrZone=this._zone))}fork(_,c){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,_,c):new n(_,c)}intercept(_,c,e){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,_,c,e):c}invoke(_,c,e,d,O){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,_,c,e,d,O):c.apply(e,d)}handleError(_,c){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,_,c)}scheduleTask(_,c){let e=c;if(this._scheduleTaskZS)this._hasTaskZS&&e._zoneDelegates.push(this._hasTaskDlgtOwner),e=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,_,c),e||(e=c);else if(c.scheduleFn)c.scheduleFn(c);else{if(c.type!=B)throw new Error("Task is missing scheduleFn.");z(c)}return e}invokeTask(_,c,e,d){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,_,c,e,d):c.callback.apply(e,d)}cancelTask(_,c){let e;if(this._cancelTaskZS)e=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,_,c);else{if(!c.cancelFn)throw Error("Task is not cancelable");e=c.cancelFn(c)}return e}hasTask(_,c){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,_,c)}catch(e){this.handleError(_,e)}}_updateTaskCount(_,c){const e=this._taskCounts,d=e[_],O=e[_]=d+c;if(O<0)throw new Error("More tasks executed then were scheduled.");0!=d&&0!=O||this.hasTask(this._zone,{microTask:e.microTask>0,macroTask:e.macroTask>0,eventTask:e.eventTask>0,change:_})}}class T{constructor(_,c,e,d,O,N){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=_,this.source=c,this.data=d,this.scheduleFn=O,this.cancelFn=N,!e)throw new Error("callback is not defined");this.callback=e;const D=this;this.invoke=_===W&&d&&d.useG?T.invokeTask:function(){return T.invokeTask.call(te,D,this,arguments)}}static invokeTask(_,c,e){_||(_=this),ee++;try{return _.runCount++,_.zone.runTask(_,c,e)}finally{1==ee&&K(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(X,k)}_transitionTo(_,c,e){if(this._state!==c&&this._state!==e)throw new Error(`${this.type} '${this.source}': can not transition to '${_}', expecting state '${c}'${e?" or '"+e+"'":""}, was '${this._state}'.`);this._state=_,_==X&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const g=Q("setTimeout"),m=Q("Promise"),C=Q("then");let A,E=[],P=!1;function V(j){if(A||te[m]&&(A=te[m].resolve(0)),A){let _=A[C];_||(_=A.then),_.call(A,j)}else te[g](j,0)}function z(j){0===ee&&0===E.length&&V(K),j&&E.push(j)}function K(){if(!P){for(P=!0;E.length;){const j=E;E=[];for(let _=0;_b,onUnhandledError:q,microtaskDrainDone:q,scheduleMicroTask:z,showUncaughtError:()=>!n[Q("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:q,patchMethod:()=>q,bindArguments:()=>[],patchThen:()=>q,patchMacroTask:()=>q,patchEventPrototype:()=>q,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>q,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>q,wrapWithCurrentZone:()=>q,filterProperties:()=>[],attachOriginToPatched:()=>q,_redefineProperty:()=>q,patchCallbacks:()=>q,nativeScheduleMicroTask:V};let b={parent:null,zone:new n(null,null)},S=null,ee=0;function q(){}return i("Zone","Zone"),n}(),t.Zone}();(function Zt(t){(function Nt(t){t.__load_patch("ZoneAwarePromise",(r,i,n)=>{const s=Object.getOwnPropertyDescriptor,f=Object.defineProperty,g=n.symbol,m=[],C=!1!==r[g("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],E=g("Promise"),P=g("then");n.onUnhandledError=l=>{if(n.showUncaughtError()){const a=l&&l.rejection;a?console.error("Unhandled Promise rejection:",a instanceof Error?a.message:a,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",a,a instanceof Error?a.stack:void 0):console.error(l)}},n.microtaskDrainDone=()=>{for(;m.length;){const l=m.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(a){z(a)}}};const V=g("unhandledPromiseRejectionHandler");function z(l){n.onUnhandledError(l);try{const a=i[V];"function"==typeof a&&a.call(this,l)}catch{}}function K(l){return l&&l.then}function J(l){return l}function X(l){return D.reject(l)}const k=g("state"),h=g("value"),x=g("finally"),G=g("parentPromiseValue"),Y=g("parentPromiseState"),p=null,W=!0,L=!1;function b(l,a){return o=>{try{j(l,a,o)}catch(u){j(l,!1,u)}}}const S=function(){let l=!1;return function(o){return function(){l||(l=!0,o.apply(null,arguments))}}},ee="Promise resolved with itself",q=g("currentTaskTrace");function j(l,a,o){const u=S();if(l===o)throw new TypeError(ee);if(l[k]===p){let v=null;try{("object"==typeof o||"function"==typeof o)&&(v=o&&o.then)}catch(R){return u(()=>{j(l,!1,R)})(),l}if(a!==L&&o instanceof D&&o.hasOwnProperty(k)&&o.hasOwnProperty(h)&&o[k]!==p)c(o),j(l,o[k],o[h]);else if(a!==L&&"function"==typeof v)try{v.call(o,u(b(l,a)),u(b(l,!1)))}catch(R){u(()=>{j(l,!1,R)})()}else{l[k]=a;const R=l[h];if(l[h]=o,l[x]===x&&a===W&&(l[k]=l[Y],l[h]=l[G]),a===L&&o instanceof Error){const y=i.currentTask&&i.currentTask.data&&i.currentTask.data.__creationTrace__;y&&f(o,q,{configurable:!0,enumerable:!1,writable:!0,value:y})}for(let y=0;y{try{const I=l[h],M=!!o&&x===o[x];M&&(o[G]=I,o[Y]=R);const Z=a.run(y,void 0,M&&y!==X&&y!==J?[]:[I]);j(o,!0,Z)}catch(I){j(o,!1,I)}},o)}const O=function(){},N=r.AggregateError;class D{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(a){return a instanceof D?a:j(new this(null),W,a)}static reject(a){return j(new this(null),L,a)}static withResolvers(){const a={};return a.promise=new D((o,u)=>{a.resolve=o,a.reject=u}),a}static any(a){if(!a||"function"!=typeof a[Symbol.iterator])return Promise.reject(new N([],"All promises were rejected"));const o=[];let u=0;try{for(let y of a)u++,o.push(D.resolve(y))}catch{return Promise.reject(new N([],"All promises were rejected"))}if(0===u)return Promise.reject(new N([],"All promises were rejected"));let v=!1;const R=[];return new D((y,I)=>{for(let M=0;M{v||(v=!0,y(Z))},Z=>{R.push(Z),u--,0===u&&(v=!0,I(new N(R,"All promises were rejected")))})})}static race(a){let o,u,v=new this((I,M)=>{o=I,u=M});function R(I){o(I)}function y(I){u(I)}for(let I of a)K(I)||(I=this.resolve(I)),I.then(R,y);return v}static all(a){return D.allWithCallback(a)}static allSettled(a){return(this&&this.prototype instanceof D?this:D).allWithCallback(a,{thenCallback:u=>({status:"fulfilled",value:u}),errorCallback:u=>({status:"rejected",reason:u})})}static allWithCallback(a,o){let u,v,R=new this((Z,F)=>{u=Z,v=F}),y=2,I=0;const M=[];for(let Z of a){K(Z)||(Z=this.resolve(Z));const F=I;try{Z.then(U=>{M[F]=o?o.thenCallback(U):U,y--,0===y&&u(M)},U=>{o?(M[F]=o.errorCallback(U),y--,0===y&&u(M)):v(U)})}catch(U){v(U)}y++,I++}return y-=2,0===y&&u(M),R}constructor(a){const o=this;if(!(o instanceof D))throw new Error("Must be an instanceof Promise.");o[k]=p,o[h]=[];try{const u=S();a&&a(u(b(o,W)),u(b(o,L)))}catch(u){j(o,!1,u)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return D}then(a,o){let u=this.constructor?.[Symbol.species];(!u||"function"!=typeof u)&&(u=this.constructor||D);const v=new u(O),R=i.current;return this[k]==p?this[h].push(R,v,a,o):e(this,R,v,a,o),v}catch(a){return this.then(null,a)}finally(a){let o=this.constructor?.[Symbol.species];(!o||"function"!=typeof o)&&(o=D);const u=new o(O);u[x]=x;const v=i.current;return this[k]==p?this[h].push(v,u,a,a):e(this,v,u,a,a),u}}D.resolve=D.resolve,D.reject=D.reject,D.race=D.race,D.all=D.all;const _e=r[E]=r.Promise;r.Promise=D;const he=g("thenPatched");function oe(l){const a=l.prototype,o=s(a,"then");if(o&&(!1===o.writable||!o.configurable))return;const u=a.then;a[P]=u,l.prototype.then=function(v,R){return new D((I,M)=>{u.call(this,I,M)}).then(v,R)},l[he]=!0}return n.patchThen=oe,_e&&(oe(_e),ue(r,"fetch",l=>function ye(l){return function(a,o){let u=l.apply(a,o);if(u instanceof D)return u;let v=u.constructor;return v[he]||oe(v),u}}(l))),Promise[i.__symbol__("uncaughtPromiseErrors")]=m,D})})(t),function Lt(t){t.__load_patch("toString",r=>{const i=Function.prototype.toString,n=H("OriginalDelegate"),s=H("Promise"),f=H("Error"),T=function(){if("function"==typeof this){const E=this[n];if(E)return"function"==typeof E?i.call(E):Object.prototype.toString.call(E);if(this===Promise){const P=r[s];if(P)return i.call(P)}if(this===Error){const P=r[f];if(P)return i.call(P)}}return i.call(this)};T[n]=i,Function.prototype.toString=T;const g=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":g.call(this)}})}(t),function Mt(t){t.__load_patch("util",(r,i,n)=>{const s=Fe(r);n.patchOnProperties=Ke,n.patchMethod=ue,n.bindArguments=Ve,n.patchMacroTask=yt;const f=i.__symbol__("BLACK_LISTED_EVENTS"),T=i.__symbol__("UNPATCHED_EVENTS");r[T]&&(r[f]=r[T]),r[f]&&(i[f]=i[T]=r[f]),n.patchEventPrototype=Pt,n.patchEventTarget=bt,n.isIEOrEdge=kt,n.ObjectDefineProperty=Le,n.ObjectGetOwnPropertyDescriptor=Ee,n.ObjectCreate=_t,n.ArraySlice=Et,n.patchClass=we,n.wrapWithCurrentZone=He,n.filterProperties=it,n.attachOriginToPatched=fe,n._redefineProperty=Object.defineProperty,n.patchCallbacks=It,n.getGlobalObjects=()=>({globalSources:tt,zoneSymbolEventNames:ne,eventNames:s,isBrowser:Ge,isMix:Xe,isNode:De,TRUE_STR:ae,FALSE_STR:le,ZONE_SYMBOL_PREFIX:Pe,ADD_EVENT_LISTENER_STR:Me,REMOVE_EVENT_LISTENER_STR:Ze})})}(t)})(at),function Ot(t){t.__load_patch("legacy",r=>{const i=r[t.__symbol__("legacyPatch")];i&&i()}),t.__load_patch("timers",r=>{const n="clear";pe(r,"set",n,"Timeout"),pe(r,"set",n,"Interval"),pe(r,"set",n,"Immediate")}),t.__load_patch("requestAnimationFrame",r=>{pe(r,"request","cancel","AnimationFrame"),pe(r,"mozRequest","mozCancel","AnimationFrame"),pe(r,"webkitRequest","webkitCancel","AnimationFrame")}),t.__load_patch("blocking",(r,i)=>{const n=["alert","prompt","confirm"];for(let s=0;sfunction(C,E){return i.current.run(T,r,E,m)})}),t.__load_patch("EventTarget",(r,i,n)=>{(function Dt(t,r){r.patchEventPrototype(t,r)})(r,n),function Ct(t,r){if(Zone[r.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:n,TRUE_STR:s,FALSE_STR:f,ZONE_SYMBOL_PREFIX:T}=r.getGlobalObjects();for(let m=0;m{we("MutationObserver"),we("WebKitMutationObserver")}),t.__load_patch("IntersectionObserver",(r,i,n)=>{we("IntersectionObserver")}),t.__load_patch("FileReader",(r,i,n)=>{we("FileReader")}),t.__load_patch("on_property",(r,i,n)=>{!function St(t,r){if(De&&!Xe||Zone[t.symbol("patchEvents")])return;const i=r.__Zone_ignore_on_properties;let n=[];if(Ge){const s=window;n=n.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const f=function mt(){try{const t=Te.navigator.userAgent;if(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:s,ignoreProperties:["error"]}]:[];ct(s,Fe(s),i&&i.concat(f),Ie(s))}n=n.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let s=0;s{!function Rt(t,r){const{isBrowser:i,isMix:n}=r.getGlobalObjects();(i||n)&&t.customElements&&"customElements"in t&&r.patchCallbacks(r,t.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback","formAssociatedCallback","formDisabledCallback","formResetCallback","formStateRestoreCallback"])}(r,n)}),t.__load_patch("XHR",(r,i)=>{!function C(E){const P=E.XMLHttpRequest;if(!P)return;const A=P.prototype;let z=A[Ae],K=A[je];if(!z){const w=E.XMLHttpRequestEventTarget;if(w){const b=w.prototype;z=b[Ae],K=b[je]}}const J="readystatechange",X="scheduled";function k(w){const b=w.data,S=b.target;S[T]=!1,S[m]=!1;const ee=S[f];z||(z=S[Ae],K=S[je]),ee&&K.call(S,J,ee);const q=S[f]=()=>{if(S.readyState===S.DONE)if(!b.aborted&&S[T]&&w.state===X){const _=S[i.__symbol__("loadfalse")];if(0!==S.status&&_&&_.length>0){const c=w.invoke;w.invoke=function(){const e=S[i.__symbol__("loadfalse")];for(let d=0;dfunction(w,b){return w[s]=0==b[2],w[g]=b[1],G.apply(w,b)}),B=H("fetchTaskAborting"),p=H("fetchTaskScheduling"),W=ue(A,"send",()=>function(w,b){if(!0===i.current[p]||w[s])return W.apply(w,b);{const S={target:w,url:w[g],isPeriodic:!1,args:b,aborted:!1},ee=xe("XMLHttpRequest.send",h,S,k,x);w&&!0===w[m]&&!S.aborted&&ee.state===X&&ee.invoke()}}),L=ue(A,"abort",()=>function(w,b){const S=function V(w){return w[n]}(w);if(S&&"string"==typeof S.type){if(null==S.cancelFn||S.data&&S.data.aborted)return;S.zone.cancelTask(S)}else if(!0===i.current[B])return L.apply(w,b)})}(r);const n=H("xhrTask"),s=H("xhrSync"),f=H("xhrListener"),T=H("xhrScheduled"),g=H("xhrURL"),m=H("xhrErrorBeforeScheduled")}),t.__load_patch("geolocation",r=>{r.navigator&&r.navigator.geolocation&&function gt(t,r){const i=t.constructor.name;for(let n=0;n{const m=function(){return g.apply(this,Ve(arguments,i+"."+s))};return fe(m,g),m})(f)}}}(r.navigator.geolocation,["getCurrentPosition","watchPosition"])}),t.__load_patch("PromiseRejectionEvent",(r,i)=>{function n(s){return function(f){st(r,s).forEach(g=>{const m=r.PromiseRejectionEvent;if(m){const C=new m(s,{promise:f.promise,reason:f.rejection});g.invoke(C)}})}}r.PromiseRejectionEvent&&(i[H("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),i[H("rejectionHandledHandler")]=n("rejectionhandled"))}),t.__load_patch("queueMicrotask",(r,i,n)=>{!function wt(t,r){r.patchMethod(t,"queueMicrotask",i=>function(n,s){Zone.current.scheduleMicroTask("queueMicrotask",s[0])})}(r,n)})}(at)}},te=>{te(te.s=50)}]); -"use strict";(self.webpackChunkcoverage_app=self.webpackChunkcoverage_app||[]).push([[792],{332:()=>{function ua(e,n){return Object.is(e,n)}let Le=null,xo=!1,ru=1;const Ke=Symbol("SIGNAL");function te(e){const n=Le;return Le=e,n}const Er={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:"unknown",producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function Oo(e){if(xo)throw new Error("");if(null===Le)return;Le.consumerOnSignalRead(e);const n=Le.nextProducerIndex++;ha(Le),ne.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function Ro(e){ha(e);for(let n=0;n0}function ha(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}function ip(e){e.liveConsumerNode??=[],e.liveConsumerIndexOfThis??=[]}function op(e){return void 0!==e.producerNode}const Mr=Symbol("UNSET"),pi=Symbol("COMPUTING"),Gn=Symbol("ERRORED"),vM={...Er,value:Mr,dirty:!0,error:null,equal:ua,kind:"computed",producerMustRecompute:e=>e.value===Mr||e.value===pi,producerRecomputeValue(e){if(e.value===pi)throw new Error("Detected cycle in computations.");const n=e.value;e.value=pi;const t=Ir(e);let r,i=!1;try{r=e.computation(),te(null),i=n!==Mr&&n!==Gn&&r!==Gn&&e.equal(n,r)}catch(o){r=Gn,e.error=o}finally{gi(e,t)}i?e.value=n:(e.value=r,e.version++)}};let sp=function _M(){throw new Error};function ap(){sp()}function ou(e,n){tp()||ap(),e.equal(e.value,n)||(e.value=n,function wM(e){e.version++,function pM(){ru++}(),ep(e)}(e))}const cp={...Er,equal:ua,value:void 0,kind:"signal"};function Be(e){return"function"==typeof e}function dp(e){const t=e(r=>{Error.call(r),r.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const au=dp(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((r,i)=>`${i+1}) ${r.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function pa(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class Rt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const o of t)o.remove(this);else t.remove(this);const{initialTeardown:r}=this;if(Be(r))try{r()}catch(o){n=o instanceof au?o.errors:[o]}const{_finalizers:i}=this;if(i){this._finalizers=null;for(const o of i)try{gp(o)}catch(s){n=n??[],s instanceof au?n=[...n,...s.errors]:n.push(s)}}if(n)throw new au(n)}}add(n){var t;if(n&&n!==this)if(this.closed)gp(n);else{if(n instanceof Rt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&pa(t,n)}remove(n){const{_finalizers:t}=this;t&&pa(t,n),n instanceof Rt&&n._removeParent(this)}}Rt.EMPTY=(()=>{const e=new Rt;return e.closed=!0,e})();const fp=Rt.EMPTY;function hp(e){return e instanceof Rt||e&&"closed"in e&&Be(e.remove)&&Be(e.add)&&Be(e.unsubscribe)}function gp(e){Be(e)?e():e.unsubscribe()}const Tr={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},ma={setTimeout(e,n,...t){const{delegate:r}=ma;return r?.setTimeout?r.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=ma;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function pp(e){ma.setTimeout(()=>{const{onUnhandledError:n}=Tr;if(!n)throw e;n(e)})}function mp(){}const TM=lu("C",void 0,void 0);function lu(e,n,t){return{kind:e,value:n,error:t}}let Sr=null;function va(e){if(Tr.useDeprecatedSynchronousErrorHandling){const n=!Sr;if(n&&(Sr={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:r}=Sr;if(Sr=null,t)throw r}}else e()}class cu extends Rt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,hp(n)&&n.add(this)):this.destination=kM}static create(n,t,r){return new du(n,t,r)}next(n){this.isStopped?fu(function NM(e){return lu("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?fu(function SM(e){return lu("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?fu(TM,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const OM=Function.prototype.bind;function uu(e,n){return OM.call(e,n)}class AM{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(r){_a(r)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(r){_a(r)}else _a(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){_a(t)}}}class du extends cu{constructor(n,t,r){let i;if(super(),Be(n)||!n)i={next:n??void 0,error:t??void 0,complete:r??void 0};else{let o;this&&Tr.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),i={next:n.next&&uu(n.next,o),error:n.error&&uu(n.error,o),complete:n.complete&&uu(n.complete,o)}):i=n}this.destination=new AM(i)}}function _a(e){Tr.useDeprecatedSynchronousErrorHandling?function xM(e){Tr.useDeprecatedSynchronousErrorHandling&&Sr&&(Sr.errorThrown=!0,Sr.error=e)}(e):pp(e)}function fu(e,n){const{onStoppedNotification:t}=Tr;t&&ma.setTimeout(()=>t(e,n))}const kM={closed:!0,next:mp,error:function RM(e){throw e},complete:mp},hu="function"==typeof Symbol&&Symbol.observable||"@@observable";function gu(e){return e}let kt=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const r=new e;return r.source=this,r.operator=t,r}subscribe(t,r,i){const o=function LM(e){return e&&e instanceof cu||function FM(e){return e&&Be(e.next)&&Be(e.error)&&Be(e.complete)}(e)&&hp(e)}(t)?t:new du(t,r,i);return va(()=>{const{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return new(r=_p(r))((i,o)=>{const s=new du({next:a=>{try{t(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:i});this.subscribe(s)})}_subscribe(t){var r;return null===(r=this.source)||void 0===r?void 0:r.subscribe(t)}[hu](){return this}pipe(...t){return function vp(e){return 0===e.length?gu:1===e.length?e[0]:function(t){return e.reduce((r,i)=>i(r),t)}}(t)(this)}toPromise(t){return new(t=_p(t))((r,i)=>{let o;this.subscribe(s=>o=s,s=>i(s),()=>r(o))})}}return e.create=n=>new e(n),e})();function _p(e){var n;return null!==(n=e??Tr.Promise)&&void 0!==n?n:Promise}const PM=dp(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let fn=(()=>{class e extends kt{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const r=new yp(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new PM}next(t){va(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const r of this.currentObservers)r.next(t)}})}error(t){va(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:r}=this;for(;r.length;)r.shift().error(t)}})}complete(){va(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:r,isStopped:i,observers:o}=this;return r||i?fp:(this.currentObservers=null,o.push(t),new Rt(()=>{this.currentObservers=null,pa(o,t)}))}_checkFinalizedStatuses(t){const{hasError:r,thrownError:i,isStopped:o}=this;r?t.error(i):o&&t.complete()}asObservable(){const t=new kt;return t.source=this,t}}return e.create=(n,t)=>new yp(n,t),e})();class yp extends fn{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===r||r.call(t,n)}error(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===r||r.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,r;return null!==(r=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==r?r:fp}}class VM extends fn{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:r}=this;if(n)throw t;return this._throwIfClosed(),r}next(n){super.next(this._value=n)}}function Nr(e){return n=>{if(function HM(e){return Be(e?.lift)}(n))return n.lift(function(t){try{return e(t,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function qn(e,n,t,r,i){return new BM(e,n,t,r,i)}class BM extends cu{constructor(n,t,r,i,o,s){super(n),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){n.error(l)}}:super._next,this._error=i?function(a){try{i(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function pu(e,n){return Nr((t,r)=>{let i=0;t.subscribe(qn(r,o=>{r.next(e.call(n,o,i++))}))})}const Cp="https://g.co/ng/security#xss";class N extends Error{code;constructor(n,t){super(function xr(e,n){return`NG0${Math.abs(e)}${n?": "+n:""}`}(n,t)),this.code=n}}function Sn(e){return{toString:e}.toString()}const vi="__parameters__";function yi(e,n,t){return Sn(()=>{const r=function mu(e){return function(...t){if(e){const r=e(...t);for(const i in r)this[i]=r[i]}}}(n);function i(...o){if(this instanceof i)return r.apply(this,o),this;const s=new i(...o);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(vi)?l[vi]:Object.defineProperty(l,vi,{value:[]})[vi];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return t&&(i.prototype=Object.create(t.prototype)),i.prototype.ngMetadataName=e,i.annotationCls=i,i})}const Ie=globalThis;function fe(e){for(let n in e)if(e[n]===fe)return n;throw Error("Could not find renamed property on target object.")}function jM(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function $e(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map($e).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const n=e.toString();if(null==n)return""+n;const t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function vu(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const UM=fe({__forward_ref__:fe});function ve(e){return e.__forward_ref__=ve,e.toString=function(){return $e(this())},e}function W(e){return Ca(e)?e():e}function Ca(e){return"function"==typeof e&&e.hasOwnProperty(UM)&&e.__forward_ref__===ve}function re(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Nn(e){return{providers:e.providers||[],imports:e.imports||[]}}function wa(e){return Ep(e,ba)||Ep(e,Ip)}function Ep(e,n){return e.hasOwnProperty(n)?e[n]:null}function Da(e){return e&&(e.hasOwnProperty(_u)||e.hasOwnProperty(WM))?e[_u]:null}const ba=fe({\u0275prov:fe}),_u=fe({\u0275inj:fe}),Ip=fe({ngInjectableDef:fe}),WM=fe({ngInjectorDef:fe});class R{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(n,t){this._desc=n,this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=re({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function wu(e){return e&&!!e.\u0275providers}const Ci=fe({\u0275cmp:fe}),Du=fe({\u0275dir:fe}),bu=fe({\u0275pipe:fe}),Tp=fe({\u0275mod:fe}),xn=fe({\u0275fac:fe}),Lo=fe({__NG_ELEMENT_ID__:fe}),Sp=fe({__NG_ENV_ID__:fe});function K(e){return"string"==typeof e?e:null==e?"":String(e)}function Eu(e,n){throw new N(-201,!1)}var oe=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(oe||{});let Iu;function Np(){return Iu}function Et(e){const n=Iu;return Iu=e,n}function xp(e,n,t){const r=wa(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:t&oe.Optional?null:void 0!==n?n:void Eu()}const Po={},Mu="__NG_DI_FLAG__",Ma="ngTempTokenPath",XM=/\n/gm,Op="__source";let wi;function Zn(e){const n=wi;return wi=e,n}function n0(e,n=oe.Default){if(void 0===wi)throw new N(-203,!1);return null===wi?xp(e,void 0,n):wi.get(e,n&oe.Optional?null:void 0,n)}function se(e,n=oe.Default){return(Np()||n0)(W(e),n)}function A(e,n=oe.Default){return se(e,Ta(n))}function Ta(e){return typeof e>"u"||"number"==typeof e?e:(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Tu(e){const n=[];for(let t=0;tArray.isArray(t)?Di(t,n):n(t))}function Rp(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function Sa(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function Lt(e,n,t){let r=bi(e,n);return r>=0?e[1|r]=t:(r=~r,function kp(e,n,t,r){let i=e.length;if(i==n)e.push(t,r);else if(1===i)e.push(r,e[0]),e[0]=t;else{for(i--,e.push(e[i-1],e[i]);i>n;)e[i]=e[i-2],i--;e[n]=t,e[n+1]=r}}(e,r,n,t)),r}function Ou(e,n){const t=bi(e,n);if(t>=0)return e[1|t]}function bi(e,n){return function Fp(e,n,t){let r=0,i=e.length>>t;for(;i!==r;){const o=r+(i-r>>1),s=e[o<n?i=o:r=o+1}return~(i<{t.push(s)};return Di(n,s=>{const a=s;Oa(a,o,[],r)&&(i||=[],i.push(a))}),void 0!==i&&Pp(i,o),t}function Pp(e,n){for(let t=0;t{n(o,r)})}}function Oa(e,n,t,r){if(!(e=W(e)))return!1;let i=null,o=Da(e);const s=!o&&ne(e);if(o||s){if(s&&!s.standalone)return!1;i=e}else{const l=e.ngModule;if(o=Da(l),!o)return!1;i=l}const a=r.has(i);if(s){if(a)return!1;if(r.add(i),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)Oa(c,n,t,r)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let c;r.add(i);try{Di(o.imports,u=>{Oa(u,n,t,r)&&(c||=[],c.push(u))})}finally{}void 0!==c&&Pp(c,n)}if(!a){const c=Or(i)||(()=>new i);n({provide:i,useFactory:c,deps:le},i),n({provide:Au,useValue:i,multi:!0},i),n({provide:en,useValue:()=>se(i),multi:!0},i)}const l=o.providers;if(null!=l&&!a){const c=e;ku(l,u=>{n(u,c)})}}}return i!==e&&void 0!==e.providers}function ku(e,n){for(let t of e)wu(t)&&(t=t.\u0275providers),Array.isArray(t)?ku(t,n):n(t)}const f0=fe({provide:String,useValue:fe});function Fu(e){return null!==e&&"object"==typeof e&&f0 in e}function kr(e){return"function"==typeof e}const Lu=new R(""),Aa={},g0={};let Pu;function Ra(){return void 0===Pu&&(Pu=new xa),Pu}class tn{}class Fr extends tn{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(n,t,r,i){super(),this.parent=t,this.source=r,this.scopes=i,Hu(n,s=>this.processProvider(s)),this.records.set(Lp,Ei(void 0,this)),i.has("environment")&&this.records.set(tn,Ei(void 0,this));const o=this.records.get(Lu);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(Au,le,oe.Self))}destroy(){Ho(this),this._destroyed=!0;const n=te(null);try{for(const r of this._ngOnDestroyHooks)r.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const r of t)r()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),te(n)}}onDestroy(n){return Ho(this),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){Ho(this);const t=Zn(this),r=Et(void 0);try{return n()}finally{Zn(t),Et(r)}}get(n,t=Po,r=oe.Default){if(Ho(this),n.hasOwnProperty(Sp))return n[Sp](this);r=Ta(r);const o=Zn(this),s=Et(void 0);try{if(!(r&oe.SkipSelf)){let l=this.records.get(n);if(void 0===l){const c=function y0(e){return"function"==typeof e||"object"==typeof e&&e instanceof R}(n)&&wa(n);l=c&&this.injectableDefInScope(c)?Ei(Vu(n),Aa):null,this.records.set(n,l)}if(null!=l)return this.hydrate(n,l)}return(r&oe.Self?Ra():this.parent).get(n,t=r&oe.Optional&&t===Po?null:t)}catch(a){if("NullInjectorError"===a.name){if((a[Ma]=a[Ma]||[]).unshift($e(n)),o)throw a;return function o0(e,n,t,r){const i=e[Ma];throw n[Op]&&i.unshift(n[Op]),e.message=function s0(e,n,t,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let i=$e(n);if(Array.isArray(n))i=n.map($e).join(" -> ");else if("object"==typeof n){let o=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):$e(a)))}i=`{${o.join(", ")}}`}return`${t}${r?"("+r+")":""}[${i}]: ${e.replace(XM,"\n ")}`}("\n"+e.message,i,t,r),e.ngTokenPath=i,e[Ma]=null,e}(a,n,"R3InjectorError",this.source)}throw a}finally{Et(s),Zn(o)}}resolveInjectorInitializers(){const n=te(null),t=Zn(this),r=Et(void 0);try{const o=this.get(en,le,oe.Self);for(const s of o)s()}finally{Zn(t),Et(r),te(n)}}toString(){const n=[],t=this.records;for(const r of t.keys())n.push($e(r));return`R3Injector[${n.join(", ")}]`}processProvider(n){let t=kr(n=W(n))?n:W(n&&n.provide);const r=function m0(e){return Fu(e)?Ei(void 0,e.useValue):Ei(Bp(e),Aa)}(n);if(!kr(n)&&!0===n.multi){let i=this.records.get(t);i||(i=Ei(void 0,Aa,!0),i.factory=()=>Tu(i.multi),this.records.set(t,i)),t=n,i.multi.push(n)}this.records.set(t,r)}hydrate(n,t){const r=te(null);try{return t.value===Aa&&(t.value=g0,t.value=t.factory()),"object"==typeof t.value&&t.value&&function _0(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{te(r)}}injectableDefInScope(n){if(!n.providedIn)return!1;const t=W(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function Vu(e){const n=wa(e),t=null!==n?n.factory:Or(e);if(null!==t)return t;if(e instanceof R)throw new N(204,!1);if(e instanceof Function)return function p0(e){if(e.length>0)throw new N(204,!1);const t=function qM(e){return e&&(e[ba]||e[Ip])||null}(e);return null!==t?()=>t.factory(e):()=>new e}(e);throw new N(204,!1)}function Bp(e,n,t){let r;if(kr(e)){const i=W(e);return Or(i)||Vu(i)}if(Fu(e))r=()=>W(e.useValue);else if(function Hp(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...Tu(e.deps||[]));else if(function Vp(e){return!(!e||!e.useExisting)}(e))r=()=>se(W(e.useExisting));else{const i=W(e&&(e.useClass||e.provide));if(!function v0(e){return!!e.deps}(e))return Or(i)||Vu(i);r=()=>new i(...Tu(e.deps))}return r}function Ho(e){if(e.destroyed)throw new N(205,!1)}function Ei(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function Hu(e,n){for(const t of e)Array.isArray(t)?Hu(t,n):t&&wu(t)?Hu(t.\u0275providers,n):n(t)}function jp(e,n){e instanceof Fr&&Ho(e);const r=Zn(e),i=Et(void 0);try{return n()}finally{Zn(r),Et(i)}}const G=11,k=25;function Ne(e){return Array.isArray(e)&&"object"==typeof e[1]}function qe(e){return Array.isArray(e)&&!0===e[1]}function Uu(e){return!!(4&e.flags)}function $t(e){return e.componentOffset>-1}function Va(e){return!(1&~e.flags)}function zt(e){return!!e.template}function Rn(e){return!!(512&e[2])}function Yn(e){return!(256&~e[2])}class O0{previousValue;currentValue;firstChange;constructor(n,t,r){this.previousValue=n,this.currentValue=t,this.firstChange=r}isFirstChange(){return this.firstChange}}function Yp(e,n,t,r){null!==n?n.applyValueToInputSignal(n,r):e[t]=r}const kn=(()=>{const e=()=>Kp;return e.ngInherit=!0,e})();function Kp(e){return e.type.prototype.ngOnChanges&&(e.setInput=R0),A0}function A0(){const e=Xp(this),n=e?.current;if(n){const t=e.previous;if(t===hn)e.previous=n;else for(let r in n)t[r]=n[r];e.current=null,this.ngOnChanges(n)}}function R0(e,n,t,r,i){const o=this.declaredInputs[r],s=Xp(e)||function k0(e,n){return e[Jp]=n}(e,{previous:hn,current:null}),a=s.current||(s.current={}),l=s.previous,c=l[o];a[o]=new O0(c&&c.currentValue,t,l===hn),Yp(e,n,i,t)}const Jp="__ngSimpleChanges__";function Xp(e){return e[Jp]||null}function ae(e){for(;Array.isArray(e);)e=e[0];return e}function Ai(e,n){return ae(n[e])}function ft(e,n){return ae(n[e.index])}function Hr(e,n){return e.data[n]}function ht(e,n){const t=n[e];return Ne(t)?t:t[0]}function Gu(e){return!(128&~e[2])}function qt(e,n){return null==n?null:e[n]}function nm(e){e[17]=0}function qu(e){1024&e[2]||(e[2]|=1024,Gu(e)&&jo(e))}function Ba(e){return!!(9216&e[2]||e[24]?.dirty)}function Wu(e){e[10].changeDetectionScheduler?.notify(9),64&e[2]&&(e[2]|=1024),Ba(e)&&jo(e)}function jo(e){e[10].changeDetectionScheduler?.notify(0);let n=Fn(e);for(;null!==n&&!(8192&n[2])&&(n[2]|=8192,Gu(n));)n=Fn(n)}function ja(e,n){if(Yn(e))throw new N(911,!1);null===e[21]&&(e[21]=[]),e[21].push(n)}function Fn(e){const n=e[3];return qe(n)?n[3]:n}function im(e){return e[7]??=[]}function om(e){return e.cleanup??=[]}const Q={lFrame:pm(null),bindingsEnabled:!0,skipHydrationRootTNode:null};let Yu=!1;function sm(){return Q.bindingsEnabled}function D(){return Q.lFrame.lView}function Z(){return Q.lFrame.tView}function B(e){return Q.lFrame.contextLView=e,e[8]}function j(e){return Q.lFrame.contextLView=null,e}function ie(){let e=am();for(;null!==e&&64===e.type;)e=e.parent;return e}function am(){return Q.lFrame.currentTNode}function nn(e,n){const t=Q.lFrame;t.currentTNode=e,t.isParent=n}function Ku(){return Q.lFrame.isParent}function Ju(){Q.lFrame.isParent=!1}function um(){return Yu}function $a(e){const n=Yu;return Yu=e,n}function gt(){const e=Q.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function Wt(){return Q.lFrame.bindingIndex++}function Pn(e){const n=Q.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function Q0(e,n){const t=Q.lFrame;t.bindingIndex=t.bindingRootIndex=e,Xu(n)}function Xu(e){Q.lFrame.currentDirectiveIndex=e}function td(){return Q.lFrame.currentQueryIndex}function za(e){Q.lFrame.currentQueryIndex=e}function K0(e){const n=e[1];return 2===n.type?n.declTNode:1===n.type?e[5]:null}function hm(e,n,t){if(t&oe.SkipSelf){let i=n,o=e;for(;!(i=i.parent,null!==i||t&oe.Host||(i=K0(o),null===i||(o=o[14],10&i.type))););if(null===i)return!1;n=i,e=o}const r=Q.lFrame=gm();return r.currentTNode=n,r.lView=e,!0}function nd(e){const n=gm(),t=e[1];Q.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function gm(){const e=Q.lFrame,n=null===e?null:e.child;return null===n?pm(e):n}function pm(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function mm(){const e=Q.lFrame;return Q.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const vm=mm;function rd(){const e=mm();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function rt(){return Q.lFrame.selectedIndex}function Ur(e){Q.lFrame.selectedIndex=e}function me(){const e=Q.lFrame;return Hr(e.tView,e.selectedIndex)}let Cm=!0;function $o(){return Cm}function mn(e){Cm=e}function Ga(e,n){for(let t=n.directiveStart,r=n.directiveEnd;t=r)break}else n[l]<0&&(e[17]+=65536),(a>14>16&&(3&e[2])===n&&(e[2]+=16384,Dm(a,o)):Dm(a,o)}class zo{factory;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(n,t,r){this.factory=n,this.canSeeViewProviders=t,this.injectImpl=r}}function bm(e){return 3===e||4===e||6===e}function Em(e){return 64===e.charCodeAt(0)}function ki(e,n){if(null!==n&&0!==n.length)if(null===e||0===e.length)e=n.slice();else{let t=-1;for(let r=0;rn){s=o-1;break}}}for(;o>16}(e),r=n;for(;t>0;)r=r[14],t--;return r}let cd=!0;function Za(e){const n=cd;return cd=e,n}let dT=0;const vn={};function Qa(e,n){const t=Sm(e,n);if(-1!==t)return t;const r=n[1];r.firstCreatePass&&(e.injectorIndex=n.length,ud(r.data,e),ud(n,null),ud(r.blueprint,null));const i=Ya(e,n),o=e.injectorIndex;if(ld(i)){const s=Go(i),a=qo(i,n),l=a[1].data;for(let c=0;c<8;c++)n[o+c]=a[s+c]|l[s+c]}return n[o+8]=i,o}function ud(e,n){e.push(0,0,0,0,0,0,0,0,n)}function Sm(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function Ya(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,r=null,i=n;for(;null!==i;){if(r=Fm(i),null===r)return-1;if(t++,i=i[14],-1!==r.injectorIndex)return r.injectorIndex|t<<16}return-1}function dd(e,n,t){!function fT(e,n,t){let r;"string"==typeof t?r=t.charCodeAt(0)||0:t.hasOwnProperty(Lo)&&(r=t[Lo]),null==r&&(r=t[Lo]=dT++);const i=255&r;n.data[e+(i>>5)]|=1<=0?255&n:mT:n}(t);if("function"==typeof o){if(!hm(n,e,r))return r&oe.Host?Nm(i,0,r):xm(n,t,r,i);try{let s;if(s=o(r),null!=s||r&oe.Optional)return s;Eu()}finally{vm()}}else if("number"==typeof o){let s=null,a=Sm(e,n),l=-1,c=r&oe.Host?n[15][5]:null;for((-1===a||r&oe.SkipSelf)&&(l=-1===a?Ya(e,n):n[a+8],-1!==l&&km(r,!1)?(s=n[1],a=Go(l),n=qo(l,n)):a=-1);-1!==a;){const u=n[1];if(Rm(o,a,u.data)){const d=gT(a,n,t,s,r,c);if(d!==vn)return d}l=n[a+8],-1!==l&&km(r,n[1].data[a+8]===c)&&Rm(o,a,n)?(s=u,a=Go(l),n=qo(l,n)):a=-1}}return i}function gT(e,n,t,r,i,o){const s=n[1],a=s.data[e+8],u=Ka(a,s,t,null==r?$t(a)&&cd:r!=s&&!!(3&a.type),i&oe.Host&&o===a);return null!==u?Wo(n,s,u,a):vn}function Ka(e,n,t,r,i){const o=e.providerIndexes,s=n.data,a=1048575&o,l=e.directiveStart,u=o>>20,g=i?a+u:e.directiveEnd;for(let h=r?a:a+u;h=l&&m.type===t)return h}if(i){const h=s[l];if(h&&zt(h)&&h.type===t)return l}return null}function Wo(e,n,t,r){let i=e[t];const o=n.data;if(function iT(e){return e instanceof zo}(i)){const s=i;s.resolving&&function YM(e,n){throw n&&n.join(" > "),new N(-200,e)}(function ce(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():K(e)}(o[t]));const a=Za(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?Et(s.injectImpl):null;hm(e,r,oe.Default);try{i=e[t]=s.factory(void 0,o,e,r),n.firstCreatePass&&t>=r.directiveStart&&function nT(e,n,t){const{ngOnChanges:r,ngOnInit:i,ngDoCheck:o}=n.type.prototype;if(r){const s=Kp(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}i&&(t.preOrderHooks??=[]).push(0-e,i),o&&((t.preOrderHooks??=[]).push(e,o),(t.preOrderCheckHooks??=[]).push(e,o))}(t,o[t],n)}finally{null!==c&&Et(c),Za(a),s.resolving=!1,vm()}}return i}function Rm(e,n,t){return!!(t[n+(e>>5)]&1<{const n=e.prototype.constructor,t=n[xn]||fd(n),r=Object.prototype;let i=Object.getPrototypeOf(e.prototype).constructor;for(;i&&i!==r;){const o=i[xn]||fd(i);if(o&&o!==t)return o;i=Object.getPrototypeOf(i)}return o=>new o})}function fd(e){return Ca(e)?()=>{const n=fd(W(e));return n&&n()}:Or(e)}function Fm(e){const n=e[1],t=n.type;return 2===t?n.declTNode:1===t?e[5]:null}function Bm(e,n=null,t=null,r){const i=jm(e,n,t,r);return i.resolveInjectorInitializers(),i}function jm(e,n=null,t=null,r,i=new Set){const o=[t||le,d0(e)];return r=r||("object"==typeof e?void 0:$e(e)),new Fr(o,n||Ra(),r||null,i)}class We{static THROW_IF_NOT_FOUND=Po;static NULL=new xa;static create(n,t){if(Array.isArray(n))return Bm({name:""},t,n,"");{const r=n.name??"";return Bm({name:r},n.parent,n.providers,r)}}static \u0275prov=re({token:We,providedIn:"any",factory:()=>se(Lp)});static __NG_ELEMENT_ID__=-1}new R("").__NG_ELEMENT_ID__=e=>{const n=ie();if(null===n)throw new N(204,!1);if(2&n.type)return n.value;if(e&oe.Optional)return null;throw new N(204,!1)};const Um=!1;let Jn=(()=>class e{static __NG_ELEMENT_ID__=MT;static __NG_ENV_ID__=t=>t})();class $m extends Jn{_lView;constructor(n){super(),this._lView=n}onDestroy(n){return ja(this._lView,n),()=>function Zu(e,n){if(null===e[21])return;const t=e[21].indexOf(n);-1!==t&&e[21].splice(t,1)}(this._lView,n)}}function MT(){return new $m(D())}class Vn{}const Zo=new R("",{providedIn:"root",factory:()=>!1}),zm=new R(""),gd=new R("");let Xn=(()=>{class e{taskId=0;pendingTasks=new Set;get _hasPendingTasks(){return this.hasPendingTasks.value}hasPendingTasks=new VM(!1);add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}has(t){return this.pendingTasks.has(t)}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static \u0275prov=re({token:e,providedIn:"root",factory:()=>new e})}return e})();const we=class ST extends fn{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(n=!1){super(),this.__isAsync=n,function Up(){return void 0!==Np()||null!=function t0(){return wi}()}()&&(this.destroyRef=A(Jn,{optional:!0})??void 0,this.pendingTasks=A(Xn,{optional:!0})??void 0)}emit(n){const t=te(null);try{super.next(n)}finally{te(t)}}subscribe(n,t,r){let i=n,o=t||(()=>null),s=r;if(n&&"object"==typeof n){const l=n;i=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=this.wrapInTimeout(o),i&&(i=this.wrapInTimeout(i)),s&&(s=this.wrapInTimeout(s)));const a=super.subscribe({next:i,error:o,complete:s});return n instanceof Rt&&n.add(a),a}wrapInTimeout(n){return t=>{const r=this.pendingTasks?.add();setTimeout(()=>{n(t),void 0!==r&&this.pendingTasks?.remove(r)})}}};function Qo(...e){}function Gm(e){let n,t;function r(){e=Qo;try{void 0!==t&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(t),void 0!==n&&clearTimeout(n)}catch{}}return n=setTimeout(()=>{e(),r()}),"function"==typeof requestAnimationFrame&&(t=requestAnimationFrame(()=>{e(),r()})),()=>r()}function qm(e){return queueMicrotask(()=>e()),()=>{e=Qo}}const pd="isAngularZone",el=pd+"_ID";let NT=0;class de{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new we(!1);onMicrotaskEmpty=new we(!1);onStable=new we(!1);onError=new we(!1);constructor(n){const{enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:r=!1,shouldCoalesceRunChangeDetection:i=!1,scheduleInRootZone:o=Um}=n;if(typeof Zone>"u")throw new N(908,!1);Zone.assertZonePatched();const s=this;s._nesting=0,s._outer=s._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(s._inner=s._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!i&&r,s.shouldCoalesceRunChangeDetection=i,s.callbackScheduled=!1,s.scheduleInRootZone=o,function AT(e){const n=()=>{!function OT(e){function n(){Gm(()=>{e.callbackScheduled=!1,vd(e),e.isCheckStableRunning=!0,md(e),e.isCheckStableRunning=!1})}e.isCheckStableRunning||e.callbackScheduled||(e.callbackScheduled=!0,e.scheduleInRootZone?Zone.root.run(()=>{n()}):e._outer.run(()=>{n()}),vd(e))}(e)},t=NT++;e._inner=e._inner.fork({name:"angular",properties:{[pd]:!0,[el]:t,[el+t]:!0},onInvokeTask:(r,i,o,s,a,l)=>{if(function RT(e){return Qm(e,"__ignore_ng_zone__")}(l))return r.invokeTask(o,s,a,l);try{return Wm(e),r.invokeTask(o,s,a,l)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&n(),Zm(e)}},onInvoke:(r,i,o,s,a,l,c)=>{try{return Wm(e),r.invoke(o,s,a,l,c)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!function kT(e){return Qm(e,"__scheduler_tick__")}(l)&&n(),Zm(e)}},onHasTask:(r,i,o,s)=>{r.hasTask(o,s),i===o&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,vd(e),md(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(r,i,o,s)=>(r.handleError(o,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(s)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get(pd)}static assertInAngularZone(){if(!de.isInAngularZone())throw new N(909,!1)}static assertNotInAngularZone(){if(de.isInAngularZone())throw new N(909,!1)}run(n,t,r){return this._inner.run(n,t,r)}runTask(n,t,r,i){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+i,n,xT,Qo,Qo);try{return o.runTask(s,t,r)}finally{o.cancelTask(s)}}runGuarded(n,t,r){return this._inner.runGuarded(n,t,r)}runOutsideAngular(n){return this._outer.run(n)}}const xT={};function md(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function vd(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&!0===e.callbackScheduled)}function Wm(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Zm(e){e._nesting--,md(e)}class _d{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new we;onMicrotaskEmpty=new we;onStable=new we;onError=new we;run(n,t,r){return n.apply(t,r)}runGuarded(n,t,r){return n.apply(t,r)}runOutsideAngular(n){return n()}runTask(n,t,r,i){return n.apply(t,r)}}function Qm(e,n){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0]?.data?.[n]}class _n{_console=console;handleError(n){this._console.error("ERROR",n)}}const LT=new R("",{providedIn:"root",factory:()=>{const e=A(de),n=A(_n);return t=>e.runOutsideAngular(()=>n.handleError(t))}});function PT(){return Fi(ie(),D())}function Fi(e,n){return new pt(ft(e,n))}let pt=(()=>class e{nativeElement;constructor(t){this.nativeElement=t}static __NG_ELEMENT_ID__=PT})();function Km(e){return e instanceof pt?e.nativeElement:e}const Jm=new Set;function Xe(e){Jm.has(e)||(Jm.add(e),performance?.mark?.("mark_feature_usage",{detail:{feature:e}}))}function Gr(e,n){Xe("NgSignals");const t=function CM(e){const n=Object.create(cp);n.value=e;const t=()=>(Oo(n),n.value);return t[Ke]=n,t}(e),r=t[Ke];return n?.equal&&(r.equal=n.equal),t.set=i=>ou(r,i),t.update=i=>function lp(e,n){tp()||ap(),ou(e,n(e.value))}(r,i),t.asReadonly=tl.bind(t),t}function tl(){const e=this[Ke];if(void 0===e.readonlyFn){const n=()=>this();n[Ke]=e,e.readonlyFn=n}return e.readonlyFn}function ev(e){return function Xm(e){return"function"==typeof e&&void 0!==e[Ke]}(e)&&"function"==typeof e.set}function VT(){return this._results[Symbol.iterator]()}class HT{_emitDistinctChangesOnly;dirty=!0;_onDirty=void 0;_results=[];_changesDetected=!1;_changes=void 0;length=0;first=void 0;last=void 0;get changes(){return this._changes??=new fn}constructor(n=!1){this._emitDistinctChangesOnly=n}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,t){return this._results.reduce(n,t)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,t){this.dirty=!1;const r=function It(e){return e.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function u0(e,n,t){if(e.length!==n.length)return!1;for(let r=0;raS}),aS="ng",Ed=new R(""),Pi=new R("",{providedIn:"platform",factory:()=>"unknown"}),yv=new R("",{providedIn:"root",factory:()=>yn().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null}),bv=new R("",{providedIn:"root",factory:()=>!1});var Fd=function(e){return e[e.CHANGE_DETECTION=0]="CHANGE_DETECTION",e[e.AFTER_NEXT_RENDER=1]="AFTER_NEXT_RENDER",e}(Fd||{});const Hi=new R("");let Ld=(()=>{class e{impl=null;execute(){this.impl?.execute()}static \u0275prov=re({token:e,providedIn:"root",factory:()=>new e})}return e})();function Xv(e,n){const t=e.contentQueries;if(null!==t){const r=te(null);try{for(let i=0;ie,createScript:e=>e,createScriptURL:e=>e})}catch{}return yl}()?.createHTML(e)||e}function e_(e){return function Kd(){if(void 0===Cl&&(Cl=null,Ie.trustedTypes))try{Cl=Ie.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Cl}()?.createHTML(e)||e}class r_{changingThisBreaksApplicationSecurity;constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Cp})`}}function rr(e){return e instanceof r_?e.changingThisBreaksApplicationSecurity:e}function cs(e,n){const t=function eN(e){return e instanceof r_&&e.getTypeName()||null}(e);if(null!=t&&t!==n){if("ResourceURL"===t&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${t} (see ${Cp})`)}return t===n}class tN{inertDocumentHelper;constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{const t=(new window.DOMParser).parseFromString(Zi(n),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(n):(t.firstChild?.remove(),t)}catch{return null}}}class nN{defaultDoc;inertDocument;constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){const t=this.inertDocument.createElement("template");return t.innerHTML=Zi(n),t}}const iN=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Jd(e){return(e=String(e)).match(iN)?e:"unsafe:"+e}function Hn(e){const n={};for(const t of e.split(","))n[t]=!0;return n}function us(...e){const n={};for(const t of e)for(const r in t)t.hasOwnProperty(r)&&(n[r]=!0);return n}const o_=Hn("area,br,col,hr,img,wbr"),s_=Hn("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),a_=Hn("rp,rt"),Xd=us(o_,us(s_,Hn("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),us(a_,Hn("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),us(a_,s_)),ef=Hn("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),l_=us(ef,Hn("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Hn("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),oN=Hn("script,style,template");class sN{sanitizedSomething=!1;buf=[];sanitizeChildren(n){let t=n.firstChild,r=!0,i=[];for(;t;)if(t.nodeType===Node.ELEMENT_NODE?r=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,r&&t.firstChild)i.push(t),t=cN(t);else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let o=lN(t);if(o){t=o;break}t=i.pop()}return this.buf.join("")}startElement(n){const t=c_(n).toLowerCase();if(!Xd.hasOwnProperty(t))return this.sanitizedSomething=!0,!oN.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const r=n.attributes;for(let i=0;i"),!0}endElement(n){const t=c_(n).toLowerCase();Xd.hasOwnProperty(t)&&!o_.hasOwnProperty(t)&&(this.buf.push(""))}chars(n){this.buf.push(d_(n))}}function lN(e){const n=e.nextSibling;if(n&&e!==n.previousSibling)throw u_(n);return n}function cN(e){const n=e.firstChild;if(n&&function aN(e,n){return(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}(e,n))throw u_(n);return n}function c_(e){const n=e.nodeName;return"string"==typeof n?n:"FORM"}function u_(e){return new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`)}const uN=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,dN=/([^\#-~ |!])/g;function d_(e){return e.replace(/&/g,"&").replace(uN,function(n){return"&#"+(1024*(n.charCodeAt(0)-55296)+(n.charCodeAt(1)-56320)+65536)+";"}).replace(dN,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}let wl;function tf(e){return"content"in e&&function hN(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Qi=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Qi||{});function f_(e){const n=ds();return n?e_(n.sanitize(Qi.HTML,e)||""):cs(e,"HTML")?e_(rr(e)):function fN(e,n){let t=null;try{wl=wl||function i_(e){const n=new nN(e);return function rN(){try{return!!(new window.DOMParser).parseFromString(Zi(""),"text/html")}catch{return!1}}()?new tN(n):n}(e);let r=n?String(n):"";t=wl.getInertBodyElement(r);let i=5,o=r;do{if(0===i)throw new Error("Failed to sanitize html because the input is unstable");i--,r=o,o=t.innerHTML,t=wl.getInertBodyElement(r)}while(r!==o);return Zi((new sN).sanitizeChildren(tf(t)||t))}finally{if(t){const r=tf(t)||t;for(;r.firstChild;)r.firstChild.remove()}}}(yn(),K(e))}function ir(e){const n=ds();return n?n.sanitize(Qi.URL,e)||"":cs(e,"URL")?rr(e):Jd(K(e))}function ds(){const e=D();return e&&e[10].sanitizer}const CN=/^>|^->||--!>|)/g;function El(e){return e.ownerDocument.defaultView}var or=function(e){return e[e.None=0]="None",e[e.SignalBased=1]="SignalBased",e[e.HasDecoratorInputTransform=2]="HasDecoratorInputTransform",e}(or||{});function AN(e,n,t){let r=e.length;for(;;){const i=e.indexOf(n,t);if(-1===i)return i;if(0===i||e.charCodeAt(i-1)<=32){const o=n.length;if(i+o===r||e.charCodeAt(i+o)<=32)return i}t=i+1}}const D_="ng-template";function RN(e,n,t,r){let i=0;if(r){for(;i-1){let o;for(;++io?"":i[u+1].toLowerCase(),2&r&&c!==d){if(rn(r))return!1;s=!0}}}}else{if(!s&&!rn(r)&&!rn(l))return!1;if(s&&rn(l))continue;s=!1,r=l|1&r}}return rn(r)||s}function rn(e){return!(1&e)}function LN(e,n,t,r){if(null===n)return-1;let i=0;if(r||!t){let o=!1;for(;i-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&r?i+="."+s:4&r&&(i+=" "+s);else""!==i&&!rn(s)&&(n+=E_(o,i),i=""),r=s,o=o||!rn(r);t++}return""!==i&&(n+=E_(o,i)),n}const J={};function af(e,n){return e.createComment(function g_(e){return e.replace(CN,n=>n.replace(wN,"\u200b$1\u200b"))}(n))}function Il(e,n,t){return e.createElement(n,t)}function Qr(e,n,t,r,i){e.insertBefore(n,t,r,i)}function M_(e,n,t){e.appendChild(n,t)}function T_(e,n,t,r,i){null!==r?Qr(e,n,t,r,i):M_(e,n,t)}function N_(e,n,t){const{mergedAttrs:r,classes:i,styles:o}=t;null!==r&&function lT(e,n,t){let r=0;for(;rk&&x_(e,n,k,!1),t(r,i)}finally{Ur(o)}}function lf(e,n,t){sm()&&(vt(ft(t,n),n),R_(e,n,t))}function R_(e,n,t){(function ix(e,n,t){const r=t.directiveStart,i=t.directiveEnd;$t(t)&&function hx(e,n,t){const r=ft(n,e),i=function k_(e){const n=e.tView;return null===n||n.incompleteFirstPass?e.tView=uf(1,null,e.template,e.decls,e.vars,e.directiveDefs,e.pipeDefs,e.viewQuery,e.schemas,e.consts,e.id):n}(t),o=e[10].rendererFactory,s=hf(e,Ml(e,i,null,function B_(e){let n=16;return e.signals?n=4096:e.onPush&&(n=64),n}(t),r,n,null,o.createRenderer(r,t),null,null,null));e[n.index]=s}(n,t,e.data[r+t.componentOffset]),e.firstCreatePass||Qa(t,n);const o=t.initialInputs;for(let s=r;snull;function L_(e,n,t,r,i){for(let o in n){if(!n.hasOwnProperty(o))continue;const s=n[o];if(void 0===s)continue;r??={};let a,l=or.None;Array.isArray(s)?(a=s[0],l=s[1]):a=s;let c=o;if(null!==i){if(!i.hasOwnProperty(o))continue;c=i[o]}0===e?P_(r,t,c,a,l):P_(r,t,c,a)}return r}function P_(e,n,t,r,i){let o;e.hasOwnProperty(t)?(o=e[t]).push(n,r):o=e[t]=[n,r],void 0!==i&&o.push(i)}function St(e,n,t,r,i,o,s,a){const l=ft(n,t);let u,c=n.inputs;!a&&null!=c&&(u=c[r])?(gf(e,t,u,r,i),$t(n)&&function ex(e,n){const t=ht(n,e);16&t[2]||(t[2]|=64)}(t,n.index)):3&n.type&&(r=function XN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(r),i=null!=s?s(i,n.value||"",r):i,o.setProperty(l,r,i))}function df(e,n,t,r){if(sm()){const i=null===r?null:{"":-1},o=function ax(e,n){const t=e.directiveRegistry;let r=null;if(t)for(let i=0;i0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,r,o)}}(e,n,r,hs(e,t,i.hostVars,J),i)}function Cn(e,n,t,r,i,o){const s=ft(e,n);!function ff(e,n,t,r,i,o,s){if(null==o)e.removeAttribute(n,i,t);else{const a=null==s?K(o):s(o,r||"",i);e.setAttribute(n,i,a,t)}}(n[G],s,o,e.value,t,r,i)}function gx(e,n,t,r,i,o){const s=o[n];if(null!==s)for(let a=0;a0&&(e[t-1][4]=r[4]);const o=Sa(e,10+n);!function $_(e,n){z_(e,n),n[0]=null,n[5]=null}(r[1],r);const s=o[18];null!==s&&s.detachView(o[1]),r[3]=null,r[4]=null,r[2]&=-129}return r}function ps(e,n){if(Yn(n))return;const t=n[G];t.destroyNode&&xl(e,n,t,3,null,null),function wx(e){let n=e[12];if(!n)return _f(e[1],e);for(;n;){let t=null;if(Ne(n))t=n[12];else{const r=n[10];r&&(t=r)}if(!t){for(;n&&!n[4]&&n!==e;)Ne(n)&&_f(n[1],n),n=n[3];null===n&&(n=e),Ne(n)&&_f(n[1],n),t=n&&n[4]}n=t}}(n)}function _f(e,n){if(Yn(n))return;const t=te(null);try{n[2]&=-129,n[2]|=256,n[24]&&ko(n[24]),function Ex(e,n){let t;if(null!=e&&null!=(t=e.destroyHooks))for(let r=0;r=0?r[a]():r[-a].unsubscribe(),s+=2}else t[s].call(r[t[s+1]]);null!==r&&(n[7]=null);const i=n[21];if(null!==i){n[21]=null;for(let s=0;s{jo(e.lView)},consumerOnSignalRead(){this.lView[24]=this}},Rx={...Er,consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:e=>{let n=Fn(e.lView);for(;n&&!ty(n[1]);)n=Fn(n);n&&qu(n)},consumerOnSignalRead(){this.lView[24]=this}};function ty(e){return 2!==e.type}function ny(e){if(null===e[23])return;let n=!0;for(;n;){let t=!1;for(const r of e[23])r.dirty&&(t=!0,null===r.zone||Zone.current===r.zone?r.run():r.zone.run(()=>r.run()));n=t&&!!(8192&e[2])}}function Ol(e,n=!0,t=0){const i=e[10].rendererFactory;i.begin?.();try{!function Fx(e,n){const t=um();try{$a(!0),If(e,n);let r=0;for(;Ba(e);){if(100===r)throw new N(103,!1);r++,If(e,1)}}finally{$a(t)}}(e,t)}catch(s){throw n&&Tl(e,s),s}finally{i.end?.()}}function iy(e,n,t,r){if(Yn(n))return;const i=n[2];nd(n);let a=!0,l=null,c=null;ty(e)?(c=function Sx(e){return e[24]??function Nx(e){const n=ey.pop()??Object.create(Ox);return n.lView=e,n}(e)}(n),l=Ir(c)):null===function iu(){return Le}()?(a=!1,c=function Ax(e){const n=e[24]??Object.create(Rx);return n.lView=e,n}(n),l=Ir(c)):n[24]&&(ko(n[24]),n[24]=null);try{nm(n),function dm(e){return Q.lFrame.bindingIndex=e}(e.bindingStartIndex),null!==t&&A_(e,n,t,2,r);const u=!(3&~i);if(u){const h=e.preOrderCheckHooks;null!==h&&qa(n,h,null)}else{const h=e.preOrderHooks;null!==h&&Wa(n,h,0,null),id(n,0)}if(function Lx(e){for(let n=cv(e);null!==n;n=uv(n)){if(!(2&n[2]))continue;const t=n[9];for(let r=0;r-1&&(gs(n,r),Sa(t,r))}this._attachedToViewContainer=!1}ps(this._lView[1],this._lView)}onDestroy(n){ja(this._lView,n)}markForCheck(){ms(this._cdRefInjectingView||this._lView,4)}markForRefresh(){qu(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){Wu(this._lView),this._lView[2]|=128}detectChanges(){this._lView[2]|=1024,Ol(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new N(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;const n=Rn(this._lView),t=this._lView[16];null!==t&&!n&&vf(t,this._lView),z_(this._lView[1],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new N(902,!1);this._appRef=n;const t=Rn(this._lView),r=this._lView[16];null!==r&&!t&&G_(r,this._lView),Wu(this._lView)}}let Bn=(()=>class e{static __NG_ELEMENT_ID__=jx})();const Hx=Bn,Bx=class extends Hx{_declarationLView;_declarationTContainer;elementRef;constructor(n,t,r){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,r){const i=function Ji(e,n,t,r){const i=te(null);try{const o=n.tView,l=Ml(e,o,t,4096&e[2]?4096:16,null,n,null,null,r?.injector??null,r?.embeddedViewInjector??null,r?.dehydratedView??null);l[16]=e[n.index];const u=e[18];return null!==u&&(l[18]=u.createEmbeddedView(o)),Sl(o,l,t),l}finally{te(i)}}(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:t,dehydratedView:r});return new vs(i)}};function jx(){return Al(ie(),D())}function Al(e,n){return 4&e.type?new Bx(n,e,Fi(e,n)):null}function Jr(e,n,t,r,i){let o=e.data[n];if(null===o)o=function Nf(e,n,t,r,i){const o=am(),s=Ku(),l=e.data[n]=function Kx(e,n,t,r,i,o){let s=n?n.injectorIndex:-1,a=0;return function jr(){return null!==Q.skipHydrationRootTNode}()&&(a|=128),{type:t,index:r,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:i,attrs:o,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?o:o&&o.parent,t,n,r,i);return function Yx(e,n,t,r){null===e.firstChild&&(e.firstChild=n),null!==t&&(r?null==t.child&&null!==n.parent&&(t.child=n):null===t.next&&(t.next=n,n.prev=t))}(e,l,o,s),l}(e,n,t,r,i),function Z0(){return Q.lFrame.inI18n}()&&(o.flags|=32);else if(64&o.type){o.type=t,o.value=r,o.attrs=i;const s=function Uo(){const e=Q.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();o.injectorIndex=null===s?-1:s.injectorIndex}return nn(o,!0),o}class P1{}class Ny{}class V1{resolveComponentFactory(n){throw Error(`No component factory found for ${$e(n)}.`)}}class Vl{static NULL=new V1}class Vf{}let on=(()=>class e{destroyNode=null;static __NG_ELEMENT_ID__=()=>function H1(){const e=D(),t=ht(ie().index,e);return(Ne(t)?t:e)[G]}()})(),B1=(()=>{class e{static \u0275prov=re({token:e,providedIn:"root",factory:()=>null})}return e})();function Bl(e,n,t){let r=t?e.styles:null,i=t?e.classes:null,o=0;if(null!==n)for(let s=0;sclass e{static __NG_ELEMENT_ID__=q1})();function q1(){return Ly(ie(),D())}const W1=wn,ky=class extends W1{_lContainer;_hostTNode;_hostLView;constructor(n,t,r){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=r}get element(){return Fi(this._hostTNode,this._hostLView)}get injector(){return new Ae(this._hostTNode,this._hostLView)}get parentInjector(){const n=Ya(this._hostTNode,this._hostLView);if(ld(n)){const t=qo(n,this._hostLView),r=Go(n);return new Ae(t[1].data[r+8],t)}return new Ae(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=Fy(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-10}createEmbeddedView(n,t,r){let i,o;"number"==typeof r?i=r:null!=r&&(i=r.index,o=r.injector);const a=n.createEmbeddedViewImpl(t||{},o,null);return this.insertImpl(a,i,Kr(this._hostTNode,null)),a}createComponent(n,t,r,i,o){const s=n&&!function Bo(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const m=t||{};a=m.index,r=m.injector,i=m.projectableNodes,o=m.environmentInjector||m.ngModuleRef}const l=s?n:new Ts(ne(n)),c=r||this.parentInjector;if(!o&&null==l.ngModule){const C=(s?c:this.parentInjector).get(tn,null);C&&(o=C)}ne(l.componentType??{});const h=l.create(c,i,null,o);return this.insertImpl(h.hostView,a,Kr(this._hostTNode,null)),h}insert(n,t){return this.insertImpl(n,t,!0)}insertImpl(n,t,r){const i=n._lView;if(function V0(e){return qe(e[3])}(i)){const a=this.indexOf(n);if(-1!==a)this.detach(a);else{const l=i[3],c=new ky(l,l[5],l[3]);c.detach(c.indexOf(n))}}const o=this._adjustIndex(t),s=this._lContainer;return function Xi(e,n,t,r=!0){const i=n[1];if(function Dx(e,n,t,r){const i=10+r,o=t.length;r>0&&(t[i-1][4]=n),rn.trim())}(n):n}}class Gf{queries;constructor(n=[]){this.queries=n}elementStart(n,t){for(let r=0;r0)r.push(s[a/2]);else{const c=o[a+1],u=n[-l];for(let d=10;dt()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class Jf extends hO{moduleType;constructor(n){super(),this.moduleType=n}create(n){return new Kf(this.moduleType,n,[])}}class rC extends ti{injector;componentFactoryResolver=new Ay(this);instance=null;constructor(n){super();const t=new Fr([...n.providers,{provide:ti,useValue:this},{provide:Vl,useValue:this.componentFactoryResolver}],n.parent||Ra(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}let mO=(()=>{class e{_injector;cachedInjectors=new Map;constructor(t){this._injector=t}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){const r=Ru(0,t.type),i=r.length>0?function iC(e,n,t=null){return new rC({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,i)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}static \u0275prov=re({token:e,providedIn:"environment",factory:()=>new e(se(tn))})}return e})();function sn(e){return Sn(()=>{const n=sC(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===nl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:n.standalone?i=>i.get(mO).getOrCreateStandaloneInjector(t):null,getExternalStyles:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Zt.Emulated,styles:e.styles||le,_:null,schemas:e.schemas||null,tView:null,id:""};n.standalone&&Xe("NgStandalone"),aC(t);const r=e.dependencies;return t.directiveDefs=Ul(r,!1),t.pipeDefs=Ul(r,!0),t.id=function CO(e){let n=0;const r=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,"function"==typeof e.consts?"":e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery];for(const o of r.join("|"))n=Math.imul(31,n)+o.charCodeAt(0)|0;return n+=2147483648,"c"+n}(t),t})}function vO(e){return ne(e)||ze(e)}function _O(e){return null!==e}function cr(e){return Sn(()=>({type:e.type,bootstrap:e.bootstrap||le,declarations:e.declarations||le,imports:e.imports||le,exports:e.exports||le,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function oC(e,n){if(null==e)return hn;const t={};for(const r in e)if(e.hasOwnProperty(r)){const i=e[r];let o,s,a=or.None;Array.isArray(i)?(a=i[0],o=i[1],s=i[2]??o):(o=i,s=i),n?(t[o]=a!==or.None?[r,a]:r,n[o]=s):t[o]=r}return t}function Y(e){return Sn(()=>{const n=sC(e);return aC(n),n})}function Nt(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:e.standalone??!0,onDestroy:e.type.prototype.ngOnDestroy||null}}function sC(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:e.inputs||hn,exportAs:e.exportAs||null,standalone:e.standalone??!0,signals:!0===e.signals,selectors:e.selectors||le,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:oC(e.inputs,n),outputs:oC(e.outputs),debugInfo:null}}function aC(e){e.features?.forEach(n=>n(e))}function Ul(e,n){if(!e)return null;const t=n?nt:vO;return()=>("function"==typeof e?e():e).map(r=>t(r)).filter(_O)}function ue(e){let n=function lC(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),t=!0;const r=[e];for(;n;){let i;if(zt(e))i=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new N(903,!1);i=n.\u0275dir}if(i){if(t){r.push(i);const s=e;s.inputs=$l(e.inputs),s.inputTransforms=$l(e.inputTransforms),s.declaredInputs=$l(e.declaredInputs),s.outputs=$l(e.outputs);const a=i.hostBindings;a&&IO(e,a);const l=i.viewQuery,c=i.contentQueries;if(l&&bO(e,l),c&&EO(e,c),wO(e,i),jM(e.outputs,i.outputs),zt(i)&&i.data.animation){const u=e.data;u.animation=(u.animation||[]).concat(i.data.animation)}}const o=i.features;if(o)for(let s=0;s=0;r--){const i=e[r];i.hostVars=n+=i.hostVars,i.hostAttrs=ki(i.hostAttrs,t=ki(t,i.hostAttrs))}}(r)}function wO(e,n){for(const t in n.inputs){if(!n.inputs.hasOwnProperty(t)||e.inputs.hasOwnProperty(t))continue;const r=n.inputs[t];if(void 0!==r&&(e.inputs[t]=r,e.declaredInputs[t]=n.declaredInputs[t],null!==n.inputTransforms)){const i=Array.isArray(r)?r[0]:r;if(!n.inputTransforms.hasOwnProperty(i))continue;e.inputTransforms??={},e.inputTransforms[i]=n.inputTransforms[i]}}}function $l(e){return e===hn?{}:e===le?[]:e}function bO(e,n){const t=e.viewQuery;e.viewQuery=t?(r,i)=>{n(r,i),t(r,i)}:n}function EO(e,n){const t=e.contentQueries;e.contentQueries=t?(r,i,o)=>{n(r,i,o),t(r,i,o)}:n}function IO(e,n){const t=e.hostBindings;e.hostBindings=t?(r,i)=>{n(r,i),t(r,i)}:n}function zl(e){return!!eh(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function eh(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function Dn(e,n,t){return e[n]=t}function Re(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function ni(e,n,t,r){const i=Re(e,n,t);return Re(e,n+1,r)||i}function V(e,n,t,r,i,o,s,a){const l=D(),c=Z();return function xs(e,n,t,r,i,o,s,a,l,c){const u=t+k,d=n.firstCreatePass?function FO(e,n,t,r,i,o,s,a,l){const c=n.consts,u=Jr(n,e,4,s||null,a||null);df(n,t,u,qt(c,l)),Ga(n,u);const d=u.tView=uf(2,u,r,i,o,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,u),d.queries=n.queries.embeddedTView(u)),u}(u,n,e,r,i,o,s,a,l):n.data[u];nn(d,!1);const g=hC(n,e,d,t);$o()&&Nl(n,e,g,d),vt(g,e);const h=j_(g,e,g,d);return e[u]=h,hf(e,h),Va(d)&&lf(n,e,d),null!=l&&cf(e,d,c),d}(l,c,e,n,t,r,i,qt(c.consts,o),s,a),V}let hC=function gC(e,n,t,r){return mn(!0),n[G].createComment("")};const TC=new R(""),Ql=new R("");let lh,sh=(()=>{class e{_ngZone;registry;_isZoneStable=!0;_callbacks=[];taskTrackingZone=null;constructor(t,r,i){this._ngZone=t,this.registry=r,lh||(function kA(e){lh=e}(i),i.addToWindow(r)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{de.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}isStable(){return this._isZoneStable&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb()}});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(t)||(clearTimeout(r.timeoutId),!1))}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,r,i){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),t()},r)),this._callbacks.push({doneCb:t,timeoutId:o,updateCb:i})}whenStable(t,r,i){if(i&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,r,i),this._runCallbacksIfReady()}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,r,i){return[]}static \u0275fac=function(r){return new(r||e)(se(de),se(ah),se(Ql))};static \u0275prov=re({token:e,factory:e.\u0275fac})}return e})(),ah=(()=>{class e{_applications=new Map;registerApplication(t,r){this._applications.set(t,r)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,r=!0){return lh?.findTestabilityInTree(this,t,r)??null}static \u0275fac=function(r){return new(r||e)};static \u0275prov=re({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function Yl(e){return!!e&&"function"==typeof e.then}function SC(e){return!!e&&"function"==typeof e.subscribe}const NC=new R("");let xC=(()=>{class e{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((t,r)=>{this.resolve=t,this.reject=r});appInits=A(NC,{optional:!0})??[];injector=A(We);constructor(){}runInitializers(){if(this.initialized)return;const t=[];for(const i of this.appInits){const o=jp(this.injector,i);if(Yl(o))t.push(o);else if(SC(o)){const s=new Promise((a,l)=>{o.subscribe({complete:a,error:l})});t.push(s)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{r()}).catch(i=>{this.reject(i)}),0===t.length&&r(),this.initialized=!0}static \u0275fac=function(r){return new(r||e)};static \u0275prov=re({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),ch=(()=>{class e{static \u0275prov=re({token:e,providedIn:"root",factory:()=>new OC})}return e})();class OC{queuedEffectCount=0;queues=new Map;schedule(n){this.enqueue(n)}remove(n){const r=this.queues.get(n.zone);r.has(n)&&(r.delete(n),this.queuedEffectCount--)}enqueue(n){const t=n.zone;this.queues.has(t)||this.queues.set(t,new Set);const r=this.queues.get(t);r.has(n)||(this.queuedEffectCount++,r.add(n))}flush(){for(;this.queuedEffectCount>0;)for(const[n,t]of this.queues)null===n?this.flushQueue(t):n.run(()=>this.flushQueue(t))}flushQueue(n){for(const t of n)n.delete(t),this.queuedEffectCount--,t.run()}}const Kl=new R("");function RC(e,n){return Array.isArray(n)?n.reduce(RC,e):{...e,...n}}let Yt=(()=>{class e{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=A(LT);afterRenderManager=A(Ld);zonelessEnabled=A(Zo);rootEffectScheduler=A(ch);dirtyFlags=0;deferredDirtyFlags=0;tracingSnapshot=null;externalTestViews=new Set;afterTick=new fn;get allViews(){return[...this.externalTestViews.keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];isStable=A(Xn).hasPendingTasks.pipe(pu(t=>!t));constructor(){A(Hi,{optional:!0})}whenStable(){let t;return new Promise(r=>{t=this.isStable.subscribe({next:i=>{i&&r()}})}).finally(()=>{t.unsubscribe()})}_injector=A(tn);_rendererFactory=null;get injector(){return this._injector}bootstrap(t,r){const i=t instanceof Ny;if(!this._injector.get(xC).done)throw!i&&function Ar(e){const n=ne(e)||ze(e)||nt(e);return null!==n&&n.standalone}(t),new N(405,!1);let s;s=i?t:this._injector.get(Vl).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function FA(e){return e.isBoundToModule}(s)?void 0:this._injector.get(ti),c=s.create(We.NULL,[],r||s.selector,a),u=c.location.nativeElement,d=c.injector.get(TC,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),Jl(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick=()=>{if(null!==this.tracingSnapshot){const r=this.tracingSnapshot;return this.tracingSnapshot=null,r.run(Fd.CHANGE_DETECTION,this._tick),void r.dispose()}if(this._runningTick)throw new N(101,!1);const t=te(null);try{this._runningTick=!0,this.synchronize()}catch(r){this.internalErrorHandler(r)}finally{this._runningTick=!1,te(t),this.afterTick.next()}};synchronize(){null===this._rendererFactory&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(Vf,null,{optional:!0})),this.dirtyFlags|=this.deferredDirtyFlags,this.deferredDirtyFlags=0;let t=0;for(;0!==this.dirtyFlags&&t++<10;)this.synchronizeOnce()}synchronizeOnce(){if(this.dirtyFlags|=this.deferredDirtyFlags,this.deferredDirtyFlags=0,16&this.dirtyFlags&&(this.dirtyFlags&=-17,this.rootEffectScheduler.flush()),7&this.dirtyFlags){const t=!!(1&this.dirtyFlags);this.dirtyFlags&=-8,this.dirtyFlags|=8;for(let{_lView:r,notifyErrorHandler:i}of this.allViews)VA(r,i,t,this.zonelessEnabled);if(this.dirtyFlags&=-5,this.syncDirtyFlagsWithViews(),23&this.dirtyFlags)return}else this._rendererFactory?.begin?.(),this._rendererFactory?.end?.();8&this.dirtyFlags&&(this.dirtyFlags&=-9,this.afterRenderManager.execute()),this.syncDirtyFlagsWithViews()}syncDirtyFlagsWithViews(){this.allViews.some(({_lView:t})=>Ba(t))?this.dirtyFlags|=2:this.dirtyFlags&=-8}attachView(t){const r=t;this._views.push(r),r.attachToAppRef(this)}detachView(t){const r=t;Jl(this._views,r),r.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(Kl,[]).forEach(i=>i(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>Jl(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new N(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}static \u0275fac=function(r){return new(r||e)};static \u0275prov=re({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Jl(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function VA(e,n,t,r){(t||Ba(e))&&Ol(e,n,t&&!r?0:1)}function _t(e,n,t,r){const i=D();return Re(i,Wt(),n)&&(Z(),Cn(me(),i,e,n,t,r)),_t}function ao(e,n,t,r){return Re(e,Wt(),t)?n+K(t)+r:J}function Xl(e,n){return e<<17|n<<2}function hr(e){return e>>17&32767}function hh(e){return 2|e}function ii(e){return(131068&e)>>2}function gh(e,n){return-131069&e|n<<2}function ph(e){return 1|e}function ZC(e,n,t,r){const i=e[t+1],o=null===n;let s=r?hr(i):ii(i),a=!1;for(;0!==s&&(!1===a||o);){const c=e[s+1];DR(e[s],n)&&(a=!0,e[s+1]=r?ph(c):hh(c)),s=r?hr(c):ii(c)}a&&(e[t+1]=r?hh(i):ph(i))}function DR(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&bi(e,n)>=0}const Ze={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function QC(e){return e.substring(Ze.key,Ze.keyEnd)}function YC(e,n){const t=Ze.textEnd;return t===n?-1:(n=Ze.keyEnd=function MR(e,n,t){for(;n32;)n++;return n}(e,Ze.key=n,t),mo(e,n,t))}function mo(e,n,t){for(;n=0;t=YC(n,t))Lt(e,QC(n),!0)}function an(e,n,t,r){const i=D(),o=Z(),s=Pn(2);o.firstUpdatePass&&nw(o,e,s,r),n!==J&&Re(i,s,n)&&iw(o,o.data[rt()],i,i[G],e,i[s+1]=function VR(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=$e(rr(e)))),e}(n,t),r,s)}function tw(e,n){return n>=e.expandoStartIndex}function nw(e,n,t,r){const i=e.data;if(null===i[t+1]){const o=i[rt()],s=tw(e,t);sw(o,r)&&null===n&&!s&&(n=!1),n=function OR(e,n,t,r){const i=function ed(e){const n=Q.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let o=r?n.residualClasses:n.residualStyles;if(null===i)0===(r?n.classBindings:n.styleBindings)&&(t=Rs(t=vh(null,e,n,t,r),n.attrs,r),o=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==i)if(t=vh(i,e,n,t,r),null===o){let l=function AR(e,n,t){const r=t?n.classBindings:n.styleBindings;if(0!==ii(r))return e[hr(r)]}(e,n,r);void 0!==l&&Array.isArray(l)&&(l=vh(null,e,n,l[1],r),l=Rs(l,n.attrs,r),function RR(e,n,t,r){e[hr(t?n.classBindings:n.styleBindings)]=r}(e,n,r,l))}else o=function kR(e,n,t){let r;const i=n.directiveEnd;for(let o=1+n.directiveStylingLast;o0)&&(c=!0)):u=t,i)if(0!==l){const g=hr(e[a+1]);e[r+1]=Xl(g,a),0!==g&&(e[g+1]=gh(e[g+1],r)),e[a+1]=function _R(e,n){return 131071&e|n<<17}(e[a+1],r)}else e[r+1]=Xl(a,0),0!==a&&(e[a+1]=gh(e[a+1],r)),a=r;else e[r+1]=Xl(l,0),0===a?a=r:e[l+1]=gh(e[l+1],r),l=r;c&&(e[r+1]=hh(e[r+1])),ZC(e,u,r,!0),ZC(e,u,r,!1),function wR(e,n,t,r,i){const o=i?e.residualClasses:e.residualStyles;null!=o&&"string"==typeof n&&bi(o,n)>=0&&(t[r+1]=ph(t[r+1]))}(n,u,e,r,o),s=Xl(a,l),o?n.classBindings=s:n.styleBindings=s}(i,o,n,t,s,r)}}function vh(e,n,t,r,i){let o=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[i],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let g=t[i+1];g===J&&(g=d?le:void 0);let h=d?Ou(g,r):u===r?g:void 0;if(c&&!tc(h)&&(h=Ou(l,r)),tc(h)&&(a=h,s))return a;const m=e[i+1];i=s?hr(m):ii(m)}if(null!==n){let l=o?n.residualClasses:n.residualStyles;null!=l&&(a=Ou(l,r))}return a}function tc(e){return void 0!==e}function sw(e,n){return!!(e.flags&(n?8:16))}function Kt(e,n,t){!function ln(e,n,t,r){const i=Z(),o=Pn(2);i.firstUpdatePass&&nw(i,null,o,r);const s=D();if(t!==J&&Re(s,o,t)){const a=i.data[rt()];if(sw(a,r)&&!tw(i,o)){let l=r?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(t=vu(l,t||"")),mh(i,a,s,t,r)}else!function PR(e,n,t,r,i,o,s,a){i===J&&(i=le);let l=0,c=0,u=0(mn(!0),Il(r,i,function ym(){return Q.lFrame.currentNamespace}()));function X(e,n,t){const r=D(),i=Z(),o=e+k,s=i.firstCreatePass?function ck(e,n,t,r,i){const o=n.consts,s=qt(o,r),a=Jr(n,e,8,"ng-container",s);return null!==s&&Bl(a,s,!0),df(n,t,a,qt(o,i)),null!==n.queries&&n.queries.elementStart(n,a),a}(o,i,r,n,t):i.data[o];nn(s,!0);const a=fw(i,r,s,e);return r[o]=a,$o()&&Nl(i,r,a,s),vt(a,r),Va(s)&&(lf(i,r,s),Qd(i,s,r)),null!=t&&cf(r,s),X}function ee(){let e=ie();const n=Z();return Ku()?Ju():(e=e.parent,nn(e,!1)),n.firstCreatePass&&(Ga(n,e),Uu(e)&&n.queries.elementEnd(e)),ee}let fw=(e,n,t,r)=>(mn(!0),af(n[G],""));function ge(){return D()}const rc="en-US";let vw=rc;function q(e,n,t,r){const i=D(),o=Z(),s=ie();return bh(o,i,i[G],s,e,n,r),q}function bh(e,n,t,r,i,o,s){const a=Va(r),c=e.firstCreatePass&&om(e),u=n[8],d=im(n);let g=!0;if(3&r.type||s){const C=ft(r,n),E=s?s(C):C,I=d.length,w=s?z=>s(ae(z[r.index])):r.index;let L=null;if(!s&&a&&(L=function nF(e,n,t,r){const i=e.cleanup;if(null!=i)for(let o=0;ol?a[l]:null}"string"==typeof s&&(o+=2)}return null}(e,n,i,r.index)),null!==L)(L.__ngLastListenerFn__||L).__ngNextListenerFn__=o,L.__ngLastListenerFn__=o,g=!1;else{o=Hw(r,n,u,o);const z=t.listen(E,i,o);d.push(o,z),c&&c.push(i,w,I,I+1)}}else o=Hw(r,n,u,o);const h=r.outputs;let m;if(g&&null!==h&&(m=h[i])){const C=m.length;if(C)for(let E=0;E0;)n=n[14],e--;return n}(e,Q.lFrame.contextLView))[8]}(e)}function In(e,n,t){return Eh(e,"",n,"",t),In}function Eh(e,n,t,r,i){const o=D(),s=ao(o,n,t,r);return s!==J&&St(Z(),me(),o,e,s,o[G],i,!1),Eh}function Zw(e,n,t,r){!function zy(e,n,t,r){const i=Z();if(i.firstCreatePass){const o=ie();Gy(i,new By(n,t,r),o.index),function rO(e,n){const t=e.contentQueries||(e.contentQueries=[]);n!==(t.length?t[t.length-1]:-1)&&t.push(e.queries.length-1,n)}(i,e),!(2&~t)&&(i.staticContentQueries=!0)}return Uy(i,D(),t)}(e,n,t,r)}function Vt(e,n,t){!function $y(e,n,t){const r=Z();return r.firstCreatePass&&(Gy(r,new By(e,n,t),-1),!(2&~n)&&(r.staticViewQueries=!0)),Uy(r,D(),n)}(e,n,t)}function Ot(e){const n=D(),t=Z(),r=td();za(r+1);const i=Qf(t,r);if(e.dirty&&function P0(e){return!(4&~e[2])}(n)===!(2&~i.metadata.flags)){if(null===i.matches)e.reset([]);else{const o=qy(n,r);e.reset(o,Km),e.notifyOnChanges()}return!0}return!1}function At(){return function Zf(e,n){return e[18].queries[n].queryList}(D(),td())}function b(e,n=""){const t=D(),r=Z(),i=e+k,o=r.firstCreatePass?Jr(r,i,1,n,null):r.data[i],s=iD(r,t,o,n,e);t[i]=s,$o()&&Nl(r,t,s,o),nn(o,!1)}let iD=(e,n,t,r,i)=>(mn(!0),function sf(e,n){return e.createText(n)}(n[G],r));function O(e){return U("",e,""),O}function U(e,n,t){const r=D(),i=ao(r,e,n,t);return i!==J&&function Un(e,n,t){const r=Ai(n,e);!function I_(e,n,t){e.setValue(n,t)}(e[G],r,t)}(r,rt(),i),U}function Qe(e,n,t){ev(n)&&(n=n());const r=D();return Re(r,Wt(),n)&&St(Z(),me(),r,e,n,r[G],t,!1),Qe}function be(e,n){const t=ev(e);return t&&e.set(n),t}function tt(e,n){const t=D(),r=Z(),i=ie();return bh(r,t,t[G],i,e,n),tt}function Mh(e,n,t,r,i){if(e=W(e),Array.isArray(e))for(let o=0;o>20;if(kr(e)||!e.multi){const h=new zo(c,i,T),m=Sh(l,n,i?u:u+g,d);-1===m?(dd(Qa(a,s),o,l),Th(o,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,i&&(a.providerIndexes+=1048576),t.push(h),s.push(h)):(t[m]=h,s[m]=h)}else{const h=Sh(l,n,u+g,d),m=Sh(l,n,u,u+g),E=m>=0&&t[m];if(i&&!E||!i&&!(h>=0&&t[h])){dd(Qa(a,s),o,l);const I=function SF(e,n,t,r,i){const o=new zo(e,t,T);return o.multi=[],o.index=n,o.componentProviders=0,pD(o,i,r&&!t),o}(i?TF:MF,t.length,i,r,c);!i&&E&&(t[m].providerFactory=I),Th(o,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,i&&(a.providerIndexes+=1048576),t.push(I),s.push(I)}else Th(o,e,h>-1?h:m,pD(t[i?m:h],c,!i&&r));!i&&r&&E&&t[m].componentProviders++}}}function Th(e,n,t,r){const i=kr(n),o=function h0(e){return!!e.useClass}(n);if(i||o){const l=(o?W(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!i&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[r,l]):c[u+1].push(r,l)}else c.push(t,l)}}}function pD(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function Sh(e,n,t,r){for(let i=t;i{t.providersResolver=(r,i)=>function IF(e,n,t){const r=Z();if(r.firstCreatePass){const i=zt(e);Mh(t,r.data,r.blueprint,i,!0),Mh(n,r.data,r.blueprint,i,!1)}}(r,i?i(e):e,n)}}function _o(e,n,t,r){return function vD(e,n,t,r,i,o){const s=n+t;return Re(e,s,i)?Dn(e,s+1,o?r.call(o,i):r(i)):Hs(e,s+1)}(D(),gt(),e,n,t,r)}function xh(e,n,t,r,i){return function _D(e,n,t,r,i,o,s){const a=n+t;return ni(e,a,i,o)?Dn(e,a+2,s?r.call(s,i,o):r(i,o)):Hs(e,a+2)}(D(),gt(),e,n,t,r,i)}function Fe(e,n,t,r,i,o){return yD(D(),gt(),e,n,t,r,i,o)}function Hs(e,n){const t=e[n];return t===J?void 0:t}function yD(e,n,t,r,i,o,s,a){const l=n+t;return function Gl(e,n,t,r,i){const o=ni(e,n,t,r);return Re(e,n+2,i)||o}(e,l,i,o,s)?Dn(e,l+3,a?r.call(a,i,o,s):r(i,o,s)):Hs(e,l+3)}let wL=(()=>{class e{zone=A(de);changeDetectionScheduler=A(Vn);applicationRef=A(Yt);_onMicrotaskEmptySubscription;initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static \u0275fac=function(r){return new(r||e)};static \u0275prov=re({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Fh({ngZoneFactory:e,ignoreChangesOutsideZone:n,scheduleInRootZone:t}){return e??=()=>new de({...Lh(),scheduleInRootZone:t}),[{provide:de,useFactory:e},{provide:en,multi:!0,useFactory:()=>{const r=A(wL,{optional:!0});return()=>r.initialize()}},{provide:en,multi:!0,useFactory:()=>{const r=A(bL);return()=>{r.initialize()}}},!0===n?{provide:zm,useValue:!0}:[],{provide:gd,useValue:t??Um}]}function Lh(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}let bL=(()=>{class e{subscription=new Rt;initialized=!1;zone=A(de);pendingTasks=A(Xn);initialize(){if(this.initialized)return;this.initialized=!0;let t=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(t=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{de.assertNotInAngularZone(),queueMicrotask(()=>{null!==t&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(t),t=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{de.assertInAngularZone(),t??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static \u0275fac=function(r){return new(r||e)};static \u0275prov=re({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Us=(()=>{class e{appRef=A(Yt);taskService=A(Xn);ngZone=A(de);zonelessEnabled=A(Zo);tracing=A(Hi,{optional:!0});disableScheduling=A(zm,{optional:!0})??!1;zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new Rt;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(el):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(A(gd,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()})),this.disableScheduling||=!this.zonelessEnabled&&(this.ngZone instanceof _d||!this.zoneIsDefined)}notify(t){if(!this.zonelessEnabled&&5===t)return;let r=!1;switch(t){case 0:this.appRef.dirtyFlags|=2;break;case 3:case 2:case 4:case 5:case 1:this.appRef.dirtyFlags|=4;break;case 8:this.appRef.deferredDirtyFlags|=8;break;case 6:case 14:this.appRef.dirtyFlags|=2,r=!0;break;case 13:this.appRef.dirtyFlags|=16,r=!0;break;case 12:r=!0;break;default:this.appRef.dirtyFlags|=8}if(this.appRef.tracingSnapshot=this.tracing?.snapshot(this.appRef.tracingSnapshot)??null,!this.shouldScheduleTick(r))return;const i=this.useMicrotaskScheduler?qm:Gm;this.pendingRenderTaskId=this.taskService.add(),this.cancelScheduledCallback=this.scheduleInRootZone?Zone.root.run(()=>i(()=>this.tick())):this.ngZone.runOutsideAngular(()=>i(()=>this.tick()))}shouldScheduleTick(t){return!(this.disableScheduling&&!t||this.appRef.destroyed||null!==this.pendingRenderTaskId||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(el+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;if(0===this.appRef.dirtyFlags)return void this.cleanup();!this.zonelessEnabled&&7&this.appRef.dirtyFlags&&(this.appRef.dirtyFlags|=1);const t=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(r){throw this.taskService.remove(t),r}finally{this.cleanup()}this.useMicrotaskScheduler=!0,qm(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(t)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,null!==this.pendingRenderTaskId){const t=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(t)}}static \u0275fac=function(r){return new(r||e)};static \u0275prov=re({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const gr=new R("",{providedIn:"root",factory:()=>A(gr,oe.Optional|oe.SkipSelf)||function EL(){return typeof $localize<"u"&&$localize.locale||rc}()}),dc=new R(""),xL=new R("");function $s(e){return!e.moduleRef}let zD=(()=>{class e{_injector;_modules=[];_destroyListeners=[];_destroyed=!1;constructor(t){this._injector=t}bootstrapModuleFactory(t,r){const i=r?.scheduleInRootZone,s=r?.ignoreChangesOutsideZone,a=[Fh({ngZoneFactory:()=>function FT(e="zone.js",n){return"noop"===e?new _d:"zone.js"===e?new de(n):e}(r?.ngZone,{...Lh({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}),scheduleInRootZone:i}),ignoreChangesOutsideZone:s}),{provide:Vn,useExisting:Us}],l=function pO(e,n,t){return new Kf(e,n,t,!1)}(t.moduleType,this.injector,a);return function $D(e){const n=$s(e)?e.r3Injector:e.moduleRef.injector,t=n.get(de);return t.run(()=>{$s(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();const r=n.get(_n,null);let i;if(t.runOutsideAngular(()=>{i=t.onError.subscribe({next:o=>{r.handleError(o)}})}),$s(e)){const o=()=>n.destroy(),s=e.platformInjector.get(dc);s.add(o),n.onDestroy(()=>{i.unsubscribe(),s.delete(o)})}else{const o=()=>e.moduleRef.destroy(),s=e.platformInjector.get(dc);s.add(o),e.moduleRef.onDestroy(()=>{Jl(e.allPlatformModules,e.moduleRef),i.unsubscribe(),s.delete(o)})}return function PA(e,n,t){try{const r=t();return Yl(r)?r.catch(i=>{throw n.runOutsideAngular(()=>e.handleError(i)),i}):r}catch(r){throw n.runOutsideAngular(()=>e.handleError(r)),r}}(r,t,()=>{const o=n.get(xC);return o.runInitializers(),o.donePromise.then(()=>{if(function _k(e){"string"==typeof e&&(vw=e.toLowerCase().replace(/_/g,"-"))}(n.get(gr,rc)||rc),!n.get(xL,!0))return $s(e)?n.get(Yt):(e.allPlatformModules.push(e.moduleRef),e.moduleRef);if($s(e)){const l=n.get(Yt);return void 0!==e.rootComponent&&l.bootstrap(e.rootComponent),l}return function OL(e,n){const t=e.injector.get(Yt);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(r=>t.bootstrap(r));else{if(!e.instance.ngDoBootstrap)throw new N(-403,!1);e.instance.ngDoBootstrap(t)}n.push(e)}(e.moduleRef,e.allPlatformModules),e.moduleRef})})})}({moduleRef:l,allPlatformModules:this._modules,platformInjector:this.injector})}bootstrapModule(t,r=[]){const i=RC({},r);return function CL(e,n,t){const r=new Jf(t);return Promise.resolve(r)}(0,0,t).then(o=>this.bootstrapModuleFactory(o,i))}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new N(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const t=this._injector.get(dc,null);t&&(t.forEach(r=>r()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static \u0275fac=function(r){return new(r||e)(se(We))};static \u0275prov=re({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),pr=null;const GD=new R("");function qD(e,n,t=[]){const r=`Platform: ${n}`,i=new R(r);return(o=[])=>{let s=Vh();if(!s||s.injector.get(GD,!1)){const a=[...t,...o,{provide:i,useValue:!0}];e?e(a):function AL(e){if(pr&&!pr.get(GD,!1))throw new N(400,!1);(function AC(){!function yM(e){sp=e}(()=>{throw new N(600,!1)})})(),pr=e;const n=e.get(zD);(function ZD(e){const n=e.get(Ed,null);jp(e,()=>{n?.forEach(t=>t())})})(e)}(function WD(e=[],n){return We.create({name:n,providers:[{provide:Lu,useValue:"platform"},{provide:dc,useValue:new Set([()=>pr=null])},...e]})}(a,r))}return function RL(){const n=Vh();if(!n)throw new N(401,!1);return n}()}}function Vh(){return pr?.get(zD)??null}let si=(()=>class e{static __NG_ELEMENT_ID__=FL})();function FL(e){return function LL(e,n,t){if($t(e)&&!t){const r=ht(e.index,n);return new vs(r,r)}return 175&e.type?new vs(n[15],n):null}(ie(),D(),!(16&~e))}class XD{constructor(){}supports(n){return zl(n)}create(n){return new jL(n)}}const BL=(e,n)=>n;class jL{length=0;collection;_linkedRecords=null;_unlinkedRecords=null;_previousItHead=null;_itHead=null;_itTail=null;_additionsHead=null;_additionsTail=null;_movesHead=null;_movesTail=null;_removalsHead=null;_removalsTail=null;_identityChangesHead=null;_identityChangesTail=null;_trackByFn;constructor(n){this._trackByFn=n||BL}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,r=this._removalsHead,i=0,o=null;for(;t||r;){const s=!r||t&&t.currentIndex{s=this._trackByFn(i,a),null!==t&&Object.is(t.trackById,s)?(r&&(t=this._verifyReinsertion(t,a,s,i)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,i),r=!0),t=t._next,i++}),this.length=i;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,r,i){let o;return null===n?o=this._itTail:(o=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,o,i)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(r,i))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,o,i)):n=this._addAfter(new UL(t,r),o,i),n}_verifyReinsertion(n,t,r,i){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==o?n=this._reinsertAfter(o,n._prev,i):n.currentIndex!=i&&(n.currentIndex=i,this._addToMoves(n,i)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const i=n._prevRemoved,o=n._nextRemoved;return null===i?this._removalsHead=o:i._nextRemoved=o,null===o?this._removalsTail=i:o._prevRemoved=i,this._insertAfter(n,t,r),this._addToMoves(n,r),n}_moveAfter(n,t,r){return this._unlink(n),this._insertAfter(n,t,r),this._addToMoves(n,r),n}_addAfter(n,t,r){return this._insertAfter(n,t,r),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,r){const i=null===t?this._itHead:t._next;return n._next=i,n._prev=t,null===i?this._itTail=n:i._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new eb),this._linkedRecords.put(n),n.currentIndex=r,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,r=n._next;return null===t?this._itHead=r:t._next=r,null===r?this._itTail=t:r._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new eb),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class UL{item;trackById;currentIndex=null;previousIndex=null;_nextPrevious=null;_prev=null;_next=null;_prevDup=null;_nextDup=null;_prevRemoved=null;_nextRemoved=null;_nextAdded=null;_nextMoved=null;_nextIdentityChange=null;constructor(n,t){this.item=n,this.trackById=t}}class $L{_head=null;_tail=null;add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let r;for(r=this._head;null!==r;r=r._nextDup)if((null===t||t<=r.currentIndex)&&Object.is(r.trackById,n))return r;return null}remove(n){const t=n._prevDup,r=n._nextDup;return null===t?this._head=r:t._nextDup=r,null===r?this._tail=t:r._prevDup=t,null===this._head}}class eb{map=new Map;put(n){const t=n.trackById;let r=this.map.get(t);r||(r=new $L,this.map.set(t,r)),r.add(n)}get(n,t){const i=this.map.get(n);return i?i.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function tb(e,n,t){const r=e.previousIndex;if(null===r)return r;let i=0;return t&&r{if(t&&t.key===i)this._maybeAddToChanges(t,r),this._appendAfter=t,t=t._next;else{const o=this._getOrCreateRecordForKey(i,r);t=this._insertBeforeOrAppend(t,o)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let r=t;null!==r;r=r._nextRemoved)r===this._mapHead&&(this._mapHead=null),this._records.delete(r.key),r._nextRemoved=r._next,r.previousValue=r.currentValue,r.currentValue=null,r._prev=null,r._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const r=n._prev;return t._next=n,t._prev=r,n._prev=t,r&&(r._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const i=this._records.get(n);this._maybeAddToChanges(i,t);const o=i._prev,s=i._next;return o&&(o._next=s),s&&(s._prev=o),i._next=null,i._prev=null,i}const r=new GL(n);return this._records.set(n,r),r.currentValue=t,this._addToAdditions(r),r}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(r=>t(n[r],r))}}class GL{key;previousValue=null;currentValue=null;_nextPrevious=null;_next=null;_prev=null;_nextAdded=null;_nextRemoved=null;_nextChanged=null;constructor(n){this.key=n}}function rb(){return new $h([new XD])}let $h=(()=>{class e{factories;static \u0275prov=re({token:e,providedIn:"root",factory:rb});constructor(t){this.factories=t}static create(t,r){if(null!=r){const i=r.factories.slice();t=t.concat(i)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||rb()),deps:[[e,new Nu,new Su]]}}find(t){const r=this.factories.find(i=>i.supports(t));if(null!=r)return r;throw new N(901,!1)}}return e})();function ib(){return new gc([new nb])}let gc=(()=>{class e{static \u0275prov=re({token:e,providedIn:"root",factory:ib});factories;constructor(t){this.factories=t}static create(t,r){if(r){const i=r.factories.slice();t=t.concat(i)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||ib()),deps:[[e,new Nu,new Su]]}}find(t){const r=this.factories.find(i=>i.supports(t));if(r)return r;throw new N(901,!1)}}return e})();const ZL=qD(null,"core",[]);let QL=(()=>{class e{constructor(t){}static \u0275fac=function(r){return new(r||e)(se(Yt))};static \u0275mod=cr({type:e});static \u0275inj=Nn({})}return e})();function Mn(e,n){Xe("NgSignals");const t=function mM(e){const n=Object.create(vM);n.computation=e;const t=()=>{if(Ao(n),Oo(n),n.value===Gn)throw n.error;return n.value};return t[Ke]=n,t}(e);return n?.equal&&(t[Ke].equal=n.equal),t}function it(e){const n=te(null);try{return e()}finally{te(n)}}let Lb=null;function Qs(){return Lb}class JP{}const li=new R(""),ig=/\s+/,Gb=[];let Do=(()=>{class e{_ngEl;_renderer;initialClasses=Gb;rawClass;stateMap=new Map;constructor(t,r){this._ngEl=t,this._renderer=r}set klass(t){this.initialClasses=null!=t?t.trim().split(ig):Gb}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(ig):t}ngDoCheck(){for(const r of this.initialClasses)this._updateState(r,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const r of t)this._updateState(r,!0);else if(null!=t)for(const r of Object.keys(t))this._updateState(r,!!t[r]);this._applyStateDiff()}_updateState(t,r){const i=this.stateMap.get(t);void 0!==i?(i.enabled!==r&&(i.changed=!0,i.enabled=r),i.touched=!0):this.stateMap.set(t,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const r=t[0],i=t[1];i.changed?(this._toggleClass(r,i.enabled),i.changed=!1):i.touched||(i.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),i.touched=!1}}_toggleClass(t,r){(t=t.trim()).length>0&&t.split(ig).forEach(i=>{r?this._renderer.addClass(this._ngEl.nativeElement,i):this._renderer.removeClass(this._ngEl.nativeElement,i)})}static \u0275fac=function(r){return new(r||e)(T(pt),T(on))};static \u0275dir=Y({type:e,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"}})}return e})();class BV{$implicit;ngForOf;index;count;constructor(n,t,r,i){this.$implicit=n,this.ngForOf=t,this.index=r,this.count=i}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let ci=(()=>{class e{_viewContainer;_template;_differs;set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}_ngForOf=null;_ngForOfDirty=!0;_differ=null;_trackByFn;constructor(t,r,i){this._viewContainer=t,this._template=r,this._differs=i}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const r=this._viewContainer;t.forEachOperation((i,o,s)=>{if(null==i.previousIndex)r.createEmbeddedView(this._template,new BV(i.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)r.remove(null===o?void 0:o);else if(null!==o){const a=r.get(o);r.move(a,s),Wb(a,i)}});for(let i=0,o=r.length;i{Wb(r.get(i.currentIndex),i)})}static ngTemplateContextGuard(t,r){return!0}static \u0275fac=function(r){return new(r||e)(T(wn),T(Bn),T($h))};static \u0275dir=Y({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}})}return e})();function Wb(e,n){e.context.$implicit=n.item}let zn=(()=>{class e{_viewContainer;_context=new jV;_thenTemplateRef=null;_elseTemplateRef=null;_thenViewRef=null;_elseViewRef=null;constructor(t,r){this._viewContainer=t,this._thenTemplateRef=r}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Zb("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Zb("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngIfUseIfTypeGuard;static ngTemplateGuard_ngIf;static ngTemplateContextGuard(t,r){return!0}static \u0275fac=function(r){return new(r||e)(T(wn),T(Bn))};static \u0275dir=Y({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}})}return e})();class jV{$implicit=null;ngIf=null}function Zb(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${$e(n)}'.`)}let Yb=(()=>{class e{_ngEl;_differs;_renderer;_ngStyle=null;_differ=null;constructor(t,r,i){this._ngEl=t,this._differs=r,this._renderer=i}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,r){const[i,o]=t.split("."),s=-1===i.indexOf("-")?void 0:sr.DashCase;null!=r?this._renderer.setStyle(this._ngEl.nativeElement,i,o?`${r}${o}`:r,s):this._renderer.removeStyle(this._ngEl.nativeElement,i,s)}_applyChanges(t){t.forEachRemovedItem(r=>this._setStyle(r.key,null)),t.forEachAddedItem(r=>this._setStyle(r.key,r.currentValue)),t.forEachChangedItem(r=>this._setStyle(r.key,r.currentValue))}static \u0275fac=function(r){return new(r||e)(T(pt),T(gc),T(on))};static \u0275dir=Y({type:e,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}})}return e})(),Kb=(()=>{class e{_viewContainerRef;_viewRef=null;ngTemplateOutletContext=null;ngTemplateOutlet=null;ngTemplateOutletInjector=null;constructor(t){this._viewContainerRef=t}ngOnChanges(t){if(this._shouldRecreateView(t)){const r=this._viewContainerRef;if(this._viewRef&&r.remove(r.indexOf(this._viewRef)),!this.ngTemplateOutlet)return void(this._viewRef=null);const i=this._createContextForwardProxy();this._viewRef=r.createEmbeddedView(this.ngTemplateOutlet,i,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(t){return!!t.ngTemplateOutlet||!!t.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(t,r,i)=>!!this.ngTemplateOutletContext&&Reflect.set(this.ngTemplateOutletContext,r,i),get:(t,r,i)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,r,i)}})}static \u0275fac=function(r){return new(r||e)(T(wn))};static \u0275dir=Y({type:e,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},features:[kn]})}return e})();let Xb=(()=>{class e{transform(t,r,i){if(null==t)return null;if(!this.supports(t))throw function un(e,n){return new N(2100,!1)}();return t.slice(r,i)}supports(t){return"string"==typeof t||Array.isArray(t)}static \u0275fac=function(r){return new(r||e)};static \u0275pipe=Nt({name:"slice",type:e,pure:!1})}return e})(),eE=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=cr({type:e});static \u0275inj=Nn({})}return e})();function nE(e){return"server"===e}class $2 extends JP{supportsDOMEvents=!0}class fg extends $2{static makeCurrent(){!function KP(e){Lb??=e}(new fg)}onAndCancel(n,t,r,i){return n.addEventListener(t,r,i),()=>{n.removeEventListener(t,r,i)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.remove()}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function z2(){return Xs=Xs||document.querySelector("base"),Xs?Xs.getAttribute("href"):null}();return null==t?null:function G2(e){return new URL(e,document.baseURI).pathname}(t)}resetBaseElement(){Xs=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return function VV(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const r=t.indexOf("="),[i,o]=-1==r?[t,""]:[t.slice(0,r),t.slice(r+1)];if(i.trim()===n)return decodeURIComponent(o)}return null}(document.cookie,n)}}let Xs=null,W2=(()=>{class e{build(){return new XMLHttpRequest}static \u0275fac=function(r){return new(r||e)};static \u0275prov=re({token:e,factory:e.\u0275fac})}return e})();const hg=new R("");let hE=(()=>{class e{_zone;_plugins;_eventNameToPlugin=new Map;constructor(t,r){this._zone=r,t.forEach(i=>{i.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,r,i,o){return this._findPluginFor(r).addEventListener(t,r,i,o)}getZone(){return this._zone}_findPluginFor(t){let r=this._eventNameToPlugin.get(t);if(r)return r;if(r=this._plugins.find(o=>o.supports(t)),!r)throw new N(5101,!1);return this._eventNameToPlugin.set(t,r),r}static \u0275fac=function(r){return new(r||e)(se(hg),se(de))};static \u0275prov=re({token:e,factory:e.\u0275fac})}return e})();class gE{_doc;constructor(n){this._doc=n}manager}const Vc="ng-app-id";function pE(e){for(const n of e)n.remove()}function mE(e,n){const t=n.createElement("style");return t.textContent=e,t}function gg(e,n){const t=n.createElement("link");return t.setAttribute("rel","stylesheet"),t.setAttribute("href",e),t}let vE=(()=>{class e{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;isServer;constructor(t,r,i,o={}){this.doc=t,this.appId=r,this.nonce=i,this.isServer=nE(o),function Z2(e,n,t,r){const i=e.head?.querySelectorAll(`style[${Vc}="${n}"],link[${Vc}="${n}"]`);if(i)for(const o of i)o.removeAttribute(Vc),o instanceof HTMLLinkElement?r.set(o.href.slice(o.href.lastIndexOf("/")+1),{usage:0,elements:[o]}):o.textContent&&t.set(o.textContent,{usage:0,elements:[o]})}(t,r,this.inline,this.external),this.hosts.add(t.head)}addStyles(t,r){for(const i of t)this.addUsage(i,this.inline,mE);r?.forEach(i=>this.addUsage(i,this.external,gg))}removeStyles(t,r){for(const i of t)this.removeUsage(i,this.inline);r?.forEach(i=>this.removeUsage(i,this.external))}addUsage(t,r,i){const o=r.get(t);o?o.usage++:r.set(t,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,i(t,this.doc)))})}removeUsage(t,r){const i=r.get(t);i&&(i.usage--,i.usage<=0&&(pE(i.elements),r.delete(t)))}ngOnDestroy(){for(const[,{elements:t}]of[...this.inline,...this.external])pE(t);this.hosts.clear()}addHost(t){this.hosts.add(t);for(const[r,{elements:i}]of this.inline)i.push(this.addElement(t,mE(r,this.doc)));for(const[r,{elements:i}]of this.external)i.push(this.addElement(t,gg(r,this.doc)))}removeHost(t){this.hosts.delete(t)}addElement(t,r){return this.nonce&&r.setAttribute("nonce",this.nonce),this.isServer&&r.setAttribute(Vc,this.appId),t.appendChild(r)}static \u0275fac=function(r){return new(r||e)(se(li),se(qr),se(yv,8),se(Pi))};static \u0275prov=re({token:e,factory:e.\u0275fac})}return e})();const pg={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},mg=/%COMP%/g,eH=new R("",{providedIn:"root",factory:()=>!0});function yE(e,n){return n.map(t=>t.replace(mg,e))}let CE=(()=>{class e{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;platformId;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;platformIsServer;constructor(t,r,i,o,s,a,l,c=null,u=null){this.eventManager=t,this.sharedStylesHost=r,this.appId=i,this.removeStylesOnCompDestroy=o,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.tracingService=u,this.platformIsServer=nE(a),this.defaultRenderer=new vg(t,s,l,this.platformIsServer,this.tracingService)}createRenderer(t,r){if(!t||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===Zt.ShadowDom&&(r={...r,encapsulation:Zt.Emulated});const i=this.getOrCreateRenderer(t,r);return i instanceof DE?i.applyToHost(t):i instanceof _g&&i.applyStyles(),i}getOrCreateRenderer(t,r){const i=this.rendererByCompId;let o=i.get(r.id);if(!o){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,d=this.platformIsServer,g=this.tracingService;switch(r.encapsulation){case Zt.Emulated:o=new DE(l,c,r,this.appId,u,s,a,d,g);break;case Zt.ShadowDom:return new iH(l,c,t,r,s,a,this.nonce,d,g);default:o=new _g(l,c,r,u,s,a,d,g)}i.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(t){this.rendererByCompId.delete(t)}static \u0275fac=function(r){return new(r||e)(se(hE),se(vE),se(qr),se(eH),se(li),se(Pi),se(de),se(yv),se(Hi,8))};static \u0275prov=re({token:e,factory:e.\u0275fac})}return e})();class vg{eventManager;doc;ngZone;platformIsServer;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(n,t,r,i,o){this.eventManager=n,this.doc=t,this.ngZone=r,this.platformIsServer=i,this.tracingService=o}destroy(){}destroyNode=null;createElement(n,t){return t?this.doc.createElementNS(pg[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(wE(n)?n.content:n).appendChild(t)}insertBefore(n,t,r){n&&(wE(n)?n.content:n).insertBefore(t,r)}removeChild(n,t){t.remove()}selectRootElement(n,t){let r="string"==typeof n?this.doc.querySelector(n):n;if(!r)throw new N(-5104,!1);return t||(r.textContent=""),r}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,r,i){if(i){t=i+":"+t;const o=pg[i];o?n.setAttributeNS(o,t,r):n.setAttribute(t,r)}else n.setAttribute(t,r)}removeAttribute(n,t,r){if(r){const i=pg[r];i?n.removeAttributeNS(i,t):n.removeAttribute(`${r}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,r,i){i&(sr.DashCase|sr.Important)?n.style.setProperty(t,r,i&sr.Important?"important":""):n.style[t]=r}removeStyle(n,t,r){r&sr.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,r){null!=n&&(n[t]=r)}setValue(n,t){n.nodeValue=t}listen(n,t,r,i){if("string"==typeof n&&!(n=Qs().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${t}`);let o=this.decoratePreventDefault(r);return null!==this.tracingService&&this.tracingService.wrapEventListener&&(o=this.tracingService.wrapEventListener(n,t,o)),this.eventManager.addEventListener(n,t,o,i)}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function wE(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class iH extends vg{sharedStylesHost;hostEl;shadowRoot;constructor(n,t,r,i,o,s,a,l,c){super(n,o,s,l,c),this.sharedStylesHost=t,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let u=i.styles;u=yE(i.id,u);for(const g of u){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=g,this.shadowRoot.appendChild(h)}const d=i.getExternalStyles?.();if(d)for(const g of d){const h=gg(g,o);a&&h.setAttribute("nonce",a),this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,r){return super.insertBefore(this.nodeOrShadowRoot(n),t,r)}removeChild(n,t){return super.removeChild(null,t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class _g extends vg{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(n,t,r,i,o,s,a,l,c){super(n,o,s,a,l),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=i;let u=r.styles;this.styles=c?yE(c,u):u,this.styleUrls=r.getExternalStyles?.(c)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}}class DE extends _g{contentAttr;hostAttr;constructor(n,t,r,i,o,s,a,l,c){const u=i+"-"+r.id;super(n,t,r,o,s,a,l,c,u),this.contentAttr=function tH(e){return"_ngcontent-%COMP%".replace(mg,e)}(u),this.hostAttr=function nH(e){return"_nghost-%COMP%".replace(mg,e)}(u)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const r=super.createElement(n,t);return super.setAttribute(r,this.contentAttr,""),r}}let oH=(()=>{class e extends gE{constructor(t){super(t)}supports(t){return!0}addEventListener(t,r,i,o){return t.addEventListener(r,i,o),()=>this.removeEventListener(t,r,i,o)}removeEventListener(t,r,i,o){return t.removeEventListener(r,i,o)}static \u0275fac=function(r){return new(r||e)(se(li))};static \u0275prov=re({token:e,factory:e.\u0275fac})}return e})();const bE=["alt","control","meta","shift"],sH={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},aH={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let lH=(()=>{class e extends gE{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,r,i,o){const s=e.parseEventName(r),a=e.eventCallback(s.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Qs().onAndCancel(t,s.domEventName,a,o))}static parseEventName(t){const r=t.toLowerCase().split("."),i=r.shift();if(0===r.length||"keydown"!==i&&"keyup"!==i)return null;const o=e._normalizeKey(r.pop());let s="",a=r.indexOf("code");if(a>-1&&(r.splice(a,1),s="code."),bE.forEach(c=>{const u=r.indexOf(c);u>-1&&(r.splice(u,1),s+=c+".")}),s+=o,0!=r.length||0===o.length)return null;const l={};return l.domEventName=i,l.fullKey=s,l}static matchEventFullKeyCode(t,r){let i=sH[t.key]||t.key,o="";return r.indexOf("code.")>-1&&(i=t.code,o="code."),!(null==i||!i)&&(i=i.toLowerCase()," "===i?i="space":"."===i&&(i="dot"),bE.forEach(s=>{s!==i&&(0,aH[s])(t)&&(o+=s+".")}),o+=i,o===r)}static eventCallback(t,r,i){return o=>{e.matchEventFullKeyCode(o,t)&&i.runGuarded(()=>r(o))}}static _normalizeKey(t){return"esc"===t?"escape":t}static \u0275fac=function(r){return new(r||e)(se(li))};static \u0275prov=re({token:e,factory:e.\u0275fac})}return e})();const fH=qD(ZL,"browser",[{provide:Pi,useValue:"browser"},{provide:Ed,useValue:function cH(){fg.makeCurrent()},multi:!0},{provide:li,useFactory:function dH(){return function sS(e){bd=e}(document),document},deps:[]}]),ME=[{provide:Ql,useClass:class q2{addToWindow(n){Ie.getAngularTestability=(r,i=!0)=>{const o=n.findTestabilityInTree(r,i);if(null==o)throw new N(5103,!1);return o},Ie.getAllAngularTestabilities=()=>n.getAllTestabilities(),Ie.getAllAngularRootElements=()=>n.getAllRootElements(),Ie.frameworkStabilizers||(Ie.frameworkStabilizers=[]),Ie.frameworkStabilizers.push(r=>{const i=Ie.getAllAngularTestabilities();let o=i.length;const s=function(){o--,0==o&&r()};i.forEach(a=>{a.whenStable(s)})})}findTestabilityInTree(n,t,r){return null==t?null:n.getTestability(t)??(r?Qs().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:TC,useClass:sh,deps:[de,ah,Ql]},{provide:sh,useClass:sh,deps:[de,ah,Ql]}],TE=[{provide:Lu,useValue:"root"},{provide:_n,useFactory:function uH(){return new _n},deps:[]},{provide:hg,useClass:oH,multi:!0,deps:[li,de,Pi]},{provide:hg,useClass:lH,multi:!0,deps:[li]},CE,vE,hE,{provide:Vf,useExisting:CE},{provide:class p2{},useClass:W2,deps:[]},[]];let hH=(()=>{class e{constructor(){}static \u0275fac=function(r){return new(r||e)};static \u0275mod=cr({type:e});static \u0275inj=Nn({providers:[...TE,...ME],imports:[eE,QL]})}return e})();function vr(e){return this instanceof vr?(this.v=e,this):new vr(e)}function RE(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function Dg(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(o){t[o]=e[o]&&function(s){return new Promise(function(a,l){!function i(o,s,a,l){Promise.resolve(l).then(function(c){o({value:c,done:a})},s)}(a,l,(s=e[o](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const kE=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function FE(e){return Be(e?.then)}function LE(e){return Be(e[hu])}function PE(e){return Symbol.asyncIterator&&Be(e?.[Symbol.asyncIterator])}function VE(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const HE=function $H(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function BE(e){return Be(e?.[HE])}function jE(e){return function AE(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,r=t.apply(e,n||[]),o=[];return i=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",function s(h){return function(m){return Promise.resolve(m).then(h,d)}}),i[Symbol.asyncIterator]=function(){return this},i;function a(h,m){r[h]&&(i[h]=function(C){return new Promise(function(E,I){o.push([h,C,E,I])>1||l(h,C)})},m&&(i[h]=m(i[h])))}function l(h,m){try{!function c(h){h.value instanceof vr?Promise.resolve(h.value.v).then(u,d):g(o[0][2],h)}(r[h](m))}catch(C){g(o[0][3],C)}}function u(h){l("next",h)}function d(h){l("throw",h)}function g(h,m){h(m),o.shift(),o.length&&l(o[0][0],o[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:r,done:i}=yield vr(t.read());if(i)return yield vr(void 0);yield yield vr(r)}}finally{t.releaseLock()}})}function UE(e){return Be(e?.getReader)}function ta(e){if(e instanceof kt)return e;if(null!=e){if(LE(e))return function zH(e){return new kt(n=>{const t=e[hu]();if(Be(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(kE(e))return function GH(e){return new kt(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,pp)})}(e);if(PE(e))return $E(e);if(BE(e))return function WH(e){return new kt(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(UE(e))return function ZH(e){return $E(jE(e))}(e)}throw VE(e)}function $E(e){return new kt(n=>{(function QH(e,n){var t,r,i,o;return function xE(e,n,t,r){return new(t||(t=Promise))(function(o,s){function a(u){try{c(r.next(u))}catch(d){s(d)}}function l(u){try{c(r.throw(u))}catch(d){s(d)}}function c(u){u.done?o(u.value):function i(o){return o instanceof t?o:new t(function(s){s(o)})}(u.value).then(a,l)}c((r=r.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=RE(e);!(r=yield t.next()).done;)if(n.next(r.value),n.closed)return}catch(s){i={error:s}}finally{try{r&&!r.done&&(o=t.return)&&(yield o.call(t))}finally{if(i)throw i.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function ui(e,n,t,r=0,i=!1){const o=n.schedule(function(){t(),i?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(o),!i)return o}function zE(e,n=0){return Nr((t,r)=>{t.subscribe(qn(r,i=>ui(r,e,()=>r.next(i),n),()=>ui(r,e,()=>r.complete(),n),i=>ui(r,e,()=>r.error(i),n)))})}function GE(e,n=0){return Nr((t,r)=>{r.add(e.schedule(()=>t.subscribe(r),n))})}function qE(e,n){if(!e)throw new Error("Iterable cannot be null");return new kt(t=>{ui(t,n,()=>{const r=e[Symbol.asyncIterator]();ui(t,n,()=>{r.next().then(i=>{i.done?t.complete():t.next(i.value)})},0,!0)})})}const{isArray:rB}=Array,{getPrototypeOf:iB,prototype:oB,keys:sB}=Object;const{isArray:uB}=Array;function hB(e,n){return e.reduce((t,r,i)=>(t[r]=n[i],t),{})}function gB(...e){const n=function cB(e){return Be(function Eg(e){return e[e.length-1]}(e))?e.pop():void 0}(e),{args:t,keys:r}=function aB(e){if(1===e.length){const n=e[0];if(rB(n))return{args:n,keys:null};if(function lB(e){return e&&"object"==typeof e&&iB(e)===oB}(n)){const t=sB(n);return{args:t.map(r=>n[r]),keys:t}}}return{args:e,keys:null}}(e),i=new kt(o=>{const{length:s}=t;if(!s)return void o.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!d)&&(c||o.next(r?hB(r,a):a),o.complete())}))}});return n?i.pipe(function fB(e){return pu(n=>function dB(e,n){return uB(n)?e(...n):e(n)}(e,n))}(n)):i}let WE=(()=>{class e{_renderer;_elementRef;onChange=t=>{};onTouched=()=>{};constructor(t,r){this._renderer=t,this._elementRef=r}setProperty(t,r){this._renderer.setProperty(this._elementRef.nativeElement,t,r)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static \u0275fac=function(r){return new(r||e)(T(on),T(pt))};static \u0275dir=Y({type:e})}return e})(),di=(()=>{class e extends WE{static \u0275fac=(()=>{let t;return function(i){return(t||(t=lt(e)))(i||e)}})();static \u0275dir=Y({type:e,features:[ue]})}return e})();const dn=new R(""),pB={provide:dn,useExisting:ve(()=>Ig),multi:!0};let Ig=(()=>{class e extends di{writeValue(t){this.setProperty("checked",t)}static \u0275fac=(()=>{let t;return function(i){return(t||(t=lt(e)))(i||e)}})();static \u0275dir=Y({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(r,i){1&r&&q("change",function(s){return i.onChange(s.target.checked)})("blur",function(){return i.onTouched()})},standalone:!1,features:[Me([pB]),ue]})}return e})();const mB={provide:dn,useExisting:ve(()=>na),multi:!0},_B=new R("");let na=(()=>{class e extends WE{_compositionMode;_composing=!1;constructor(t,r,i){super(t,r),this._compositionMode=i,null==this._compositionMode&&(this._compositionMode=!function vB(){const e=Qs()?Qs().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static \u0275fac=function(r){return new(r||e)(T(on),T(pt),T(_B,8))};static \u0275dir=Y({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(r,i){1&r&&q("input",function(s){return i._handleInput(s.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(s){return i._compositionEnd(s.target.value)})},standalone:!1,features:[Me([mB]),ue]})}return e})();const ct=new R(""),yr=new R("");function rI(e){return null!=e}function iI(e){return Yl(e)?function nB(e,n){return n?function tB(e,n){if(null!=e){if(LE(e))return function YH(e,n){return ta(e).pipe(GE(n),zE(n))}(e,n);if(kE(e))return function JH(e,n){return new kt(t=>{let r=0;return n.schedule(function(){r===e.length?t.complete():(t.next(e[r++]),t.closed||this.schedule())})})}(e,n);if(FE(e))return function KH(e,n){return ta(e).pipe(GE(n),zE(n))}(e,n);if(PE(e))return qE(e,n);if(BE(e))return function XH(e,n){return new kt(t=>{let r;return ui(t,n,()=>{r=e[HE](),ui(t,n,()=>{let i,o;try{({value:i,done:o}=r.next())}catch(s){return void t.error(s)}o?t.complete():t.next(i)},0,!0)}),()=>Be(r?.return)&&r.return()})}(e,n);if(UE(e))return function eB(e,n){return qE(jE(e),n)}(e,n)}throw VE(e)}(e,n):ta(e)}(e):e}function oI(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function sI(e,n){return n.map(t=>t(e))}function aI(e){return e.map(n=>function CB(e){return!e.validate}(n)?n:t=>n.validate(t))}function Mg(e){return null!=e?function lI(e){if(!e)return null;const n=e.filter(rI);return 0==n.length?null:function(t){return oI(sI(t,n))}}(aI(e)):null}function Tg(e){return null!=e?function cI(e){if(!e)return null;const n=e.filter(rI);return 0==n.length?null:function(t){return gB(sI(t,n).map(iI)).pipe(pu(oI))}}(aI(e)):null}function uI(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function Sg(e){return e?Array.isArray(e)?e:[e]:[]}function Bc(e,n){return Array.isArray(e)?e.includes(n):e===n}function hI(e,n){const t=Sg(n);return Sg(e).forEach(i=>{Bc(t,i)||t.push(i)}),t}function gI(e,n){return Sg(n).filter(t=>!Bc(e,t))}class pI{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Mg(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=Tg(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class Dt extends pI{name;get formDirective(){return null}get path(){return null}}class Cr extends pI{_parent=null;name=null;valueAccessor=null}class mI{_cd;constructor(n){this._cd=n}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}}let jc=(()=>{class e extends mI{constructor(t){super(t)}static \u0275fac=function(r){return new(r||e)(T(Cr,2))};static \u0275dir=Y({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(r,i){2&r&&jn("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},standalone:!1,features:[ue]})}return e})();const ra="VALID",$c="INVALID",Eo="PENDING",ia="DISABLED";class Io{}class _I extends Io{value;source;constructor(n,t){super(),this.value=n,this.source=t}}class Og extends Io{pristine;source;constructor(n,t){super(),this.pristine=n,this.source=t}}class Ag extends Io{touched;source;constructor(n,t){super(),this.touched=n,this.source=t}}class zc extends Io{status;source;constructor(n,t){super(),this.status=n,this.source=t}}function Gc(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class Fg{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(n,t){this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get status(){return it(this.statusReactive)}set status(n){it(()=>this.statusReactive.set(n))}_status=Mn(()=>this.statusReactive());statusReactive=Gr(void 0);get valid(){return this.status===ra}get invalid(){return this.status===$c}get pending(){return this.status==Eo}get disabled(){return this.status===ia}get enabled(){return this.status!==ia}errors;get pristine(){return it(this.pristineReactive)}set pristine(n){it(()=>this.pristineReactive.set(n))}_pristine=Mn(()=>this.pristineReactive());pristineReactive=Gr(!0);get dirty(){return!this.pristine}get touched(){return it(this.touchedReactive)}set touched(n){it(()=>this.touchedReactive.set(n))}_touched=Mn(()=>this.touchedReactive());touchedReactive=Gr(!1);get untouched(){return!this.touched}_events=new fn;events=this._events.asObservable();valueChanges;statusChanges;get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(hI(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(hI(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(gI(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(gI(n,this._rawAsyncValidators))}hasValidator(n){return Bc(this._rawValidators,n)}hasAsyncValidator(n){return Bc(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){const t=!1===this.touched;this.touched=!0;const r=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsTouched({...n,sourceControl:r}),t&&!1!==n.emitEvent&&this._events.next(new Ag(!0,r))}markAllAsTouched(n={}){this.markAsTouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:this}),this._forEachChild(t=>t.markAllAsTouched(n))}markAsUntouched(n={}){const t=!0===this.touched;this.touched=!1,this._pendingTouched=!1;const r=n.sourceControl??this;this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:r})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,r),t&&!1!==n.emitEvent&&this._events.next(new Ag(!1,r))}markAsDirty(n={}){const t=!0===this.pristine;this.pristine=!1;const r=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsDirty({...n,sourceControl:r}),t&&!1!==n.emitEvent&&this._events.next(new Og(!1,r))}markAsPristine(n={}){const t=!1===this.pristine;this.pristine=!0,this._pendingDirty=!1;const r=n.sourceControl??this;this._forEachChild(i=>{i.markAsPristine({onlySelf:!0,emitEvent:n.emitEvent})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n,r),t&&!1!==n.emitEvent&&this._events.next(new Og(!0,r))}markAsPending(n={}){this.status=Eo;const t=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new zc(this.status,t)),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.markAsPending({...n,sourceControl:t})}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=ia,this.errors=null,this._forEachChild(i=>{i.disable({...n,onlySelf:!0})}),this._updateValue();const r=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new _I(this.value,r)),this._events.next(new zc(this.status,r)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t},this),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=ra,this._forEachChild(r=>{r.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t},this),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(n,t){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine({},t),this._parent._updateTouched({},t))}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){const r=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===ra||this.status===Eo)&&this._runAsyncValidator(r,n.emitEvent)}const t=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new _I(this.value,t)),this._events.next(new zc(this.status,t)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity({...n,sourceControl:t})}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?ia:ra}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n,t){if(this.asyncValidator){this.status=Eo,this._hasOwnPendingAsyncValidator={emitEvent:!1!==t};const r=iI(this.asyncValidator(this));this._asyncValidationSubscription=r.subscribe(i=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(i,{emitEvent:t,shouldHaveEmitted:n})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();const n=this._hasOwnPendingAsyncValidator?.emitEvent??!1;return this._hasOwnPendingAsyncValidator=null,n}return!1}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent,this,t.shouldHaveEmitted)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((r,i)=>r&&r._find(i),this)}getError(n,t){const r=t?this.get(t):this;return r&&r.errors?r.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n,t,r){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),(n||r)&&this._events.next(new zc(this.status,t)),this._parent&&this._parent._updateControlsErrors(n,t,r)}_initObservables(){this.valueChanges=new we,this.statusChanges=new we}_calculateStatus(){return this._allControlsDisabled()?ia:this.errors?$c:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Eo)?Eo:this._anyControlsHaveStatus($c)?$c:ra}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n,t){const r=!this._anyControlsDirty(),i=this.pristine!==r;this.pristine=r,this._parent&&!n.onlySelf&&this._parent._updatePristine(n,t),i&&this._events.next(new Og(this.pristine,t))}_updateTouched(n={},t){this.touched=this._anyControlsTouched(),this._events.next(new Ag(this.touched,t)),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,t)}_onDisabledChange=[];_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Gc(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function SB(e){return Array.isArray(e)?Mg(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function NB(e){return Array.isArray(e)?Tg(e):e||null}(this._rawAsyncValidators)}}const Mo=new R("",{providedIn:"root",factory:()=>qc}),qc="always";function oa(e,n,t=qc){(function Pg(e,n){const t=function dI(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(uI(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const r=function fI(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(uI(r,n.asyncValidator)):"function"==typeof r&&e.setAsyncValidators([r]);const i=()=>e.updateValueAndValidity();Qc(n._rawValidators,i),Qc(n._rawAsyncValidators,i)})(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function AB(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&wI(e,n)})}(e,n),function kB(e,n){const t=(r,i)=>{n.valueAccessor.writeValue(r),i&&n.viewToModelUpdate(r)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function RB(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&wI(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function OB(e,n){if(n.valueAccessor.setDisabledState){const t=r=>{n.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function Qc(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function wI(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function EI(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function II(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}Promise.resolve();const MI=class extends Fg{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(n=null,t,r){super(function Rg(e){return(Gc(e)?e.validators:e)||null}(t),function kg(e,n){return(Gc(n)?n.asyncValidators:e)||null}(r,t)),this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Gc(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=II(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(r=>r(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){EI(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){EI(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){II(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},UB={provide:Cr,useExisting:ve(()=>aa)},NI=Promise.resolve();let aa=(()=>{class e extends Cr{_changeDetectorRef;callSetDisabledState;control=new MI;static ngAcceptInputType_isDisabled;_registered=!1;viewModel;name="";isDisabled;model;options;update=new we;constructor(t,r,i,o,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this._parent=t,this._setValidators(r),this._setAsyncValidators(i),this.valueAccessor=function Bg(e,n){if(!n)return null;let t,r,i;return Array.isArray(n),n.forEach(o=>{o.constructor===na?t=o:function PB(e){return Object.getPrototypeOf(e.constructor)===di}(o)?r=o:i=o}),i||r||t||null}(0,o)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const r=t.name.previousValue;this.formDirective.removeControl({name:r,path:this._getPath(r)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function Hg(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){oa(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){NI.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const r=t.isDisabled.currentValue,i=0!==r&&function qh(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(r);NI.then(()=>{i&&!this.control.disabled?this.control.disable():!i&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function Wc(e,n){return[...n.path,e]}(t,this._parent):[t]}static \u0275fac=function(r){return new(r||e)(T(Dt,9),T(ct,10),T(yr,10),T(dn,10),T(si,8),T(Mo,8))};static \u0275dir=Y({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:!1,features:[Me([UB]),ue,kn]})}return e})();const WB={provide:dn,useExisting:ve(()=>Ug),multi:!0};let Ug=(()=>{class e extends di{writeValue(t){this.setProperty("value",parseFloat(t))}registerOnChange(t){this.onChange=r=>{t(""==r?null:parseFloat(r))}}static \u0275fac=(()=>{let t;return function(i){return(t||(t=lt(e)))(i||e)}})();static \u0275dir=Y({type:e,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function(r,i){1&r&&q("change",function(s){return i.onChange(s.target.value)})("input",function(s){return i.onChange(s.target.value)})("blur",function(){return i.onTouched()})},standalone:!1,features:[Me([WB]),ue]})}return e})();const XB={provide:dn,useExisting:ve(()=>la),multi:!0};function LI(e,n){return null==e?`${n}`:(n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let la=(()=>{class e extends di{value;_optionMap=new Map;_idCounter=0;set compareWith(t){this._compareWith=t}_compareWith=Object.is;writeValue(t){this.value=t;const i=LI(this._getOptionId(t),t);this.setProperty("value",i)}registerOnChange(t){this.onChange=r=>{this.value=this._getOptionValue(r),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),t))return r;return null}_getOptionValue(t){const r=function ej(e){return e.split(":")[0]}(t);return this._optionMap.has(r)?this._optionMap.get(r):t}static \u0275fac=(()=>{let t;return function(i){return(t||(t=lt(e)))(i||e)}})();static \u0275dir=Y({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(r,i){1&r&&q("change",function(s){return i.onChange(s.target.value)})("blur",function(){return i.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[Me([XB]),ue]})}return e})(),qg=(()=>{class e{_element;_renderer;_select;id;constructor(t,r,i){this._element=t,this._renderer=r,this._select=i,this._select&&(this.id=this._select._registerOption())}set ngValue(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(LI(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._setElementValue(t),this._select&&this._select.writeValue(this._select.value)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(r){return new(r||e)(T(pt),T(on),T(la,9))};static \u0275dir=Y({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return e})();const tj={provide:dn,useExisting:ve(()=>Wg),multi:!0};function PI(e,n){return null==e?`${n}`:("string"==typeof n&&(n=`'${n}'`),n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let Wg=(()=>{class e extends di{value;_optionMap=new Map;_idCounter=0;set compareWith(t){this._compareWith=t}_compareWith=Object.is;writeValue(t){let r;if(this.value=t,Array.isArray(t)){const i=t.map(o=>this._getOptionId(o));r=(o,s)=>{o._setSelected(i.indexOf(s.toString())>-1)}}else r=(i,o)=>{i._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(t){this.onChange=r=>{const i=[],o=r.selectedOptions;if(void 0!==o){const s=o;for(let a=0;a{let t;return function(i){return(t||(t=lt(e)))(i||e)}})();static \u0275dir=Y({type:e,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(r,i){1&r&&q("change",function(s){return i.onChange(s.target)})("blur",function(){return i.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[Me([tj]),ue]})}return e})(),Zg=(()=>{class e{_element;_renderer;_select;id;_value;constructor(t,r,i){this._element=t,this._renderer=r,this._select=i,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(PI(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(PI(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}_setSelected(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(r){return new(r||e)(T(pt),T(on),T(Wg,9))};static \u0275dir=Y({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return e})(),dj=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=cr({type:e});static \u0275inj=Nn({})}return e})(),hj=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:Mo,useValue:t.callSetDisabledState??qc}]}}static \u0275fac=function(r){return new(r||e)};static \u0275mod=cr({type:e});static \u0275inj=Nn({imports:[dj]})}return e})();class gj extends Rt{constructor(n,t){super()}schedule(n,t=0){return this}}const Kc={setInterval(e,n,...t){const{delegate:r}=Kc;return r?.setInterval?r.setInterval(e,n,...t):setInterval(e,n,...t)},clearInterval(e){const{delegate:n}=Kc;return(n?.clearInterval||clearInterval)(e)},delegate:void 0},WI={now:()=>(WI.delegate||Date).now(),delegate:void 0};class ca{constructor(n,t=ca.now){this.schedulerActionCtor=n,this.now=t}schedule(n,t=0,r){return new this.schedulerActionCtor(this,n).schedule(r,t)}}ca.now=WI.now;const ZI=new class mj extends ca{constructor(n,t=ca.now){super(n,t),this.actions=[],this._active=!1}flush(n){const{actions:t}=this;if(this._active)return void t.push(n);let r;this._active=!0;do{if(r=n.execute(n.state,n.delay))break}while(n=t.shift());if(this._active=!1,r){for(;n=t.shift();)n.unsubscribe();throw r}}}(class pj extends gj{constructor(n,t){super(n,t),this.scheduler=n,this.work=t,this.pending=!1}schedule(n,t=0){var r;if(this.closed)return this;this.state=n;const i=this.id,o=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(o,i,t)),this.pending=!0,this.delay=t,this.id=null!==(r=this.id)&&void 0!==r?r:this.requestAsyncId(o,this.id,t),this}requestAsyncId(n,t,r=0){return Kc.setInterval(n.flush.bind(n,this),r)}recycleAsyncId(n,t,r=0){if(null!=r&&this.delay===r&&!1===this.pending)return t;null!=t&&Kc.clearInterval(t)}execute(n,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const r=this._execute(n,t);if(r)return r;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,t){let i,r=!1;try{this.work(n)}catch(o){r=!0,i=o||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),i}unsubscribe(){if(!this.closed){const{id:n,scheduler:t}=this,{actions:r}=t;this.work=this.state=this.scheduler=null,this.pending=!1,pa(r,this),null!=n&&(this.id=this.recycleAsyncId(t,n,null)),this.delay=null,super.unsubscribe()}}}),vj=ZI;function QI(e,n=ZI,t){const r=function wj(e=0,n,t=vj){let r=-1;return null!=n&&(function yj(e){return e&&Be(e.schedule)}(n)?t=n:r=n),new kt(i=>{let o=function Cj(e){return e instanceof Date&&!isNaN(e)}(e)?+e-t.now():e;o<0&&(o=0);let s=0;return t.schedule(function(){i.closed||(i.next(s++),0<=r?this.schedule(void 0,r):i.complete())},o)})}(e,n);return function _j(e,n){return Nr((t,r)=>{const{leading:i=!0,trailing:o=!1}=n??{};let s=!1,a=null,l=null,c=!1;const u=()=>{l?.unsubscribe(),l=null,o&&(h(),c&&r.complete())},d=()=>{l=null,c&&r.complete()},g=m=>l=ta(e(m)).subscribe(qn(r,u,d)),h=()=>{if(s){s=!1;const m=a;a=null,r.next(m),!c&&g(m)}};t.subscribe(qn(r,m=>{s=!0,a=m,(!l||l.closed)&&(i?h():g(m))},()=>{c=!0,(!(o&&s&&l)||l.closed)&&r.complete()}))})}(()=>r,t)}function YI(e,n,t){const r=Be(e)||n||t?{next:e,error:n,complete:t}:e;return r?Nr((i,o)=>{var s;null===(s=r.subscribe)||void 0===s||s.call(r);let a=!0;i.subscribe(qn(o,l=>{var c;null===(c=r.next)||void 0===c||c.call(r,l),o.next(l)},()=>{var l;a=!1,null===(l=r.complete)||void 0===l||l.call(r),o.complete()},l=>{var c;a=!1,null===(c=r.error)||void 0===c||c.call(r,l),o.error(l)},()=>{var l,c;a&&(null===(l=r.unsubscribe)||void 0===l||l.call(r)),null===(c=r.finalize)||void 0===c||c.call(r)}))}):gu}function KI(e,n=gu){return e=e??Dj,Nr((t,r)=>{let i,o=!0;t.subscribe(qn(r,s=>{const a=n(s);(o||!e(i,a))&&(o=!1,i=a,r.next(s))}))})}function Dj(e,n){return e===n}var Bt=typeof window<"u"?window:{screen:{},navigator:{}},To=(Bt.matchMedia||function(){return{matches:!1}}).bind(Bt),JI=!1,XI=function(){};Bt.addEventListener&&Bt.addEventListener("p",XI,{get passive(){return JI=!0}}),Bt.removeEventListener&&Bt.removeEventListener("p",XI,!1);var eM=JI,Yg="ontouchstart"in Bt,nM=(Yg||"TouchEvent"in Bt&&To("(any-pointer: coarse)"),Bt.navigator.userAgent||"");To("(pointer: coarse)").matches&&/iPad|Macintosh/.test(nM)&&Math.min(Bt.screen.width||0,Bt.screen.height||0);(To("(pointer: coarse)").matches||!To("(pointer: fine)").matches&&Yg)&&/Windows.*Firefox/.test(nM),To("(any-pointer: fine)").matches||To("(any-hover: hover)");const Nj=(e,n,t)=>({tooltip:e,placement:n,content:t});function xj(e,n){}function Oj(e,n){1&e&&V(0,xj,0,0,"ng-template")}function Aj(e,n){if(1&e&&(X(0),V(1,Oj,1,0,null,1),ee()),2&e){const t=v();f(),p("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Fe(2,Nj,t.tooltip,t.placement,t.content))}}function Rj(e,n){if(1&e&&(X(0),y(1,"div",2),b(2),_(),ee()),2&e){const t=v();f(),_t("title",t.tooltip)("data-tooltip-placement",t.placement),f(),U(" ",t.content," ")}}const kj=["tooltipTemplate"],Fj=["leftOuterSelectionBar"],Lj=["rightOuterSelectionBar"],Pj=["fullBar"],Vj=["selectionBar"],Hj=["minHandle"],Bj=["maxHandle"],jj=["floorLabel"],Uj=["ceilLabel"],$j=["minHandleLabel"],zj=["maxHandleLabel"],Gj=["combinedLabel"],qj=["ticksElement"],Wj=e=>({"ngx-slider-selected":e});function Zj(e,n){if(1&e&&x(0,"ngx-slider-tooltip-wrapper",32),2&e){const t=v().$implicit;p("template",v().tooltipTemplate)("tooltip",t.valueTooltip)("placement",t.valueTooltipPlacement)("content",t.value)}}function Qj(e,n){1&e&&x(0,"span",33),2&e&&p("innerText",v().$implicit.legend)}function Yj(e,n){1&e&&x(0,"span",34),2&e&&p("innerHTML",v().$implicit.legend,f_)}function Kj(e,n){if(1&e&&(y(0,"span",27),x(1,"ngx-slider-tooltip-wrapper",28),V(2,Zj,1,4,"ngx-slider-tooltip-wrapper",29)(3,Qj,1,1,"span",30)(4,Yj,1,1,"span",31),_()),2&e){const t=n.$implicit,r=v();p("ngClass",_o(8,Wj,t.selected))("ngStyle",t.style),f(),p("template",r.tooltipTemplate)("tooltip",t.tooltip)("placement",t.tooltipPlacement),f(),p("ngIf",null!=t.value),f(),p("ngIf",null!=t.legend&&!1===r.allowUnsafeHtmlInSlider),f(),p("ngIf",null!=t.legend&&(null==r.allowUnsafeHtmlInSlider||r.allowUnsafeHtmlInSlider))}}var Tn=function(e){return e[e.Low=0]="Low",e[e.High=1]="High",e[e.Floor=2]="Floor",e[e.Ceil=3]="Ceil",e[e.TickValue=4]="TickValue",e}(Tn||{});class Jc{floor=0;ceil=null;step=1;minRange=null;maxRange=null;pushRange=!1;minLimit=null;maxLimit=null;translate=null;combineLabels=null;getLegend=null;getStepLegend=null;stepsArray=null;bindIndexForStepsArray=!1;draggableRange=!1;draggableRangeOnly=!1;showSelectionBar=!1;showSelectionBarEnd=!1;showSelectionBarFromValue=null;showOuterSelectionBars=!1;hidePointerLabels=!1;hideLimitLabels=!1;autoHideLimitLabels=!0;readOnly=!1;disabled=!1;showTicks=!1;showTicksValues=!1;tickStep=null;tickValueStep=null;ticksArray=null;ticksTooltip=null;ticksValuesTooltip=null;vertical=!1;getSelectionBarColor=null;getTickColor=null;getPointerColor=null;keyboardSupport=!0;scale=1;rotate=0;enforceStep=!0;enforceRange=!0;enforceStepsArray=!0;noSwitching=!1;onlyBindHandles=!1;rightToLeft=!1;reversedControls=!1;boundPointerLabels=!0;logScale=!1;customValueToPosition=null;customPositionToValue=null;precisionLimit=12;selectionBarGradient=null;ariaLabel="ngx-slider";ariaLabelledBy=null;ariaLabelHigh="ngx-slider-max";ariaLabelledByHigh=null;handleDimension=null;barDimension=null;animate=!0;animateOnMove=!1}const oM=new R("AllowUnsafeHtmlInSlider");var F=function(e){return e[e.Min=0]="Min",e[e.Max=1]="Max",e}(F||{});class Jj{value;highValue;pointerType}class M{static isNullOrUndefined(n){return null==n}static areArraysEqual(n,t){if(n.length!==t.length)return!1;for(let r=0;rMath.abs(n-o.value));let i=0;for(let o=0;o{o.events.next(a)};return n.addEventListener(t,s,{passive:!0,capture:!1}),o.teardownCallback=()=>{n.removeEventListener(t,s,{passive:!0,capture:!1})},o.eventsSubscription=o.events.pipe(M.isNullOrUndefined(i)?YI(()=>{}):QI(i,void 0,{leading:!0,trailing:!0})).subscribe(a=>{r(a)}),o}detachEventListener(n){M.isNullOrUndefined(n.eventsSubscription)||(n.eventsSubscription.unsubscribe(),n.eventsSubscription=null),M.isNullOrUndefined(n.events)||(n.events.complete(),n.events=null),M.isNullOrUndefined(n.teardownCallback)||(n.teardownCallback(),n.teardownCallback=null)}attachEventListener(n,t,r,i){const o=new sM;return o.eventName=t,o.events=new fn,o.teardownCallback=this.renderer.listen(n,t,a=>{o.events.next(a)}),o.eventsSubscription=o.events.pipe(M.isNullOrUndefined(i)?YI(()=>{}):QI(i,void 0,{leading:!0,trailing:!0})).subscribe(a=>{r(a)}),o}}let Dr=(()=>{class e{elemRef;renderer;changeDetectionRef;_position=0;get position(){return this._position}_dimension=0;get dimension(){return this._dimension}_alwaysHide=!1;get alwaysHide(){return this._alwaysHide}_vertical=!1;get vertical(){return this._vertical}_scale=1;get scale(){return this._scale}_rotate=0;get rotate(){return this._rotate}opacity=1;visibility="visible";left="";bottom="";height="";width="";transform="";eventListenerHelper;eventListeners=[];constructor(t,r,i){this.elemRef=t,this.renderer=r,this.changeDetectionRef=i,this.eventListenerHelper=new aM(this.renderer)}setAlwaysHide(t){this._alwaysHide=t,this.visibility=t?"hidden":"visible"}hide(){this.opacity=0}show(){this.alwaysHide||(this.opacity=1)}isVisible(){return!this.alwaysHide&&0!==this.opacity}setVertical(t){this._vertical=t,this._vertical?(this.left="",this.width=""):(this.bottom="",this.height="")}setScale(t){this._scale=t}setRotate(t){this._rotate=t,this.transform="rotate("+t+"deg)"}getRotate(){return this._rotate}setPosition(t){this._position!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._position=t,this._vertical?this.bottom=Math.round(t)+"px":this.left=Math.round(t)+"px"}calculateDimension(){const t=this.getBoundingClientRect();this._dimension=this.vertical?(t.bottom-t.top)*this.scale:(t.right-t.left)*this.scale}setDimension(t){this._dimension!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._dimension=t,this._vertical?this.height=Math.round(t)+"px":this.width=Math.round(t)+"px"}getBoundingClientRect(){return this.elemRef.nativeElement.getBoundingClientRect()}on(t,r,i){const o=this.eventListenerHelper.attachEventListener(this.elemRef.nativeElement,t,r,i);this.eventListeners.push(o)}onPassive(t,r,i){const o=this.eventListenerHelper.attachPassiveEventListener(this.elemRef.nativeElement,t,r,i);this.eventListeners.push(o)}off(t){let r,i;M.isNullOrUndefined(t)?(r=[],i=this.eventListeners):(r=this.eventListeners.filter(o=>o.eventName!==t),i=this.eventListeners.filter(o=>o.eventName===t));for(const o of i)this.eventListenerHelper.detachEventListener(o);this.eventListeners=r}isRefDestroyed(){return M.isNullOrUndefined(this.changeDetectionRef)||this.changeDetectionRef.destroyed}static \u0275fac=function(r){return new(r||e)(T(pt),T(on),T(si))};static \u0275dir=Y({type:e,selectors:[["","ngxSliderElement",""]],hostVars:14,hostBindings:function(r,i){2&r&&ec("opacity",i.opacity)("visibility",i.visibility)("left",i.left)("bottom",i.bottom)("height",i.height)("width",i.width)("transform",i.transform)},standalone:!1})}return e})(),Kg=(()=>{class e extends Dr{active=!1;role="";tabindex="";ariaOrientation="";ariaLabel="";ariaLabelledBy="";ariaValueNow="";ariaValueText="";ariaValueMin="";ariaValueMax="";focus(){this.elemRef.nativeElement.focus()}focusIfNeeded(){document.activeElement!==this.elemRef.nativeElement&&this.elemRef.nativeElement.focus()}constructor(t,r,i){super(t,r,i)}static \u0275fac=function(r){return new(r||e)(T(pt),T(on),T(si))};static \u0275dir=Y({type:e,selectors:[["","ngxSliderHandle",""]],hostVars:11,hostBindings:function(r,i){2&r&&(_t("role",i.role)("tabindex",i.tabindex)("aria-orientation",i.ariaOrientation)("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledBy)("aria-valuenow",i.ariaValueNow)("aria-valuetext",i.ariaValueText)("aria-valuemin",i.ariaValueMin)("aria-valuemax",i.ariaValueMax),jn("ngx-slider-active",i.active))},standalone:!1,features:[ue]})}return e})(),So=(()=>{class e extends Dr{allowUnsafeHtmlInSlider;_value=null;get value(){return this._value}constructor(t,r,i,o){super(t,r,i),this.allowUnsafeHtmlInSlider=o}setValue(t){let r=!1;!this.alwaysHide&&(M.isNullOrUndefined(this.value)||this.value.length!==t.length||this.value.length>0&&0===this.dimension)&&(r=!0),this._value=t,!1===this.allowUnsafeHtmlInSlider?this.elemRef.nativeElement.innerText=t:this.elemRef.nativeElement.innerHTML=t,r&&this.calculateDimension()}static \u0275fac=function(r){return new(r||e)(T(pt),T(on),T(si),T(oM,8))};static \u0275dir=Y({type:e,selectors:[["","ngxSliderLabel",""]],standalone:!1,features:[ue]})}return e})(),Xj=(()=>{class e{template;tooltip;placement;content;static \u0275fac=function(r){return new(r||e)};static \u0275cmp=sn({type:e,selectors:[["ngx-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},standalone:!1,decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ngx-slider-inner-tooltip"]],template:function(r,i){1&r&&V(0,Aj,2,6,"ng-container",0)(1,Rj,3,3,"ng-container",0),2&r&&(p("ngIf",i.template),f(),p("ngIf",!i.template))},dependencies:[zn,Kb],styles:[".ngx-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]})}return e})();class e3{selected=!1;style={};tooltip=null;tooltipPlacement=null;value=null;valueTooltip=null;valueTooltipPlacement=null;legend=null}class lM{active=!1;value=0;difference=0;position=0;lowLimit=0;highLimit=0}class Xc{value;highValue;static compare(n,t){return!(M.isNullOrUndefined(n)&&M.isNullOrUndefined(t)||M.isNullOrUndefined(n)!==M.isNullOrUndefined(t))&&n.value===t.value&&n.highValue===t.highValue}}class cM extends Xc{forceChange;static compare(n,t){return!(M.isNullOrUndefined(n)&&M.isNullOrUndefined(t)||M.isNullOrUndefined(n)!==M.isNullOrUndefined(t))&&n.value===t.value&&n.highValue===t.highValue&&n.forceChange===t.forceChange}}const t3={provide:dn,useExisting:ve(()=>uM),multi:!0};let uM=(()=>{class e{renderer;elementRef;changeDetectionRef;zone;allowUnsafeHtmlInSlider;sliderElementNgxSliderClass=!0;value=null;valueChange=new we;highValue=null;highValueChange=new we;options=new Jc;userChangeStart=new we;userChange=new we;userChangeEnd=new we;manualRefreshSubscription;set manualRefresh(t){this.unsubscribeManualRefresh(),this.manualRefreshSubscription=t.subscribe(()=>{setTimeout(()=>this.calculateViewDimensionsAndDetectChanges())})}triggerFocusSubscription;set triggerFocus(t){this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=t.subscribe(r=>{this.focusPointer(r)})}cancelUserChangeSubscription;set cancelUserChange(t){this.unsubscribeCancelUserChange(),this.cancelUserChangeSubscription=t.subscribe(()=>{this.moving&&(this.positionTrackingHandle(this.preStartHandleValue),this.forceEnd(!0))})}get range(){return!M.isNullOrUndefined(this.value)&&!M.isNullOrUndefined(this.highValue)}initHasRun=!1;inputModelChangeSubject=new fn;inputModelChangeSubscription=null;outputModelChangeSubject=new fn;outputModelChangeSubscription=null;viewLowValue=null;viewHighValue=null;viewOptions=new Jc;handleHalfDimension=0;maxHandlePosition=0;currentTrackingPointer=null;currentFocusPointer=null;firstKeyDown=!1;touchId=null;dragging=new lM;preStartHandleValue=null;leftOuterSelectionBarElement;rightOuterSelectionBarElement;fullBarElement;selectionBarElement;minHandleElement;maxHandleElement;floorLabelElement;ceilLabelElement;minHandleLabelElement;maxHandleLabelElement;combinedLabelElement;ticksElement;tooltipTemplate;sliderElementVerticalClass=!1;sliderElementAnimateClass=!1;sliderElementWithLegendClass=!1;sliderElementDisabledAttr=null;sliderElementAriaLabel="ngx-slider";barStyle={};minPointerStyle={};maxPointerStyle={};fullBarTransparentClass=!1;selectionBarDraggableClass=!1;ticksUnderValuesClass=!1;get showTicks(){return this.viewOptions.showTicks}intermediateTicks=!1;ticks=[];eventListenerHelper=null;onMoveEventListener=null;onEndEventListener=null;moving=!1;resizeObserver=null;onTouchedCallback=null;onChangeCallback=null;constructor(t,r,i,o,s){this.renderer=t,this.elementRef=r,this.changeDetectionRef=i,this.zone=o,this.allowUnsafeHtmlInSlider=s,this.eventListenerHelper=new aM(this.renderer)}ngOnInit(){this.viewOptions=new Jc,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState(),this.updateAriaLabel()}ngAfterViewInit(){this.applyOptions(),this.subscribeInputModelChangeSubject(),this.subscribeOutputModelChangeSubject(),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.updateAriaLabel(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}ngOnChanges(t){!M.isNullOrUndefined(t.options)&&JSON.stringify(t.options.previousValue)!==JSON.stringify(t.options.currentValue)&&this.onChangeOptions(),(!M.isNullOrUndefined(t.value)||!M.isNullOrUndefined(t.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,forceChange:!1,internalChange:!1})}ngOnDestroy(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}writeValue(t){t instanceof Array?(this.value=t[0],this.highValue=t[1]):this.value=t,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1,controlAccessorChange:!0})}registerOnChange(t){this.onChangeCallback=t}registerOnTouched(t){this.onTouchedCallback=t}setDisabledState(t){this.viewOptions.disabled=t,this.updateDisabledState(),this.initHasRun&&this.manageEventsBindings()}setAriaLabel(t){this.viewOptions.ariaLabel=t,this.updateAriaLabel()}onResize(t){this.calculateViewDimensionsAndDetectChanges()}subscribeInputModelChangeSubject(){this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe(KI(cM.compare),function bj(e,n){return Nr((t,r)=>{let i=0;t.subscribe(qn(r,o=>e.call(n,o,i++)&&r.next(o)))})}(t=>!t.forceChange&&!t.internalChange)).subscribe(t=>this.applyInputModelChange(t))}subscribeOutputModelChangeSubject(){this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe(KI(cM.compare)).subscribe(t=>this.publishOutputModelChange(t))}subscribeResizeObserver(){wr.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(()=>this.calculateViewDimensionsAndDetectChanges()),this.resizeObserver.observe(this.elementRef.nativeElement))}unsubscribeResizeObserver(){wr.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}unsubscribeOnMove(){M.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}unsubscribeOnEnd(){M.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}unsubscribeInputModelChangeSubject(){M.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}unsubscribeOutputModelChangeSubject(){M.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}unsubscribeManualRefresh(){M.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}unsubscribeTriggerFocus(){M.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}unsubscribeCancelUserChange(){M.isNullOrUndefined(this.cancelUserChangeSubscription)||(this.cancelUserChangeSubscription.unsubscribe(),this.cancelUserChangeSubscription=null)}getPointerElement(t){return t===F.Min?this.minHandleElement:t===F.Max?this.maxHandleElement:null}getCurrentTrackingValue(){return this.currentTrackingPointer===F.Min?this.viewLowValue:this.currentTrackingPointer===F.Max?this.viewHighValue:null}modelValueToViewValue(t){return M.isNullOrUndefined(t)?NaN:M.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+t:M.findStepIndex(+t,this.viewOptions.stepsArray)}viewValueToModelValue(t){return M.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?t:this.getStepValue(t)}getStepValue(t){const r=this.viewOptions.stepsArray[t];return M.isNullOrUndefined(r)?NaN:r.value}applyViewChange(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,forceChange:!1,internalChange:!0})}applyInputModelChange(t){const r=this.normaliseModelValues(t),i=!Xc.compare(t,r);i&&(this.value=r.value,this.highValue=r.highValue),this.viewLowValue=this.modelValueToViewValue(r.value),this.viewHighValue=this.range?this.modelValueToViewValue(r.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:r.value,highValue:r.highValue,controlAccessorChange:t.controlAccessorChange,forceChange:i,userEventInitiated:!1})}publishOutputModelChange(t){const r=()=>{this.valueChange.emit(t.value),this.range&&this.highValueChange.emit(t.highValue),!t.controlAccessorChange&&(M.isNullOrUndefined(this.onChangeCallback)||this.onChangeCallback(this.range?[t.value,t.highValue]:t.value),M.isNullOrUndefined(this.onTouchedCallback)||this.onTouchedCallback(this.range?[t.value,t.highValue]:t.value))};t.userEventInitiated?(r(),this.userChange.emit(this.getChangeContext())):setTimeout(()=>{r()})}normaliseModelValues(t){const r=new Xc;if(r.value=t.value,r.highValue=t.highValue,!M.isNullOrUndefined(this.viewOptions.stepsArray)){if(this.viewOptions.enforceStepsArray){const i=M.findStepIndex(r.value,this.viewOptions.stepsArray);if(r.value=this.viewOptions.stepsArray[i].value,this.range){const o=M.findStepIndex(r.highValue,this.viewOptions.stepsArray);r.highValue=this.viewOptions.stepsArray[o].value}}return r}if(this.viewOptions.enforceStep&&(r.value=this.roundStep(r.value),this.range&&(r.highValue=this.roundStep(r.highValue))),this.viewOptions.enforceRange&&(r.value=He.clampToRange(r.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(r.highValue=He.clampToRange(r.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&t.value>t.highValue))if(this.viewOptions.noSwitching)r.value=r.highValue;else{const i=t.value;r.value=t.highValue,r.highValue=i}return r}renormaliseModelValues(){const t={value:this.value,highValue:this.highValue},r=this.normaliseModelValues(t);Xc.compare(r,t)||(this.value=r.value,this.highValue=r.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,forceChange:!0,userEventInitiated:!1}))}onChangeOptions(){if(!this.initHasRun)return;const t=this.getOptionsInfluencingEventBindings(this.viewOptions);this.applyOptions();const r=this.getOptionsInfluencingEventBindings(this.viewOptions),i=!M.areArraysEqual(t,r);this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider(i)}applyOptions(){if(this.viewOptions=new Jc,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!M.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!M.isNullOrUndefined(this.viewOptions.tickStep)||!M.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!M.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),M.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),M.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=(t,r)=>t+" - "+r),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}applyStepsArrayOptions(){this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,M.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(this.viewOptions.bindIndexForStepsArray?this.getStepValue(t):t))}applyFloorCeilOptions(){if(M.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),M.isNullOrUndefined(this.viewOptions.ceil)||M.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,M.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(t))}resetSlider(t=!0){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),t&&(this.unbindEvents(),this.manageEventsBindings()),this.updateDisabledState(),this.updateAriaLabel(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}focusPointer(t){t!==F.Min&&t!==F.Max&&(t=F.Min),t===F.Min?this.minHandleElement.focus():this.range&&t===F.Max&&this.maxHandleElement.focus()}refocusPointerIfNeeded(){M.isNullOrUndefined(this.currentFocusPointer)||this.getPointerElement(this.currentFocusPointer).focusIfNeeded()}manageElementsStyle(){this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);const t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(()=>{this.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate}),this.updateRotate()}manageEventsBindings(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}updateDisabledState(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}updateAriaLabel(){this.sliderElementAriaLabel=this.viewOptions.ariaLabel||"nxg-slider"}updateVerticalState(){this.sliderElementVerticalClass=this.viewOptions.vertical;for(const t of this.getAllSliderElements())M.isNullOrUndefined(t)||t.setVertical(this.viewOptions.vertical)}updateScale(){for(const t of this.getAllSliderElements())t.setScale(this.viewOptions.scale)}updateRotate(){for(const t of this.getAllSliderElements())t.setRotate(this.viewOptions.rotate)}getAllSliderElements(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}initHandles(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}addAccessibility(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.minHandleElement.ariaOrientation=this.viewOptions.vertical||0!==this.viewOptions.rotate?"vertical":"horizontal",M.isNullOrUndefined(this.viewOptions.ariaLabel)?M.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical||0!==this.viewOptions.rotate?"vertical":"horizontal",M.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?M.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}updateAriaAttributes(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,Tn.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,Tn.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}calculateViewDimensions(){M.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);const t=this.minHandleElement.dimension;this.handleHalfDimension=t/2,M.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-t,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}calculateViewDimensionsAndDetectChanges(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}isRefDestroyed(){return this.changeDetectionRef.destroyed}updateTicksScale(){if(!this.viewOptions.showTicks&&this.sliderElementWithLegendClass)return void setTimeout(()=>{this.sliderElementWithLegendClass=!1});const t=M.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,r=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();const i=M.isNullOrUndefined(this.viewOptions.tickValueStep)?M.isNullOrUndefined(this.viewOptions.tickStep)?this.viewOptions.step:this.viewOptions.tickStep:this.viewOptions.tickValueStep;let o=!1;const s=t.map(a=>{let l=this.valueToPosition(a);this.viewOptions.vertical&&(l=this.maxHandlePosition-l);const c=r+"("+Math.round(l)+"px)",u=new e3;u.selected=this.isTickSelected(a),u.style={"-webkit-transform":c,"-moz-transform":c,"-o-transform":c,"-ms-transform":c,transform:c},u.selected&&!M.isNullOrUndefined(this.viewOptions.getSelectionBarColor)&&(u.style["background-color"]=this.getSelectionBarColor()),!u.selected&&!M.isNullOrUndefined(this.viewOptions.getTickColor)&&(u.style["background-color"]=this.getTickColor(a)),M.isNullOrUndefined(this.viewOptions.ticksTooltip)||(u.tooltip=this.viewOptions.ticksTooltip(a),u.tooltipPlacement=this.viewOptions.vertical?"right":"top"),this.viewOptions.showTicksValues&&!M.isNullOrUndefined(i)&&He.isModuloWithinPrecisionLimit(a,i,this.viewOptions.precisionLimit)&&(u.value=this.getDisplayValue(a,Tn.TickValue),M.isNullOrUndefined(this.viewOptions.ticksValuesTooltip)||(u.valueTooltip=this.viewOptions.ticksValuesTooltip(a),u.valueTooltipPlacement=this.viewOptions.vertical?"right":"top"));let d=null;if(M.isNullOrUndefined(this.viewOptions.stepsArray))M.isNullOrUndefined(this.viewOptions.getLegend)||(d=this.viewOptions.getLegend(a));else{const g=this.viewOptions.stepsArray[a];M.isNullOrUndefined(this.viewOptions.getStepLegend)?M.isNullOrUndefined(g)||(d=g.legend):d=this.viewOptions.getStepLegend(g)}return M.isNullOrUndefined(d)||(u.legend=d,o=!0),u});if(this.sliderElementWithLegendClass!==o&&setTimeout(()=>{this.sliderElementWithLegendClass=o}),M.isNullOrUndefined(this.ticks)||this.ticks.length!==s.length)this.ticks=s,this.isRefDestroyed()||this.changeDetectionRef.detectChanges();else for(let a=0;a=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&t<=this.viewLowValue)return!0}else{const r=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>r&&t>=r&&t<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&t>=this.viewLowValue&&t<=this.viewHighValue)}updateFloorLabel(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,Tn.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}updateCeilLabel(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,Tn.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}updateHandles(t,r){t===F.Min?this.updateLowHandle(r):t===F.Max&&this.updateHighHandle(r),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}getHandleLabelPos(t,r){const i=t===F.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,o=r-i/2+this.handleHalfDimension,s=this.fullBarElement.dimension-i;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&t===F.Min||!this.viewOptions.rightToLeft&&t===F.Max?Math.min(o,s):Math.min(Math.max(o,0),s):o}updateLowHandle(t){this.minHandleElement.setPosition(t),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,Tn.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(F.Min,t)),M.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(F.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateHighHandle(t){this.maxHandleElement.setPosition(t),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,Tn.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(F.Max,t)),M.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(F.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateFloorAndCeilLabelsVisibility(){if(this.viewOptions.hidePointerLabels)return;let t=!1,r=!1;const i=this.isLabelBelowFloorLabel(this.minHandleLabelElement),o=this.isLabelAboveCeilLabel(this.minHandleLabelElement),s=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),a=this.isLabelBelowFloorLabel(this.combinedLabelElement),l=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(i?(t=!0,this.floorLabelElement.hide()):(t=!1,this.floorLabelElement.show()),o?(r=!0,this.ceilLabelElement.hide()):(r=!1,this.ceilLabelElement.show()),this.range){const c=this.combinedLabelElement.isVisible()?l:s,u=this.combinedLabelElement.isVisible()?a:i;c?this.ceilLabelElement.hide():r||this.ceilLabelElement.show(),u?this.floorLabelElement.hide():t||this.floorLabelElement.show()}}isLabelBelowFloorLabel(t){const r=t.position,o=this.floorLabelElement.position;return this.viewOptions.rightToLeft?r+t.dimension>=o-2:r<=o+this.floorLabelElement.dimension+2}isLabelAboveCeilLabel(t){const r=t.position,o=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?r<=o+this.ceilLabelElement.dimension+2:r+t.dimension>=o-2}updateSelectionBar(){let t=0,r=0;const i=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,o=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)r=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),t=o;else if(M.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))i?(r=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),t=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(r=this.minHandleElement.position+this.handleHalfDimension,t=0);else{const s=this.viewOptions.showSelectionBarFromValue,a=this.valueToPosition(s);(this.viewOptions.rightToLeft?this.viewLowValue<=s:this.viewLowValue>s)?(r=this.minHandleElement.position-a,t=a+this.handleHalfDimension):(r=a-this.minHandleElement.position,t=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(r),this.selectionBarElement.setPosition(t),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(t),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+r)),this.leftOuterSelectionBarElement.setPosition(t+r)):(this.leftOuterSelectionBarElement.setDimension(t),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+r)),this.rightOuterSelectionBarElement.setPosition(t+r))),M.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!M.isNullOrUndefined(this.viewOptions.selectionBarGradient)){const s=M.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),a=s-t>0&&!i||s-t<=0&&i;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?a?"bottom":"top":a?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(s+r+t+(a?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=s-t+(a?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{const s=this.getSelectionBarColor();this.barStyle={backgroundColor:s}}}getSelectionBarColor(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}getPointerColor(t){return this.viewOptions.getPointerColor(t===F.Max?this.highValue:this.value,t)}getTickColor(t){return this.viewOptions.getTickColor(t)}updateCombinedLabel(){let t=null;if(t=this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position,t){const r=this.getDisplayValue(this.viewLowValue,Tn.Low),i=this.getDisplayValue(this.viewHighValue,Tn.High),o=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(i,r):this.viewOptions.combineLabels(r,i);this.combinedLabelElement.setValue(o);const s=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(s),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}getDisplayValue(t,r){return!M.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(t=this.getStepValue(t)),this.viewOptions.translate(t,r)}roundStep(t,r){const i=M.isNullOrUndefined(r)?this.viewOptions.step:r;let o=He.roundToPrecisionLimit((t-this.viewOptions.floor)/i,this.viewOptions.precisionLimit);return o=Math.round(o)*i,He.roundToPrecisionLimit(this.viewOptions.floor+o,this.viewOptions.precisionLimit)}valueToPosition(t){let r=M.linearValueToPosition;M.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(r=M.logValueToPosition):r=this.viewOptions.customValueToPosition;let i=r(t=He.clampToRange(t,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return M.isNullOrUndefined(i)&&(i=0),this.viewOptions.rightToLeft&&(i=1-i),i*this.maxHandlePosition}positionToValue(t){let r=t/this.maxHandlePosition;this.viewOptions.rightToLeft&&(r=1-r);let i=M.linearPositionToValue;M.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(i=M.logPositionToValue):i=this.viewOptions.customPositionToValue;const o=i(r,this.viewOptions.floor,this.viewOptions.ceil);return M.isNullOrUndefined(o)?0:o}getEventXY(t,r){if(t instanceof MouseEvent)return this.viewOptions.vertical||0!==this.viewOptions.rotate?t.clientY:t.clientX;let i=0;const o=t.touches;if(!M.isNullOrUndefined(r))for(let s=0;so?F.Max:this.viewOptions.rightToLeft?r>this.minHandleElement.position?F.Min:F.Max:rthis.onBarStart(null,t,r,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.on("mousedown",r=>this.onBarStart(F.Min,t,r,!0,!0)),this.maxHandleElement.on("mousedown",r=>this.onBarStart(F.Max,t,r,!0,!0))):(this.minHandleElement.on("mousedown",r=>this.onStart(F.Min,r,!0,!0)),this.range&&this.maxHandleElement.on("mousedown",r=>this.onStart(F.Max,r,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.on("mousedown",r=>this.onStart(null,r,!0,!0,!0)),this.ticksElement.on("mousedown",r=>this.onStart(null,r,!0,!0,!0,!0)))),this.viewOptions.onlyBindHandles||this.selectionBarElement.onPassive("touchstart",r=>this.onBarStart(null,t,r,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.onPassive("touchstart",r=>this.onBarStart(F.Min,t,r,!0,!0)),this.maxHandleElement.onPassive("touchstart",r=>this.onBarStart(F.Max,t,r,!0,!0))):(this.minHandleElement.onPassive("touchstart",r=>this.onStart(F.Min,r,!0,!0)),this.range&&this.maxHandleElement.onPassive("touchstart",r=>this.onStart(F.Max,r,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.onPassive("touchstart",r=>this.onStart(null,r,!0,!0,!0)),this.ticksElement.onPassive("touchstart",r=>this.onStart(null,r,!1,!1,!0,!0)))),this.viewOptions.keyboardSupport&&(this.minHandleElement.on("focus",()=>this.onPointerFocus(F.Min)),this.range&&this.maxHandleElement.on("focus",()=>this.onPointerFocus(F.Max)))}getOptionsInfluencingEventBindings(t){return[t.disabled,t.readOnly,t.draggableRange,t.draggableRangeOnly,t.onlyBindHandles,t.keyboardSupport]}unbindEvents(){this.unsubscribeOnMove(),this.unsubscribeOnEnd();for(const t of this.getAllSliderElements())M.isNullOrUndefined(t)||t.off()}onBarStart(t,r,i,o,s,a,l){r?this.onDragStart(t,i,o,s):this.onStart(t,i,o,s,a,l)}onStart(t,r,i,o,s,a){r.stopPropagation(),!wr.isTouchEvent(r)&&!eM&&r.preventDefault(),this.moving=!1,this.calculateViewDimensions(),M.isNullOrUndefined(t)&&(t=this.getNearestHandle(r)),this.currentTrackingPointer=t;const l=this.getPointerElement(t);if(l.active=!0,this.preStartHandleValue=this.getCurrentTrackingValue(),this.viewOptions.keyboardSupport&&l.focus(),i){this.unsubscribeOnMove();const c=u=>this.dragging.active?this.onDragMove(u):this.onMove(u);this.onMoveEventListener=wr.isTouchEvent(r)?this.eventListenerHelper.attachPassiveEventListener(document,"touchmove",c):this.eventListenerHelper.attachEventListener(document,"mousemove",c)}if(o){this.unsubscribeOnEnd();const c=u=>this.onEnd(u);this.onEndEventListener=wr.isTouchEvent(r)?this.eventListenerHelper.attachPassiveEventListener(document,"touchend",c):this.eventListenerHelper.attachEventListener(document,"mouseup",c)}this.userChangeStart.emit(this.getChangeContext()),wr.isTouchEvent(r)&&!M.isNullOrUndefined(r.changedTouches)&&M.isNullOrUndefined(this.touchId)&&(this.touchId=r.changedTouches[0].identifier),s&&this.onMove(r,!0),a&&this.onEnd(r)}onMove(t,r){let i=null;if(wr.isTouchEvent(t)){const c=t.changedTouches;for(let u=0;u=this.maxHandlePosition?s=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(s=this.positionToValue(o),s=r&&!M.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(s,this.viewOptions.tickStep):this.roundStep(s)),this.positionTrackingHandle(s)}forceEnd(t=!1){this.moving=!1,this.viewOptions.animate&&(this.sliderElementAnimateClass=!0),t&&(this.sliderElementAnimateClass=!1,setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate})),this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext())}onEnd(t){wr.isTouchEvent(t)&&t.changedTouches[0].identifier!==this.touchId||this.forceEnd()}onPointerFocus(t){const r=this.getPointerElement(t);r.on("blur",()=>this.onPointerBlur(r)),r.on("keydown",i=>this.onKeyboardEvent(i)),r.on("keyup",()=>this.onKeyUp()),r.active=!0,this.currentTrackingPointer=t,this.currentFocusPointer=t,this.firstKeyDown=!0}onKeyUp(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}onPointerBlur(t){t.off("blur"),t.off("keydown"),t.off("keyup"),t.active=!1,M.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}getKeyActions(t){const r=this.viewOptions.ceil-this.viewOptions.floor;let i=t+this.viewOptions.step,o=t-this.viewOptions.step,s=t+r/10,a=t-r/10;this.viewOptions.reversedControls&&(i=t-this.viewOptions.step,o=t+this.viewOptions.step,s=t-r/10,a=t+r/10);const l={UP:i,DOWN:o,LEFT:o,RIGHT:i,PAGEUP:s,PAGEDOWN:a,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(l.LEFT=i,l.RIGHT=o,(this.viewOptions.vertical||0!==this.viewOptions.rotate)&&(l.UP=o,l.DOWN=i)),l}onKeyboardEvent(t){const r=this.getCurrentTrackingValue(),i=M.isNullOrUndefined(t.keyCode)?t.which:t.keyCode,l=this.getKeyActions(r)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[i]];if(M.isNullOrUndefined(l)||M.isNullOrUndefined(this.currentTrackingPointer))return;t.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));const c=He.clampToRange(l,this.viewOptions.floor,this.viewOptions.ceil),u=this.roundStep(c);if(this.viewOptions.draggableRangeOnly){const d=this.viewHighValue-this.viewLowValue;let g,h;this.currentTrackingPointer===F.Min?(g=u,h=u+d,h>this.viewOptions.ceil&&(h=this.viewOptions.ceil,g=h-d)):this.currentTrackingPointer===F.Max&&(h=u,g=u-d,g=this.maxHandlePosition-i;let u,d;if(r<=o){if(0===s.position)return;u=this.getMinValue(r,!0,!1),d=this.getMaxValue(r,!0,!1)}else if(c){if(a.position===this.maxHandlePosition)return;d=this.getMaxValue(r,!0,!0),u=this.getMinValue(r,!0,!0)}else u=this.getMinValue(r,!1,!1),d=this.getMaxValue(r,!1,!1);this.positionTrackingBar(u,d)}positionTrackingBar(t,r){!M.isNullOrUndefined(this.viewOptions.minLimit)&&tthis.viewOptions.maxLimit&&(t=He.roundToPrecisionLimit((r=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=t,this.viewHighValue=r,this.applyViewChange(),this.updateHandles(F.Min,this.valueToPosition(t)),this.updateHandles(F.Max,this.valueToPosition(r))}positionTrackingHandle(t){t=this.applyMinMaxLimit(t),this.range&&(this.viewOptions.pushRange?t=this.applyPushRange(t):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===F.Min&&t>this.viewHighValue?t=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===F.Max&&tthis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(F.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=F.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===F.Max&&tthis.viewOptions.maxLimit?this.viewOptions.maxLimit:t}applyMinMaxRange(t){const i=Math.abs(t-(this.currentTrackingPointer===F.Min?this.viewHighValue:this.viewLowValue));if(!M.isNullOrUndefined(this.viewOptions.minRange)&&ithis.viewOptions.maxRange){if(this.currentTrackingPointer===F.Min)return He.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===F.Max)return He.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return t}applyPushRange(t){const r=this.currentTrackingPointer===F.Min?this.viewHighValue-t:t-this.viewLowValue,i=M.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,o=this.viewOptions.maxRange;return ro&&(this.currentTrackingPointer===F.Min?(this.viewHighValue=He.roundToPrecisionLimit(t+o,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(F.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===F.Max&&(this.viewLowValue=He.roundToPrecisionLimit(t-o,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(F.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),t}getChangeContext(){const t=new Jj;return t.pointerType=this.currentTrackingPointer,t.value=+this.value,this.range&&(t.highValue=+this.highValue),t}static \u0275fac=function(r){return new(r||e)(T(on),T(pt),T(si),T(de),T(oM,8))};static \u0275cmp=sn({type:e,selectors:[["ngx-slider"]],contentQueries:function(r,i,o){if(1&r&&Zw(o,kj,5),2&r){let s;Ot(s=At())&&(i.tooltipTemplate=s.first)}},viewQuery:function(r,i){if(1&r&&(Vt(Fj,5,Dr),Vt(Lj,5,Dr),Vt(Pj,5,Dr),Vt(Vj,5,Dr),Vt(Hj,5,Kg),Vt(Bj,5,Kg),Vt(jj,5,So),Vt(Uj,5,So),Vt($j,5,So),Vt(zj,5,So),Vt(Gj,5,So),Vt(qj,5,Dr)),2&r){let o;Ot(o=At())&&(i.leftOuterSelectionBarElement=o.first),Ot(o=At())&&(i.rightOuterSelectionBarElement=o.first),Ot(o=At())&&(i.fullBarElement=o.first),Ot(o=At())&&(i.selectionBarElement=o.first),Ot(o=At())&&(i.minHandleElement=o.first),Ot(o=At())&&(i.maxHandleElement=o.first),Ot(o=At())&&(i.floorLabelElement=o.first),Ot(o=At())&&(i.ceilLabelElement=o.first),Ot(o=At())&&(i.minHandleLabelElement=o.first),Ot(o=At())&&(i.maxHandleLabelElement=o.first),Ot(o=At())&&(i.combinedLabelElement=o.first),Ot(o=At())&&(i.ticksElement=o.first)}},hostVars:10,hostBindings:function(r,i){1&r&&q("resize",function(s){return i.onResize(s)},0,El),2&r&&(_t("disabled",i.sliderElementDisabledAttr)("aria-label",i.sliderElementAriaLabel),jn("ngx-slider",i.sliderElementNgxSliderClass)("vertical",i.sliderElementVerticalClass)("animate",i.sliderElementAnimateClass)("with-legend",i.sliderElementWithLegendClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus",cancelUserChange:"cancelUserChange"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},standalone:!1,features:[Me([t3]),kn],decls:29,vars:13,consts:[["leftOuterSelectionBar",""],["rightOuterSelectionBar",""],["fullBar",""],["selectionBar",""],["minHandle",""],["maxHandle",""],["floorLabel",""],["ceilLabel",""],["minHandleLabel",""],["maxHandleLabel",""],["combinedLabel",""],["ticksElement",""],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-left-out-selection"],[1,"ngx-slider-span","ngx-slider-bar"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-right-out-selection"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-full-bar"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-selection-bar"],[1,"ngx-slider-span","ngx-slider-bar","ngx-slider-selection",3,"ngStyle"],["ngxSliderHandle","",1,"ngx-slider-span","ngx-slider-pointer","ngx-slider-pointer-min",3,"ngStyle"],["ngxSliderHandle","",1,"ngx-slider-span","ngx-slider-pointer","ngx-slider-pointer-max",3,"ngStyle"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-limit","ngx-slider-floor"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-limit","ngx-slider-ceil"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-model-value"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-model-high"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-combined"],["ngxSliderElement","",1,"ngx-slider-ticks",3,"hidden"],["class","ngx-slider-tick",3,"ngClass","ngStyle",4,"ngFor","ngForOf"],[1,"ngx-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],["class","ngx-slider-span ngx-slider-tick-value",3,"template","tooltip","placement","content",4,"ngIf"],["class","ngx-slider-span ngx-slider-tick-legend",3,"innerText",4,"ngIf"],["class","ngx-slider-span ngx-slider-tick-legend",3,"innerHTML",4,"ngIf"],[1,"ngx-slider-span","ngx-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ngx-slider-span","ngx-slider-tick-legend",3,"innerText"],[1,"ngx-slider-span","ngx-slider-tick-legend",3,"innerHTML"]],template:function(r,i){1&r&&(y(0,"span",12,0),x(2,"span",13),_(),y(3,"span",14,1),x(5,"span",13),_(),y(6,"span",15,2),x(8,"span",13),_(),y(9,"span",16,3),x(11,"span",17),_(),x(12,"span",18,4)(14,"span",19,5)(16,"span",20,6)(18,"span",21,7)(20,"span",22,8)(22,"span",23,9)(24,"span",24,10),y(26,"span",25,11),V(28,Kj,5,10,"span",26),_()),2&r&&(f(6),jn("ngx-slider-transparent",i.fullBarTransparentClass),f(3),jn("ngx-slider-draggable",i.selectionBarDraggableClass),f(2),p("ngStyle",i.barStyle),f(),p("ngStyle",i.minPointerStyle),f(2),ec("display",i.range?"inherit":"none"),p("ngStyle",i.maxPointerStyle),f(12),jn("ngx-slider-ticks-values-under",i.ticksUnderValuesClass),p("hidden",!i.showTicks),f(2),p("ngForOf",i.ticks))},dependencies:[Do,ci,zn,Yb,Dr,Kg,So,Xj],styles:['.ngx-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;user-select:none;touch-action:pan-y} .ngx-slider.with-legend{margin-bottom:40px} .ngx-slider[disabled]{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ngx-slider[disabled] .ngx-slider-draggable{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-selection{background:#8b91a2} .ngx-slider[disabled] .ngx-slider-tick{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-tick.ngx-slider-selected{background:#8b91a2} .ngx-slider .ngx-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ngx-slider .ngx-slider-base{width:100%;height:100%;padding:0} .ngx-slider .ngx-slider-bar-wrapper{left:0;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ngx-slider .ngx-slider-draggable{cursor:move} .ngx-slider .ngx-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-transparent .ngx-slider-bar{background:transparent} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-left-out-selection .ngx-slider-bar{background:#df002d} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-right-out-selection .ngx-slider-bar{background:#03a688} .ngx-slider .ngx-slider-selection{z-index:2;background:#0db9f0;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} .ngx-slider .ngx-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px} .ngx-slider .ngx-slider-pointer:after{content:"";width:8px;height:8px;position:absolute;top:12px;left:12px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;background:#fff} .ngx-slider .ngx-slider-pointer:hover:after{background-color:#fff} .ngx-slider .ngx-slider-pointer.ngx-slider-active{z-index:4} .ngx-slider .ngx-slider-pointer.ngx-slider-active:after{background-color:#451aff} .ngx-slider .ngx-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:#55637d} .ngx-slider .ngx-slider-ticks{box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ngx-slider .ngx-slider-ticks-values-under .ngx-slider-tick-value{top:auto;bottom:-36px} .ngx-slider .ngx-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ngx-slider .ngx-slider-tick.ngx-slider-selected{background:#0db9f0} .ngx-slider .ngx-slider-tick-value{position:absolute;top:-34px;transform:translate(-50%)} .ngx-slider .ngx-slider-tick-legend{position:absolute;top:24px;transform:translate(-50%);max-width:50px;white-space:normal} .ngx-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;touch-action:pan-x} .ngx-slider.vertical .ngx-slider-base{width:100%;height:100%;padding:0} .ngx-slider.vertical .ngx-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ngx-slider.vertical .ngx-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ngx-slider.vertical .ngx-slider-pointer{left:-14px!important;top:auto;bottom:0} .ngx-slider.vertical .ngx-slider-bubble{left:16px!important;bottom:0} .ngx-slider.vertical .ngx-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ngx-slider.vertical .ngx-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ngx-slider.vertical .ngx-slider-tick-value{left:24px;top:auto;transform:translateY(-28%)} .ngx-slider.vertical .ngx-slider-tick-legend{top:auto;right:24px;transform:translateY(-28%);max-width:none;white-space:nowrap} .ngx-slider.vertical .ngx-slider-ticks-values-under .ngx-slider-tick-value{bottom:auto;left:auto;right:24px} .ngx-slider *{transition:none} .ngx-slider.animate .ngx-slider-bar-wrapper{transition:all linear .3s} .ngx-slider.animate .ngx-slider-selection{transition:background-color linear .3s} .ngx-slider.animate .ngx-slider-pointer{transition:all linear .3s} .ngx-slider.animate .ngx-slider-pointer:after{transition:all linear .3s} .ngx-slider.animate .ngx-slider-bubble{transition:all linear .3s} .ngx-slider.animate .ngx-slider-bubble.ngx-slider-limit{transition:opacity linear .3s} .ngx-slider.animate .ngx-slider-bubble.ngx-slider-combined{transition:opacity linear .3s} .ngx-slider.animate .ngx-slider-tick{transition:background-color linear .3s}']})}return e})(),n3=(()=>{class e{static \u0275fac=function(r){return new(r||e)};static \u0275mod=cr({type:e});static \u0275inj=Nn({imports:[eE]})}return e})();class dM{constructor(){this.riskHotspotsSettings=null,this.coverageInfoSettings=null}}class r3{constructor(){this.showLineCoverage=!0,this.showBranchCoverage=!0,this.showMethodCoverage=!0,this.showFullMethodCoverage=!0,this.visibleMetrics=[],this.groupingMaximum=0,this.grouping=0,this.historyComparisionDate="",this.historyComparisionType="",this.filter="",this.lineCoverageMin=0,this.lineCoverageMax=100,this.branchCoverageMin=0,this.branchCoverageMax=100,this.methodCoverageMin=0,this.methodCoverageMax=100,this.methodFullCoverageMin=0,this.methodFullCoverageMax=100,this.sortBy="name",this.sortOrder="asc",this.collapseStates=[]}}class i3{constructor(n){this.et="",this.et=n.et,this.cl=n.cl,this.ucl=n.ucl,this.cal=n.cal,this.tl=n.tl,this.lcq=n.lcq,this.cb=n.cb,this.tb=n.tb,this.bcq=n.bcq,this.cm=n.cm,this.fcm=n.fcm,this.tm=n.tm,this.mcq=n.mcq,this.mfcq=n.mfcq}get coverageRatioText(){return 0===this.tl?"-":this.cl+"/"+this.cal}get branchCoverageRatioText(){return 0===this.tb?"-":this.cb+"/"+this.tb}get methodCoverageRatioText(){return 0===this.tm?"-":this.cm+"/"+this.tm}get methodFullCoverageRatioText(){return 0===this.tm?"-":this.fcm+"/"+this.tm}}class jt{static roundNumber(n){return Math.floor(n*Math.pow(10,jt.maximumDecimalPlacesForCoverageQuotas))/Math.pow(10,jt.maximumDecimalPlacesForCoverageQuotas)}static getNthOrLastIndexOf(n,t,r){let i=0,o=-1,s=-1;for(;i{this.historicCoverages.push(new i3(r))}),this.metrics=n.metrics}get coverage(){return 0===this.coverableLines?NaN:jt.roundNumber(100*this.coveredLines/this.coverableLines)}visible(n){if(""!==n.filter&&-1===this.name.toLowerCase().indexOf(n.filter.toLowerCase()))return!1;let t=this.coverage,r=t;if(t=Number.isNaN(t)?0:t,r=Number.isNaN(r)?100:r,n.lineCoverageMin>t||n.lineCoverageMaxi||n.branchCoverageMaxs||n.methodCoverageMaxl||n.methodFullCoverageMax=this.currentHistoricCoverage.lcq)return!1}else if("branchCoverageIncreaseOnly"===n.historyComparisionType){let u=this.branchCoverage;if(isNaN(u)||u<=this.currentHistoricCoverage.bcq)return!1}else if("branchCoverageDecreaseOnly"===n.historyComparisionType){let u=this.branchCoverage;if(isNaN(u)||u>=this.currentHistoricCoverage.bcq)return!1}else if("methodCoverageIncreaseOnly"===n.historyComparisionType){let u=this.methodCoverage;if(isNaN(u)||u<=this.currentHistoricCoverage.mcq)return!1}else if("methodCoverageDecreaseOnly"===n.historyComparisionType){let u=this.methodCoverage;if(isNaN(u)||u>=this.currentHistoricCoverage.mcq)return!1}else if("fullMethodCoverageIncreaseOnly"===n.historyComparisionType){let u=this.methodFullCoverage;if(isNaN(u)||u<=this.currentHistoricCoverage.mfcq)return!1}else if("fullMethodCoverageDecreaseOnly"===n.historyComparisionType){let u=this.methodFullCoverage;if(isNaN(u)||u>=this.currentHistoricCoverage.mfcq)return!1}return!0}updateCurrentHistoricCoverage(n){if(this.currentHistoricCoverage=null,""!==n)for(let t=0;t-1&&null===t}visible(n){if(""!==n.filter&&this.name.toLowerCase().indexOf(n.filter.toLowerCase())>-1)return!0;for(let t=0;t{class e{get nativeWindow(){return function o3(){return window}()}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=re({token:e,factory:e.\u0275fac})}}return e})(),s3=(()=>{class e{constructor(){this.translations={}}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=sn({type:e,selectors:[["pro-button"]],inputs:{translations:"translations"},standalone:!1,decls:3,vars:1,consts:[["href","https://reportgenerator.io/pro","target","_blank",1,"pro-button","pro-button-tiny",3,"title"]],template:function(r,i){1&r&&(b(0,"\xa0"),y(1,"a",0),b(2,"PRO"),_()),2&r&&(f(),In("title",i.translations.methodCoverageProVersion))},encapsulation:2})}}return e})();function a3(e,n){if(1&e){const t=ge();y(0,"div",3)(1,"label")(2,"input",4),tt("ngModelChange",function(i){B(t);const o=v();return be(o.showBranchCoverage,i)||(o.showBranchCoverage=i),j(i)}),q("change",function(){B(t);const i=v();return j(i.showBranchCoverageChange.emit(i.showBranchCoverage))}),_(),b(3),_()()}if(2&e){const t=v();f(2),Qe("ngModel",t.showBranchCoverage),f(),U(" ",t.translations.branchCoverage,"")}}function l3(e,n){1&e&&x(0,"pro-button",9),2&e&&p("translations",v().translations)}function c3(e,n){1&e&&x(0,"pro-button",9),2&e&&p("translations",v().translations)}function u3(e,n){1&e&&x(0,"pro-button",9),2&e&&p("translations",v(2).translations)}function d3(e,n){1&e&&(y(0,"a",13),x(1,"i",14),_()),2&e&&p("href",v().$implicit.explanationUrl,ir)}function f3(e,n){if(1&e){const t=ge();y(0,"div",3)(1,"label")(2,"input",11),q("change",function(){const i=B(t).$implicit;return j(v(2).toggleMetric(i))}),_(),b(3),_(),b(4,"\xa0"),V(5,d3,2,1,"a",12),_()}if(2&e){const t=n.$implicit,r=v(2);f(2),p("checked",r.isMetricSelected(t))("disabled",!r.methodCoverageAvailable),f(),U(" ",t.name,""),f(2),p("ngIf",t.explanationUrl)}}function h3(e,n){if(1&e&&(X(0),x(1,"br")(2,"br"),y(3,"b"),b(4),_(),V(5,u3,1,1,"pro-button",7)(6,f3,6,4,"div",10),ee()),2&e){const t=v();f(4),O(t.translations.metrics),f(),p("ngIf",!t.methodCoverageAvailable),f(),p("ngForOf",t.metrics)}}let g3=(()=>{class e{constructor(){this.visible=!1,this.visibleChange=new we,this.translations={},this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.metrics=[],this.showLineCoverage=!1,this.showLineCoverageChange=new we,this.showBranchCoverage=!1,this.showBranchCoverageChange=new we,this.showMethodCoverage=!1,this.showMethodCoverageChange=new we,this.showMethodFullCoverage=!1,this.showMethodFullCoverageChange=new we,this.visibleMetrics=[],this.visibleMetricsChange=new we}isMetricSelected(t){return void 0!==this.visibleMetrics.find(r=>r.name===t.name)}toggleMetric(t){let r=this.visibleMetrics.find(i=>i.name===t.name);r?this.visibleMetrics.splice(this.visibleMetrics.indexOf(r),1):this.visibleMetrics.push(t),this.visibleMetrics=[...this.visibleMetrics],this.visibleMetricsChange.emit(this.visibleMetrics)}close(){this.visible=!1,this.visibleChange.emit(this.visible)}cancelEvent(t){t.stopPropagation()}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=sn({type:e,selectors:[["popup"]],inputs:{visible:"visible",translations:"translations",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",metrics:"metrics",showLineCoverage:"showLineCoverage",showBranchCoverage:"showBranchCoverage",showMethodCoverage:"showMethodCoverage",showMethodFullCoverage:"showMethodFullCoverage",visibleMetrics:"visibleMetrics"},outputs:{visibleChange:"visibleChange",showLineCoverageChange:"showLineCoverageChange",showBranchCoverageChange:"showBranchCoverageChange",showMethodCoverageChange:"showMethodCoverageChange",showMethodFullCoverageChange:"showMethodFullCoverageChange",visibleMetricsChange:"visibleMetricsChange"},standalone:!1,decls:22,vars:13,consts:[[1,"popup-container",3,"click"],[1,"popup",3,"click"],[1,"close",3,"click"],[1,"mt-1"],["type","checkbox",3,"ngModelChange","change","ngModel"],["class","mt-1",4,"ngIf"],["type","checkbox",3,"ngModelChange","change","ngModel","disabled"],[3,"translations",4,"ngIf"],[4,"ngIf"],[3,"translations"],["class","mt-1",4,"ngFor","ngForOf"],["type","checkbox",3,"change","checked","disabled"],["target","_blank",3,"href",4,"ngIf"],["target","_blank",3,"href"],[1,"icon-info-circled"]],template:function(r,i){1&r&&(y(0,"div",0),q("click",function(){return i.close()}),y(1,"div",1),q("click",function(s){return i.cancelEvent(s)}),y(2,"div",2),q("click",function(){return i.close()}),b(3,"X"),_(),y(4,"b"),b(5),_(),y(6,"div",3)(7,"label")(8,"input",4),tt("ngModelChange",function(s){return be(i.showLineCoverage,s)||(i.showLineCoverage=s),s}),q("change",function(){return i.showLineCoverageChange.emit(i.showLineCoverage)}),_(),b(9),_()(),V(10,a3,4,2,"div",5),y(11,"div",3)(12,"label")(13,"input",6),tt("ngModelChange",function(s){return be(i.showMethodCoverage,s)||(i.showMethodCoverage=s),s}),q("change",function(){return i.showMethodCoverageChange.emit(i.showMethodCoverage)}),_(),b(14),_(),V(15,l3,1,1,"pro-button",7),_(),y(16,"div",3)(17,"label")(18,"input",6),tt("ngModelChange",function(s){return be(i.showMethodFullCoverage,s)||(i.showMethodFullCoverage=s),s}),q("change",function(){return i.showMethodFullCoverageChange.emit(i.showMethodFullCoverage)}),_(),b(19),_(),V(20,c3,1,1,"pro-button",7),_(),V(21,h3,7,3,"ng-container",8),_()()),2&r&&(f(5),O(i.translations.coverageTypes),f(3),Qe("ngModel",i.showLineCoverage),f(),U(" ",i.translations.coverage,""),f(),p("ngIf",i.branchCoverageAvailable),f(3),Qe("ngModel",i.showMethodCoverage),p("disabled",!i.methodCoverageAvailable),f(),U(" ",i.translations.methodCoverage,""),f(),p("ngIf",!i.methodCoverageAvailable),f(3),Qe("ngModel",i.showMethodFullCoverage),p("disabled",!i.methodCoverageAvailable),f(),U(" ",i.translations.fullMethodCoverage,""),f(),p("ngIf",!i.methodCoverageAvailable),f(),p("ngIf",i.metrics.length>0))},dependencies:[ci,zn,Ig,jc,aa,s3],encapsulation:2})}}return e})();function p3(e,n){1&e&&x(0,"td",3)}function m3(e,n){1&e&&x(0,"td"),2&e&&Kt("green ",v().greenClass,"")}function v3(e,n){1&e&&x(0,"td"),2&e&&Kt("red ",v().redClass,"")}let hM=(()=>{class e{constructor(){this.grayVisible=!0,this.greenVisible=!1,this.redVisible=!1,this.greenClass="",this.redClass="",this._percentage=NaN}get percentage(){return this._percentage}set percentage(t){this._percentage=t,this.grayVisible=isNaN(t),this.greenVisible=!isNaN(t)&&Math.round(t)>0,this.redVisible=!isNaN(t)&&100-Math.round(t)>0,this.greenClass="covered"+Math.round(t),this.redClass="covered"+(100-Math.round(t))}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=sn({type:e,selectors:[["coverage-bar"]],inputs:{percentage:"percentage"},standalone:!1,decls:4,vars:3,consts:[[1,"coverage"],["class","gray covered100",4,"ngIf"],[3,"class",4,"ngIf"],[1,"gray","covered100"]],template:function(r,i){1&r&&(y(0,"table",0),V(1,p3,1,0,"td",1)(2,m3,1,3,"td",2)(3,v3,1,3,"td",2),_()),2&r&&(f(),p("ngIf",i.grayVisible),f(),p("ngIf",i.greenVisible),f(),p("ngIf",i.redVisible))},dependencies:[zn],encapsulation:2,changeDetection:0})}}return e})();const _3=["codeelement-row",""],y3=(e,n)=>({"icon-plus":e,"icon-minus":n});function C3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.coveredLines)}}function w3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.uncoveredLines)}}function D3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.coverableLines)}}function b3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.totalLines)}}function E3(e,n){if(1&e&&(y(0,"th",6),b(1),_()),2&e){const t=v();p("title",t.element.coverageRatioText),f(),O(t.element.coveragePercentage)}}function I3(e,n){if(1&e&&(y(0,"th",5),x(1,"coverage-bar",7),_()),2&e){const t=v();f(),p("percentage",t.element.coverage)}}function M3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.coveredBranches)}}function T3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.totalBranches)}}function S3(e,n){if(1&e&&(y(0,"th",6),b(1),_()),2&e){const t=v();p("title",t.element.branchCoverageRatioText),f(),O(t.element.branchCoveragePercentage)}}function N3(e,n){if(1&e&&(y(0,"th",5),x(1,"coverage-bar",7),_()),2&e){const t=v();f(),p("percentage",t.element.branchCoverage)}}function x3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.coveredMethods)}}function O3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.totalMethods)}}function A3(e,n){if(1&e&&(y(0,"th",6),b(1),_()),2&e){const t=v();p("title",t.element.methodCoverageRatioText),f(),O(t.element.methodCoveragePercentage)}}function R3(e,n){if(1&e&&(y(0,"th",5),x(1,"coverage-bar",7),_()),2&e){const t=v();f(),p("percentage",t.element.methodCoverage)}}function k3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.fullyCoveredMethods)}}function F3(e,n){if(1&e&&(y(0,"th",5),b(1),_()),2&e){const t=v();f(),O(t.element.totalMethods)}}function L3(e,n){if(1&e&&(y(0,"th",6),b(1),_()),2&e){const t=v();p("title",t.element.methodFullCoverageRatioText),f(),O(t.element.methodFullCoveragePercentage)}}function P3(e,n){if(1&e&&(y(0,"th",5),x(1,"coverage-bar",7),_()),2&e){const t=v();f(),p("percentage",t.element.methodFullCoverage)}}function V3(e,n){1&e&&x(0,"th",5)}let H3=(()=>{class e{constructor(){this.collapsed=!1,this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.methodFullCoverageAvailable=!1,this.visibleMetrics=[]}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=sn({type:e,selectors:[["","codeelement-row",""]],inputs:{element:"element",collapsed:"collapsed",lineCoverageAvailable:"lineCoverageAvailable",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",methodFullCoverageAvailable:"methodFullCoverageAvailable",visibleMetrics:"visibleMetrics"},standalone:!1,attrs:_3,decls:23,vars:24,consts:[["href","#",3,"click"],[3,"ngClass"],["class","right",4,"ngIf"],["class","right",3,"title",4,"ngIf"],["class","right",4,"ngFor","ngForOf"],[1,"right"],[1,"right",3,"title"],[3,"percentage"]],template:function(r,i){1&r&&(y(0,"th")(1,"a",0),q("click",function(s){return i.element.toggleCollapse(s)}),x(2,"i",1),b(3),_()(),V(4,C3,2,1,"th",2)(5,w3,2,1,"th",2)(6,D3,2,1,"th",2)(7,b3,2,1,"th",2)(8,E3,2,2,"th",3)(9,I3,2,1,"th",2)(10,M3,2,1,"th",2)(11,T3,2,1,"th",2)(12,S3,2,2,"th",3)(13,N3,2,1,"th",2)(14,x3,2,1,"th",2)(15,O3,2,1,"th",2)(16,A3,2,2,"th",3)(17,R3,2,1,"th",2)(18,k3,2,1,"th",2)(19,F3,2,1,"th",2)(20,L3,2,2,"th",3)(21,P3,2,1,"th",2)(22,V3,1,0,"th",4)),2&r&&(f(2),p("ngClass",xh(21,y3,i.element.collapsed,!i.element.collapsed)),f(),U(" ",i.element.name,""),f(),p("ngIf",i.lineCoverageAvailable),f(),p("ngIf",i.lineCoverageAvailable),f(),p("ngIf",i.lineCoverageAvailable),f(),p("ngIf",i.lineCoverageAvailable),f(),p("ngIf",i.lineCoverageAvailable),f(),p("ngIf",i.lineCoverageAvailable),f(),p("ngIf",i.branchCoverageAvailable),f(),p("ngIf",i.branchCoverageAvailable),f(),p("ngIf",i.branchCoverageAvailable),f(),p("ngIf",i.branchCoverageAvailable),f(),p("ngIf",i.methodCoverageAvailable),f(),p("ngIf",i.methodCoverageAvailable),f(),p("ngIf",i.methodCoverageAvailable),f(),p("ngIf",i.methodCoverageAvailable),f(),p("ngIf",i.methodFullCoverageAvailable),f(),p("ngIf",i.methodFullCoverageAvailable),f(),p("ngIf",i.methodFullCoverageAvailable),f(),p("ngIf",i.methodFullCoverageAvailable),f(),p("ngForOf",i.visibleMetrics))},dependencies:[Do,ci,zn,hM],encapsulation:2,changeDetection:0})}}return e})();const B3=["coverage-history-chart",""];let j3=(()=>{class e{constructor(){this.path=null,this._historicCoverages=[]}get historicCoverages(){return this._historicCoverages}set historicCoverages(t){if(this._historicCoverages=t,t.length>1){let r="";for(let i=0;i({historiccoverageoffset:e});function $3(e,n){if(1&e&&(y(0,"a",5),b(1),_()),2&e){const t=v();p("href",t.clazz.reportPath,ir),f(),O(t.clazz.name)}}function z3(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v();f(),O(t.clazz.name)}}function G3(e,n){if(1&e&&(X(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(),Kt("currenthistory ",t.getClassName(t.clazz.coveredLines,t.clazz.currentHistoricCoverage.cl),""),f(),U(" ",t.clazz.coveredLines," "),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),U(" ",t.clazz.currentHistoricCoverage.cl," ")}}function q3(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.coveredLines," ")}}function W3(e,n){if(1&e&&(y(0,"td",6),V(1,G3,5,6,"ng-container",1)(2,q3,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function Z3(e,n){if(1&e&&(X(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(),Kt("currenthistory ",t.getClassName(t.clazz.currentHistoricCoverage.ucl,t.clazz.uncoveredLines),""),f(),U(" ",t.clazz.uncoveredLines," "),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),U(" ",t.clazz.currentHistoricCoverage.ucl," ")}}function Q3(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.uncoveredLines," ")}}function Y3(e,n){if(1&e&&(y(0,"td",6),V(1,Z3,5,6,"ng-container",1)(2,Q3,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function K3(e,n){if(1&e&&(X(0),y(1,"div",8),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(2),O(t.clazz.coverableLines),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),O(t.clazz.currentHistoricCoverage.cal)}}function J3(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.coverableLines," ")}}function X3(e,n){if(1&e&&(y(0,"td",6),V(1,K3,5,3,"ng-container",1)(2,J3,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function eU(e,n){if(1&e&&(X(0),y(1,"div",8),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(2),O(t.clazz.totalLines),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),O(t.clazz.currentHistoricCoverage.tl)}}function tU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.totalLines," ")}}function nU(e,n){if(1&e&&(y(0,"td",6),V(1,eU,5,3,"ng-container",1)(2,tU,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function rU(e,n){if(1&e&&x(0,"div",11),2&e){const t=v(2);In("title",t.translations.history+": "+t.translations.coverage),p("historicCoverages",t.clazz.lineCoverageHistory)("ngClass",_o(3,eu,null!==t.clazz.currentHistoricCoverage))}}function iU(e,n){if(1&e&&(X(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(),Kt("currenthistory ",t.getClassName(t.clazz.coverage,t.clazz.currentHistoricCoverage.lcq),""),f(),U(" ",t.clazz.coveragePercentage," "),f(),p("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.coverageRatioText),f(),U("",t.clazz.currentHistoricCoverage.lcq,"%")}}function oU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.coveragePercentage," ")}}function sU(e,n){if(1&e&&(y(0,"td",9),V(1,rU,1,5,"div",10)(2,iU,5,6,"ng-container",1)(3,oU,2,1,"ng-container",1),_()),2&e){const t=v();p("title",t.clazz.coverageRatioText),f(),p("ngIf",t.clazz.lineCoverageHistory.length>1),f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function aU(e,n){if(1&e&&(y(0,"td",6),x(1,"coverage-bar",12),_()),2&e){const t=v();f(),p("percentage",t.clazz.coverage)}}function lU(e,n){if(1&e&&(X(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(),Kt("currenthistory ",t.getClassName(t.clazz.coveredBranches,t.clazz.currentHistoricCoverage.cb),""),f(),U(" ",t.clazz.coveredBranches," "),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),U(" ",t.clazz.currentHistoricCoverage.cb," ")}}function cU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.coveredBranches," ")}}function uU(e,n){if(1&e&&(y(0,"td",6),V(1,lU,5,6,"ng-container",1)(2,cU,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function dU(e,n){if(1&e&&(X(0),y(1,"div",8),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(2),O(t.clazz.totalBranches),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),O(t.clazz.currentHistoricCoverage.tb)}}function fU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.totalBranches," ")}}function hU(e,n){if(1&e&&(y(0,"td",6),V(1,dU,5,3,"ng-container",1)(2,fU,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function gU(e,n){if(1&e&&x(0,"div",14),2&e){const t=v(2);In("title",t.translations.history+": "+t.translations.branchCoverage),p("historicCoverages",t.clazz.branchCoverageHistory)("ngClass",_o(3,eu,null!==t.clazz.currentHistoricCoverage))}}function pU(e,n){if(1&e&&(X(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(),Kt("currenthistory ",t.getClassName(t.clazz.branchCoverage,t.clazz.currentHistoricCoverage.bcq),""),f(),U(" ",t.clazz.branchCoveragePercentage," "),f(),p("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.branchCoverageRatioText),f(),U("",t.clazz.currentHistoricCoverage.bcq,"%")}}function mU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.branchCoveragePercentage," ")}}function vU(e,n){if(1&e&&(y(0,"td",9),V(1,gU,1,5,"div",13)(2,pU,5,6,"ng-container",1)(3,mU,2,1,"ng-container",1),_()),2&e){const t=v();p("title",t.clazz.branchCoverageRatioText),f(),p("ngIf",t.clazz.branchCoverageHistory.length>1),f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function _U(e,n){if(1&e&&(y(0,"td",6),x(1,"coverage-bar",12),_()),2&e){const t=v();f(),p("percentage",t.clazz.branchCoverage)}}function yU(e,n){if(1&e&&(X(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(),Kt("currenthistory ",t.getClassName(t.clazz.coveredMethods,t.clazz.currentHistoricCoverage.cm),""),f(),U(" ",t.clazz.coveredMethods," "),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),U(" ",t.clazz.currentHistoricCoverage.cm," ")}}function CU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.coveredMethods," ")}}function wU(e,n){if(1&e&&(y(0,"td",6),V(1,yU,5,6,"ng-container",1)(2,CU,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function DU(e,n){if(1&e&&(X(0),y(1,"div",8),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(2),O(t.clazz.totalMethods),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),O(t.clazz.currentHistoricCoverage.tm)}}function bU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.totalMethods," ")}}function EU(e,n){if(1&e&&(y(0,"td",6),V(1,DU,5,3,"ng-container",1)(2,bU,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function IU(e,n){if(1&e&&x(0,"div",16),2&e){const t=v(2);In("title",t.translations.history+": "+t.translations.methodCoverage),p("historicCoverages",t.clazz.methodCoverageHistory)("ngClass",_o(3,eu,null!==t.clazz.currentHistoricCoverage))}}function MU(e,n){if(1&e&&(X(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(),Kt("currenthistory ",t.getClassName(t.clazz.methodCoverage,t.clazz.currentHistoricCoverage.mcq),""),f(),U(" ",t.clazz.methodCoveragePercentage," "),f(),p("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.methodCoverageRatioText),f(),U("",t.clazz.currentHistoricCoverage.mcq,"%")}}function TU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.methodCoveragePercentage," ")}}function SU(e,n){if(1&e&&(y(0,"td",9),V(1,IU,1,5,"div",15)(2,MU,5,6,"ng-container",1)(3,TU,2,1,"ng-container",1),_()),2&e){const t=v();p("title",t.clazz.methodCoverageRatioText),f(),p("ngIf",t.clazz.methodCoverageHistory.length>1),f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function NU(e,n){if(1&e&&(y(0,"td",6),x(1,"coverage-bar",12),_()),2&e){const t=v();f(),p("percentage",t.clazz.methodCoverage)}}function xU(e,n){if(1&e&&(X(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(),Kt("currenthistory ",t.getClassName(t.clazz.fullyCoveredMethods,t.clazz.currentHistoricCoverage.fcm),""),f(),U(" ",t.clazz.fullyCoveredMethods," "),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),U(" ",t.clazz.currentHistoricCoverage.fcm," ")}}function OU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.fullyCoveredMethods," ")}}function AU(e,n){if(1&e&&(y(0,"td",6),V(1,xU,5,6,"ng-container",1)(2,OU,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function RU(e,n){if(1&e&&(X(0),y(1,"div",8),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(2),O(t.clazz.totalMethods),f(),p("title",t.clazz.currentHistoricCoverage.et),f(),O(t.clazz.currentHistoricCoverage.tm)}}function kU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.totalMethods," ")}}function FU(e,n){if(1&e&&(y(0,"td",6),V(1,RU,5,3,"ng-container",1)(2,kU,2,1,"ng-container",1),_()),2&e){const t=v();f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function LU(e,n){if(1&e&&x(0,"div",18),2&e){const t=v(2);In("title",t.translations.history+": "+t.translations.fullMethodCoverage),p("historicCoverages",t.clazz.methodFullCoverageHistory)("ngClass",_o(3,eu,null!==t.clazz.currentHistoricCoverage))}}function PU(e,n){if(1&e&&(X(0),y(1,"div"),b(2),_(),y(3,"div",7),b(4),_(),ee()),2&e){const t=v(2);f(),Kt("currenthistory ",t.getClassName(t.clazz.methodFullCoverage,t.clazz.currentHistoricCoverage.mfcq),""),f(),U(" ",t.clazz.methodFullCoveragePercentage," "),f(),p("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.methodFullCoverageRatioText),f(),U("",t.clazz.currentHistoricCoverage.mfcq,"%")}}function VU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),U(" ",t.clazz.methodFullCoveragePercentage," ")}}function HU(e,n){if(1&e&&(y(0,"td",9),V(1,LU,1,5,"div",17)(2,PU,5,6,"ng-container",1)(3,VU,2,1,"ng-container",1),_()),2&e){const t=v();p("title",t.clazz.methodFullCoverageRatioText),f(),p("ngIf",t.clazz.methodFullCoverageHistory.length>1),f(),p("ngIf",null!==t.clazz.currentHistoricCoverage),f(),p("ngIf",null===t.clazz.currentHistoricCoverage)}}function BU(e,n){if(1&e&&(y(0,"td",6),x(1,"coverage-bar",12),_()),2&e){const t=v();f(),p("percentage",t.clazz.methodFullCoverage)}}function jU(e,n){if(1&e&&(y(0,"td",6),b(1),_()),2&e){const t=n.$implicit,r=v();f(),O(r.clazz.metrics[t.abbreviation])}}let UU=(()=>{class e{constructor(){this.translations={},this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.methodFullCoverageAvailable=!1,this.visibleMetrics=[],this.historyComparisionDate=""}getClassName(t,r){return t>r?"lightgreen":t({"icon-up-dir_active":e,"icon-down-dir_active":n,"icon-up-down-dir":t});function $U(e,n){if(1&e){const t=ge();y(0,"popup",30),tt("visibleChange",function(i){B(t);const o=v(2);return be(o.popupVisible,i)||(o.popupVisible=i),j(i)})("showLineCoverageChange",function(i){B(t);const o=v(2);return be(o.settings.showLineCoverage,i)||(o.settings.showLineCoverage=i),j(i)})("showBranchCoverageChange",function(i){B(t);const o=v(2);return be(o.settings.showBranchCoverage,i)||(o.settings.showBranchCoverage=i),j(i)})("showMethodCoverageChange",function(i){B(t);const o=v(2);return be(o.settings.showMethodCoverage,i)||(o.settings.showMethodCoverage=i),j(i)})("showMethodFullCoverageChange",function(i){B(t);const o=v(2);return be(o.settings.showFullMethodCoverage,i)||(o.settings.showFullMethodCoverage=i),j(i)})("visibleMetricsChange",function(i){B(t);const o=v(2);return be(o.settings.visibleMetrics,i)||(o.settings.visibleMetrics=i),j(i)}),_()}if(2&e){const t=v(2);Qe("visible",t.popupVisible),p("translations",t.translations)("branchCoverageAvailable",t.branchCoverageAvailable)("methodCoverageAvailable",t.methodCoverageAvailable)("metrics",t.metrics),Qe("showLineCoverage",t.settings.showLineCoverage)("showBranchCoverage",t.settings.showBranchCoverage)("showMethodCoverage",t.settings.showMethodCoverage)("showMethodFullCoverage",t.settings.showFullMethodCoverage)("visibleMetrics",t.settings.visibleMetrics)}}function zU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),O(t.translations.noGrouping)}}function GU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),O(t.translations.byAssembly)}}function qU(e,n){if(1&e&&(X(0),b(1),ee()),2&e){const t=v(2);f(),O(t.translations.byNamespace+" "+t.settings.grouping)}}function WU(e,n){if(1&e&&(y(0,"option",34),b(1),_()),2&e){const t=n.$implicit;p("value",t),f(),O(t)}}function ZU(e,n){1&e&&x(0,"br")}function QU(e,n){if(1&e&&(y(0,"option",44),b(1),_()),2&e){const t=v(4);f(),U(" ",t.translations.branchCoverageIncreaseOnly," ")}}function YU(e,n){if(1&e&&(y(0,"option",45),b(1),_()),2&e){const t=v(4);f(),U(" ",t.translations.branchCoverageDecreaseOnly," ")}}function KU(e,n){if(1&e&&(y(0,"option",46),b(1),_()),2&e){const t=v(4);f(),U(" ",t.translations.methodCoverageIncreaseOnly," ")}}function JU(e,n){if(1&e&&(y(0,"option",47),b(1),_()),2&e){const t=v(4);f(),U(" ",t.translations.methodCoverageDecreaseOnly," ")}}function XU(e,n){if(1&e&&(y(0,"option",48),b(1),_()),2&e){const t=v(4);f(),U(" ",t.translations.fullMethodCoverageIncreaseOnly," ")}}function e$(e,n){if(1&e&&(y(0,"option",49),b(1),_()),2&e){const t=v(4);f(),U(" ",t.translations.fullMethodCoverageDecreaseOnly," ")}}function t$(e,n){if(1&e){const t=ge();y(0,"div")(1,"select",31),tt("ngModelChange",function(i){B(t);const o=v(3);return be(o.settings.historyComparisionType,i)||(o.settings.historyComparisionType=i),j(i)}),y(2,"option",32),b(3),_(),y(4,"option",35),b(5),_(),y(6,"option",36),b(7),_(),y(8,"option",37),b(9),_(),V(10,QU,2,1,"option",38)(11,YU,2,1,"option",39)(12,KU,2,1,"option",40)(13,JU,2,1,"option",41)(14,XU,2,1,"option",42)(15,e$,2,1,"option",43),_()()}if(2&e){const t=v(3);f(),Qe("ngModel",t.settings.historyComparisionType),f(2),O(t.translations.filter),f(2),O(t.translations.allChanges),f(2),O(t.translations.lineCoverageIncreaseOnly),f(2),O(t.translations.lineCoverageDecreaseOnly),f(),p("ngIf",t.branchCoverageAvailable),f(),p("ngIf",t.branchCoverageAvailable),f(),p("ngIf",t.methodCoverageAvailable),f(),p("ngIf",t.methodCoverageAvailable),f(),p("ngIf",t.methodCoverageAvailable),f(),p("ngIf",t.methodCoverageAvailable)}}function n$(e,n){if(1&e){const t=ge();X(0),y(1,"div"),b(2),y(3,"select",31),tt("ngModelChange",function(i){B(t);const o=v(2);return be(o.settings.historyComparisionDate,i)||(o.settings.historyComparisionDate=i),j(i)}),q("ngModelChange",function(){return B(t),j(v(2).updateCurrentHistoricCoverage())}),y(4,"option",32),b(5),_(),V(6,WU,2,2,"option",33),_()(),V(7,ZU,1,0,"br",0)(8,t$,16,11,"div",0),ee()}if(2&e){const t=v(2);f(2),U(" ",t.translations.compareHistory," "),f(),Qe("ngModel",t.settings.historyComparisionDate),f(2),O(t.translations.date),f(),p("ngForOf",t.historicCoverageExecutionTimes),f(),p("ngIf",""!==t.settings.historyComparisionDate),f(),p("ngIf",""!==t.settings.historyComparisionDate)}}function r$(e,n){1&e&&x(0,"col",50)}function i$(e,n){1&e&&x(0,"col",51)}function o$(e,n){1&e&&x(0,"col",52)}function s$(e,n){1&e&&x(0,"col",53)}function a$(e,n){1&e&&x(0,"col",54)}function l$(e,n){1&e&&x(0,"col",55)}function c$(e,n){1&e&&x(0,"col",50)}function u$(e,n){1&e&&x(0,"col",53)}function d$(e,n){1&e&&x(0,"col",54)}function f$(e,n){1&e&&x(0,"col",55)}function h$(e,n){1&e&&x(0,"col",50)}function g$(e,n){1&e&&x(0,"col",53)}function p$(e,n){1&e&&x(0,"col",54)}function m$(e,n){1&e&&x(0,"col",55)}function v$(e,n){1&e&&x(0,"col",50)}function _$(e,n){1&e&&x(0,"col",53)}function y$(e,n){1&e&&x(0,"col",54)}function C$(e,n){1&e&&x(0,"col",55)}function w$(e,n){1&e&&x(0,"col",55)}function D$(e,n){if(1&e&&(y(0,"th",56),b(1),_()),2&e){const t=v(2);f(),O(t.translations.coverage)}}function b$(e,n){if(1&e&&(y(0,"th",57),b(1),_()),2&e){const t=v(2);f(),O(t.translations.branchCoverage)}}function E$(e,n){if(1&e&&(y(0,"th",57),b(1),_()),2&e){const t=v(2);f(),O(t.translations.methodCoverage)}}function I$(e,n){if(1&e&&(y(0,"th",57),b(1),_()),2&e){const t=v(2);f(),O(t.translations.fullMethodCoverage)}}function M$(e,n){if(1&e&&(y(0,"th",58),b(1),_()),2&e){const t=v(2);_t("colspan",t.settings.visibleMetrics.length),f(),O(t.translations.metrics)}}function T$(e,n){if(1&e){const t=ge();y(0,"td",56)(1,"ngx-slider",59),tt("valueChange",function(i){B(t);const o=v(2);return be(o.settings.lineCoverageMin,i)||(o.settings.lineCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const o=v(2);return be(o.settings.lineCoverageMax,i)||(o.settings.lineCoverageMax=i),j(i)}),_()()}if(2&e){const t=v(2);f(),Qe("value",t.settings.lineCoverageMin)("highValue",t.settings.lineCoverageMax),p("options",t.sliderOptions)}}function S$(e,n){if(1&e){const t=ge();y(0,"td",57)(1,"ngx-slider",59),tt("valueChange",function(i){B(t);const o=v(2);return be(o.settings.branchCoverageMin,i)||(o.settings.branchCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const o=v(2);return be(o.settings.branchCoverageMax,i)||(o.settings.branchCoverageMax=i),j(i)}),_()()}if(2&e){const t=v(2);f(),Qe("value",t.settings.branchCoverageMin)("highValue",t.settings.branchCoverageMax),p("options",t.sliderOptions)}}function N$(e,n){if(1&e){const t=ge();y(0,"td",57)(1,"ngx-slider",59),tt("valueChange",function(i){B(t);const o=v(2);return be(o.settings.methodCoverageMin,i)||(o.settings.methodCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const o=v(2);return be(o.settings.methodCoverageMax,i)||(o.settings.methodCoverageMax=i),j(i)}),_()()}if(2&e){const t=v(2);f(),Qe("value",t.settings.methodCoverageMin)("highValue",t.settings.methodCoverageMax),p("options",t.sliderOptions)}}function x$(e,n){if(1&e){const t=ge();y(0,"td",57)(1,"ngx-slider",59),tt("valueChange",function(i){B(t);const o=v(2);return be(o.settings.methodFullCoverageMin,i)||(o.settings.methodFullCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const o=v(2);return be(o.settings.methodFullCoverageMax,i)||(o.settings.methodFullCoverageMax=i),j(i)}),_()()}if(2&e){const t=v(2);f(),Qe("value",t.settings.methodFullCoverageMin)("highValue",t.settings.methodFullCoverageMax),p("options",t.sliderOptions)}}function O$(e,n){1&e&&x(0,"td",58),2&e&&_t("colspan",v(2).settings.visibleMetrics.length)}function A$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("covered",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"covered"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered"!==t.settings.sortBy)),f(),O(t.translations.covered)}}function R$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("uncovered",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"uncovered"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"uncovered"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"uncovered"!==t.settings.sortBy)),f(),O(t.translations.uncovered)}}function k$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("coverable",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"coverable"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"coverable"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"coverable"!==t.settings.sortBy)),f(),O(t.translations.coverable)}}function F$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("total",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"total"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total"!==t.settings.sortBy)),f(),O(t.translations.total)}}function L$(e,n){if(1&e){const t=ge();y(0,"th",61)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("coverage",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"coverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"coverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"coverage"!==t.settings.sortBy)),f(),O(t.translations.percentage)}}function P$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("covered_branches",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"covered_branches"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered_branches"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered_branches"!==t.settings.sortBy)),f(),O(t.translations.covered)}}function V$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("total_branches",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"total_branches"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_branches"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_branches"!==t.settings.sortBy)),f(),O(t.translations.total)}}function H$(e,n){if(1&e){const t=ge();y(0,"th",61)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("branchcoverage",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"branchcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"branchcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"branchcoverage"!==t.settings.sortBy)),f(),O(t.translations.percentage)}}function B$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("covered_methods",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"covered_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered_methods"!==t.settings.sortBy)),f(),O(t.translations.covered)}}function j$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("total_methods",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"total_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_methods"!==t.settings.sortBy)),f(),O(t.translations.total)}}function U$(e,n){if(1&e){const t=ge();y(0,"th",61)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("methodcoverage",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"methodcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"methodcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"methodcoverage"!==t.settings.sortBy)),f(),O(t.translations.percentage)}}function $$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("fullycovered_methods",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"fullycovered_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"fullycovered_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"fullycovered_methods"!==t.settings.sortBy)),f(),O(t.translations.covered)}}function z$(e,n){if(1&e){const t=ge();y(0,"th",60)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("total_methods",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"total_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_methods"!==t.settings.sortBy)),f(),O(t.translations.total)}}function G$(e,n){if(1&e){const t=ge();y(0,"th",61)(1,"a",3),q("click",function(i){return B(t),j(v(2).updateSorting("methodfullcoverage",i))}),x(2,"i",26),b(3),_()()}if(2&e){const t=v(2);f(2),p("ngClass",Fe(2,ut,"methodfullcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"methodfullcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"methodfullcoverage"!==t.settings.sortBy)),f(),O(t.translations.percentage)}}function q$(e,n){if(1&e){const t=ge();y(0,"th")(1,"a",3),q("click",function(i){const o=B(t).$implicit;return j(v(2).updateSorting(o.abbreviation,i))}),x(2,"i",26),b(3),_(),y(4,"a",62),x(5,"i",63),_()()}if(2&e){const t=n.$implicit,r=v(2);f(2),p("ngClass",Fe(3,ut,r.settings.sortBy===t.abbreviation&&"asc"===r.settings.sortOrder,r.settings.sortBy===t.abbreviation&&"desc"===r.settings.sortOrder,r.settings.sortBy!==t.abbreviation)),f(),O(t.name),f(),In("href",t.explanationUrl,ir)}}function W$(e,n){if(1&e&&x(0,"tr",65),2&e){const t=v().$implicit,r=v(2);p("element",t)("collapsed",t.collapsed)("lineCoverageAvailable",r.settings.showLineCoverage)("branchCoverageAvailable",r.branchCoverageAvailable&&r.settings.showBranchCoverage)("methodCoverageAvailable",r.methodCoverageAvailable&&r.settings.showMethodCoverage)("methodFullCoverageAvailable",r.methodCoverageAvailable&&r.settings.showFullMethodCoverage)("visibleMetrics",r.settings.visibleMetrics)}}function Z$(e,n){if(1&e&&x(0,"tr",67),2&e){const t=v().$implicit,r=v(3);p("clazz",t)("translations",r.translations)("lineCoverageAvailable",r.settings.showLineCoverage)("branchCoverageAvailable",r.branchCoverageAvailable&&r.settings.showBranchCoverage)("methodCoverageAvailable",r.methodCoverageAvailable&&r.settings.showMethodCoverage)("methodFullCoverageAvailable",r.methodCoverageAvailable&&r.settings.showFullMethodCoverage)("visibleMetrics",r.settings.visibleMetrics)("historyComparisionDate",r.settings.historyComparisionDate)}}function Q$(e,n){if(1&e&&(X(0),V(1,Z$,1,8,"tr",66),ee()),2&e){const t=n.$implicit,r=v().$implicit,i=v(2);f(),p("ngIf",!r.collapsed&&t.visible(i.settings))}}function Y$(e,n){if(1&e&&x(0,"tr",70),2&e){const t=v().$implicit,r=v(5);p("clazz",t)("translations",r.translations)("lineCoverageAvailable",r.settings.showLineCoverage)("branchCoverageAvailable",r.branchCoverageAvailable&&r.settings.showBranchCoverage)("methodCoverageAvailable",r.methodCoverageAvailable&&r.settings.showMethodCoverage)("methodFullCoverageAvailable",r.methodCoverageAvailable&&r.settings.showFullMethodCoverage)("visibleMetrics",r.settings.visibleMetrics)("historyComparisionDate",r.settings.historyComparisionDate)}}function K$(e,n){if(1&e&&(X(0),V(1,Y$,1,8,"tr",69),ee()),2&e){const t=n.$implicit,r=v(2).$implicit,i=v(3);f(),p("ngIf",!r.collapsed&&t.visible(i.settings))}}function J$(e,n){if(1&e&&(X(0),x(1,"tr",68),V(2,K$,2,1,"ng-container",29),ee()),2&e){const t=v().$implicit,r=v(3);f(),p("element",t)("collapsed",t.collapsed)("lineCoverageAvailable",r.settings.showLineCoverage)("branchCoverageAvailable",r.branchCoverageAvailable&&r.settings.showBranchCoverage)("methodCoverageAvailable",r.methodCoverageAvailable&&r.settings.showMethodCoverage)("methodFullCoverageAvailable",r.methodCoverageAvailable&&r.settings.showFullMethodCoverage)("visibleMetrics",r.settings.visibleMetrics),f(),p("ngForOf",t.classes)}}function X$(e,n){if(1&e&&(X(0),V(1,J$,3,8,"ng-container",0),ee()),2&e){const t=n.$implicit,r=v().$implicit,i=v(2);f(),p("ngIf",!r.collapsed&&t.visible(i.settings))}}function ez(e,n){if(1&e&&(X(0),V(1,W$,1,7,"tr",64)(2,Q$,2,1,"ng-container",29)(3,X$,2,1,"ng-container",29),ee()),2&e){const t=n.$implicit,r=v(2);f(),p("ngIf",t.visible(r.settings)),f(),p("ngForOf",t.classes),f(),p("ngForOf",t.subElements)}}function tz(e,n){if(1&e){const t=ge();y(0,"div"),V(1,$U,1,10,"popup",1),y(2,"div",2)(3,"div")(4,"a",3),q("click",function(i){return B(t),j(v().collapseAll(i))}),b(5),_(),b(6," | "),y(7,"a",3),q("click",function(i){return B(t),j(v().expandAll(i))}),b(8),_()(),y(9,"div",4)(10,"span",5),V(11,zU,2,1,"ng-container",0)(12,GU,2,1,"ng-container",0)(13,qU,2,1,"ng-container",0),_(),x(14,"br"),b(15),y(16,"input",6),tt("ngModelChange",function(i){B(t);const o=v();return be(o.settings.grouping,i)||(o.settings.grouping=i),j(i)}),q("ngModelChange",function(){return B(t),j(v().updateCoverageInfo())}),_()(),y(17,"div",4),V(18,n$,9,6,"ng-container",0),_(),y(19,"div",7)(20,"button",8),q("click",function(){return B(t),j(v().popupVisible=!0)}),x(21,"i",9),b(22),_()()(),y(23,"div",10)(24,"table",11)(25,"colgroup"),x(26,"col",12),V(27,r$,1,0,"col",13)(28,i$,1,0,"col",14)(29,o$,1,0,"col",15)(30,s$,1,0,"col",16)(31,a$,1,0,"col",17)(32,l$,1,0,"col",18)(33,c$,1,0,"col",13)(34,u$,1,0,"col",16)(35,d$,1,0,"col",17)(36,f$,1,0,"col",18)(37,h$,1,0,"col",13)(38,g$,1,0,"col",16)(39,p$,1,0,"col",17)(40,m$,1,0,"col",18)(41,v$,1,0,"col",13)(42,_$,1,0,"col",16)(43,y$,1,0,"col",17)(44,C$,1,0,"col",18)(45,w$,1,0,"col",19),_(),y(46,"thead")(47,"tr",20),x(48,"th"),V(49,D$,2,1,"th",21)(50,b$,2,1,"th",22)(51,E$,2,1,"th",22)(52,I$,2,1,"th",22)(53,M$,2,2,"th",23),_(),y(54,"tr",24)(55,"td")(56,"input",25),tt("ngModelChange",function(i){B(t);const o=v();return be(o.settings.filter,i)||(o.settings.filter=i),j(i)}),_()(),V(57,T$,2,3,"td",21)(58,S$,2,3,"td",22)(59,N$,2,3,"td",22)(60,x$,2,3,"td",22)(61,O$,1,1,"td",23),_(),y(62,"tr")(63,"th")(64,"a",3),q("click",function(i){return B(t),j(v().updateSorting("name",i))}),x(65,"i",26),b(66),_()(),V(67,A$,4,6,"th",27)(68,R$,4,6,"th",27)(69,k$,4,6,"th",27)(70,F$,4,6,"th",27)(71,L$,4,6,"th",28)(72,P$,4,6,"th",27)(73,V$,4,6,"th",27)(74,H$,4,6,"th",28)(75,B$,4,6,"th",27)(76,j$,4,6,"th",27)(77,U$,4,6,"th",28)(78,$$,4,6,"th",27)(79,z$,4,6,"th",27)(80,G$,4,6,"th",28)(81,q$,6,7,"th",29),_()(),y(82,"tbody"),V(83,ez,4,3,"ng-container",29),_()()()()}if(2&e){const t=v();f(),p("ngIf",t.popupVisible),f(4),O(t.translations.collapseAll),f(3),O(t.translations.expandAll),f(3),p("ngIf",-1===t.settings.grouping),f(),p("ngIf",0===t.settings.grouping),f(),p("ngIf",t.settings.grouping>0),f(2),U(" ",t.translations.grouping," "),f(),p("max",t.settings.groupingMaximum),Qe("ngModel",t.settings.grouping),f(2),p("ngIf",t.historicCoverageExecutionTimes.length>0),f(4),O(t.metrics.length>0?t.translations.selectCoverageTypesAndMetrics:t.translations.selectCoverageTypes),f(5),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),p("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),p("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),p("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),p("ngForOf",t.settings.visibleMetrics),f(4),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),p("ngIf",t.settings.visibleMetrics.length>0),f(3),In("placeholder",t.translations.filter),Qe("ngModel",t.settings.filter),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),p("ngIf",t.settings.visibleMetrics.length>0),f(4),p("ngClass",Fe(60,ut,"name"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"name"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"name"!==t.settings.sortBy)),f(),O(t.translations.name),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.settings.showLineCoverage),f(),p("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),p("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),p("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),p("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),p("ngForOf",t.settings.visibleMetrics),f(2),p("ngForOf",t.codeElements)}}let nz=(()=>{class e{constructor(t){this.queryString="",this.historicCoverageExecutionTimes=[],this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.metrics=[],this.codeElements=[],this.translations={},this.popupVisible=!1,this.settings=new r3,this.sliderOptions={floor:0,ceil:100,step:1,ticksArray:[0,10,20,30,40,50,60,70,80,90,100],showTicks:!0},this.window=t.nativeWindow}ngOnInit(){this.historicCoverageExecutionTimes=this.window.historicCoverageExecutionTimes,this.branchCoverageAvailable=this.window.branchCoverageAvailable,this.methodCoverageAvailable=this.window.methodCoverageAvailable,this.metrics=this.window.metrics,this.translations=this.window.translations,jt.maximumDecimalPlacesForCoverageQuotas=this.window.maximumDecimalPlacesForCoverageQuotas;let t=!1;if(void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.coverageInfoSettings)console.log("Coverage info: Restoring from history",this.window.history.state.coverageInfoSettings),t=!0,this.settings=JSON.parse(JSON.stringify(this.window.history.state.coverageInfoSettings));else{let i=0,o=this.window.assemblies;for(let s=0;s-1&&(this.queryString=window.location.href.substring(r)),this.updateCoverageInfo(),t&&this.restoreCollapseState()}onBeforeUnload(){if(this.saveCollapseState(),void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Coverage info: Updating history",this.settings);let t=new dM;null!==window.history.state&&(t=JSON.parse(JSON.stringify(this.window.history.state))),t.coverageInfoSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(t,"")}}updateCoverageInfo(){let t=(new Date).getTime(),r=this.window.assemblies,i=[],o=0;if(0===this.settings.grouping)for(let l=0;l{for(let i=0;i{for(let o=0;ot&&(i[o].collapsed=this.settings.collapseStates[t]),t++,r(i[o].subElements)};r(this.codeElements)}static{this.\u0275fac=function(r){return new(r||e)(T(Xg))}}static{this.\u0275cmp=sn({type:e,selectors:[["coverage-info"]],hostBindings:function(r,i){1&r&&q("beforeunload",function(){return i.onBeforeUnload()},0,El)},standalone:!1,decls:1,vars:1,consts:[[4,"ngIf"],[3,"visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","showMethodFullCoverage","visibleMetrics","visibleChange","showLineCoverageChange","showBranchCoverageChange","showMethodCoverageChange","showMethodFullCoverageChange","visibleMetricsChange",4,"ngIf"],[1,"customizebox"],["href","#",3,"click"],[1,"col-center"],[1,"slider-label"],["type","range","step","1","min","-1",3,"ngModelChange","max","ngModel"],[1,"col-right","right"],["type","button",3,"click"],[1,"icon-cog"],[1,"table-responsive"],[1,"overview","table-fixed","stripped"],[1,"column-min-200"],["class","column90",4,"ngIf"],["class","column105",4,"ngIf"],["class","column100",4,"ngIf"],["class","column70",4,"ngIf"],["class","column98",4,"ngIf"],["class","column112",4,"ngIf"],["class","column112",4,"ngFor","ngForOf"],[1,"header"],["class","center","colspan","6",4,"ngIf"],["class","center","colspan","4",4,"ngIf"],["class","center",4,"ngIf"],[1,"filterbar"],["type","text",3,"ngModelChange","ngModel","placeholder"],[3,"ngClass"],["class","right",4,"ngIf"],["class","center","colspan","2",4,"ngIf"],[4,"ngFor","ngForOf"],[3,"visibleChange","showLineCoverageChange","showBranchCoverageChange","showMethodCoverageChange","showMethodFullCoverageChange","visibleMetricsChange","visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","showMethodFullCoverage","visibleMetrics"],[3,"ngModelChange","ngModel"],["value",""],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["value","allChanges"],["value","lineCoverageIncreaseOnly"],["value","lineCoverageDecreaseOnly"],["value","branchCoverageIncreaseOnly",4,"ngIf"],["value","branchCoverageDecreaseOnly",4,"ngIf"],["value","methodCoverageIncreaseOnly",4,"ngIf"],["value","methodCoverageDecreaseOnly",4,"ngIf"],["value","fullMethodCoverageIncreaseOnly",4,"ngIf"],["value","fullMethodCoverageDecreaseOnly",4,"ngIf"],["value","branchCoverageIncreaseOnly"],["value","branchCoverageDecreaseOnly"],["value","methodCoverageIncreaseOnly"],["value","methodCoverageDecreaseOnly"],["value","fullMethodCoverageIncreaseOnly"],["value","fullMethodCoverageDecreaseOnly"],[1,"column90"],[1,"column105"],[1,"column100"],[1,"column70"],[1,"column98"],[1,"column112"],["colspan","6",1,"center"],["colspan","4",1,"center"],[1,"center"],[3,"valueChange","highValueChange","value","highValue","options"],[1,"right"],["colspan","2",1,"center"],["target","_blank",3,"href"],[1,"icon-info-circled"],["codeelement-row","",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics",4,"ngIf"],["codeelement-row","",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics"],["class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics","historyComparisionDate",4,"ngIf"],["class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics","historyComparisionDate"],["codeelement-row","",1,"namespace",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics"],["class","namespace","class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics","historyComparisionDate",4,"ngIf"],["class-row","",1,"namespace",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics","historyComparisionDate"]],template:function(r,i){1&r&&V(0,tz,84,64,"div",0),2&r&&p("ngIf",i.codeElements.length>0)},dependencies:[Do,ci,zn,qg,Zg,na,Ug,la,jc,aa,uM,g3,H3,UU],encapsulation:2})}}return e})();class rz{constructor(){this.assembly="",this.numberOfRiskHotspots=10,this.filter="",this.sortBy="",this.sortOrder="asc"}}const tu=(e,n,t)=>({"icon-up-dir_active":e,"icon-down-dir_active":n,"icon-up-down-dir":t}),iz=(e,n)=>({lightred:e,lightgreen:n});function oz(e,n){if(1&e&&(y(0,"option",16),b(1),_()),2&e){const t=n.$implicit;p("value",t),f(),O(t)}}function sz(e,n){if(1&e&&(y(0,"span"),b(1),_()),2&e){const t=v(2);f(),O(t.translations.top)}}function az(e,n){1&e&&(y(0,"option",23),b(1,"20"),_())}function lz(e,n){1&e&&(y(0,"option",24),b(1,"50"),_())}function cz(e,n){1&e&&(y(0,"option",25),b(1,"100"),_())}function uz(e,n){if(1&e&&(y(0,"option",16),b(1),_()),2&e){const t=v(3);p("value",t.totalNumberOfRiskHotspots),f(),O(t.translations.all)}}function dz(e,n){if(1&e){const t=ge();y(0,"select",17),tt("ngModelChange",function(i){B(t);const o=v(2);return be(o.settings.numberOfRiskHotspots,i)||(o.settings.numberOfRiskHotspots=i),j(i)}),y(1,"option",18),b(2,"10"),_(),V(3,az,2,0,"option",19)(4,lz,2,0,"option",20)(5,cz,2,0,"option",21)(6,uz,2,2,"option",22),_()}if(2&e){const t=v(2);Qe("ngModel",t.settings.numberOfRiskHotspots),f(3),p("ngIf",t.totalNumberOfRiskHotspots>10),f(),p("ngIf",t.totalNumberOfRiskHotspots>20),f(),p("ngIf",t.totalNumberOfRiskHotspots>50),f(),p("ngIf",t.totalNumberOfRiskHotspots>100)}}function fz(e,n){1&e&&x(0,"col",26)}function hz(e,n){if(1&e){const t=ge();y(0,"th")(1,"a",13),q("click",function(i){const o=B(t).index;return j(v(2).updateSorting(""+o,i))}),x(2,"i",14),b(3),_(),y(4,"a",27),x(5,"i",28),_()()}if(2&e){const t=n.$implicit,r=n.index,i=v(2);f(2),p("ngClass",Fe(3,tu,i.settings.sortBy===""+r&&"asc"===i.settings.sortOrder,i.settings.sortBy===""+r&&"desc"===i.settings.sortOrder,i.settings.sortBy!==""+r)),f(),O(t.name),f(),In("href",t.explanationUrl,ir)}}function gz(e,n){if(1&e&&(y(0,"td",32),b(1),_()),2&e){const t=n.$implicit;p("ngClass",xh(2,iz,t.exceeded,!t.exceeded)),f(),O(t.value)}}function pz(e,n){if(1&e&&(y(0,"tr")(1,"td"),b(2),_(),y(3,"td")(4,"a",29),b(5),_()(),y(6,"td",30)(7,"a",29),b(8),_()(),V(9,gz,2,5,"td",31),_()),2&e){const t=n.$implicit,r=v(2);f(2),O(t.assembly),f(2),p("href",t.reportPath+r.queryString,ir),f(),O(t.class),f(),p("title",t.methodName),f(),p("href",t.reportPath+r.queryString+"#file"+t.fileIndex+"_line"+t.line,ir),f(),U(" ",t.methodShortName," "),f(),p("ngForOf",t.metrics)}}function mz(e,n){if(1&e){const t=ge();y(0,"div")(1,"div",1)(2,"div")(3,"select",2),tt("ngModelChange",function(i){B(t);const o=v();return be(o.settings.assembly,i)||(o.settings.assembly=i),j(i)}),q("ngModelChange",function(){return B(t),j(v().updateRiskHotpots())}),y(4,"option",3),b(5),_(),V(6,oz,2,2,"option",4),_()(),y(7,"div",5),V(8,sz,2,1,"span",0)(9,dz,7,5,"select",6),_(),x(10,"div",5),y(11,"div",7)(12,"span"),b(13),_(),y(14,"input",8),tt("ngModelChange",function(i){B(t);const o=v();return be(o.settings.filter,i)||(o.settings.filter=i),j(i)}),q("ngModelChange",function(){return B(t),j(v().updateRiskHotpots())}),_()()(),y(15,"div",9)(16,"table",10)(17,"colgroup"),x(18,"col",11)(19,"col",11)(20,"col",11),V(21,fz,1,0,"col",12),_(),y(22,"thead")(23,"tr")(24,"th")(25,"a",13),q("click",function(i){return B(t),j(v().updateSorting("assembly",i))}),x(26,"i",14),b(27),_()(),y(28,"th")(29,"a",13),q("click",function(i){return B(t),j(v().updateSorting("class",i))}),x(30,"i",14),b(31),_()(),y(32,"th")(33,"a",13),q("click",function(i){return B(t),j(v().updateSorting("method",i))}),x(34,"i",14),b(35),_()(),V(36,hz,6,7,"th",15),_()(),y(37,"tbody"),V(38,pz,10,7,"tr",15),function DD(e,n){const t=Z();let r;const i=e+k;t.firstCreatePass?(r=function HF(e,n){if(n)for(let t=n.length-1;t>=0;t--){const r=n[t];if(e===r.name)return r}}(n,t.pipeRegistry),t.data[i]=r,r.onDestroy&&(t.destroyHooks??=[]).push(i,r.onDestroy)):r=t.data[i];const o=r.factory||(r.factory=Or(r.type)),a=Et(T);try{const l=Za(!1),c=o();return Za(l),function Ih(e,n,t,r){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=r}(t,D(),i,c),c}finally{Et(a)}}(39,"slice"),_()()()()}if(2&e){const t=v();f(3),Qe("ngModel",t.settings.assembly),f(2),O(t.translations.assembly),f(),p("ngForOf",t.assemblies),f(2),p("ngIf",t.totalNumberOfRiskHotspots>10),f(),p("ngIf",t.totalNumberOfRiskHotspots>10),f(4),U("",t.translations.filter," "),f(),Qe("ngModel",t.settings.filter),f(7),p("ngForOf",t.riskHotspotMetrics),f(5),p("ngClass",Fe(20,tu,"assembly"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"assembly"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"assembly"!==t.settings.sortBy)),f(),O(t.translations.assembly),f(3),p("ngClass",Fe(24,tu,"class"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"class"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"class"!==t.settings.sortBy)),f(),O(t.translations.class),f(3),p("ngClass",Fe(28,tu,"method"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"method"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"method"!==t.settings.sortBy)),f(),O(t.translations.method),f(),p("ngForOf",t.riskHotspotMetrics),f(2),p("ngForOf",function bD(e,n,t,r,i){const o=e+k,s=D(),a=function Br(e,n){return e[n]}(s,o);return function Bs(e,n){return e[1].data[n].pure}(s,o)?yD(s,gt(),n,a.transform,t,r,i,a):a.transform(t,r,i)}(39,16,t.riskHotspots,0,t.settings.numberOfRiskHotspots))}}let vz=(()=>{class e{constructor(t){this.queryString="",this.riskHotspotMetrics=[],this.riskHotspots=[],this.totalNumberOfRiskHotspots=0,this.assemblies=[],this.translations={},this.settings=new rz,this.window=t.nativeWindow}ngOnInit(){this.riskHotspotMetrics=this.window.riskHotspotMetrics,this.translations=this.window.translations,void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.riskHotspotsSettings&&(console.log("Risk hotspots: Restoring from history",this.window.history.state.riskHotspotsSettings),this.settings=JSON.parse(JSON.stringify(this.window.history.state.riskHotspotsSettings)));const t=window.location.href.indexOf("?");t>-1&&(this.queryString=window.location.href.substring(t)),this.updateRiskHotpots()}onDonBeforeUnlodad(){if(void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Risk hotspots: Updating history",this.settings);let t=new dM;null!==window.history.state&&(t=JSON.parse(JSON.stringify(this.window.history.state))),t.riskHotspotsSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(t,"")}}updateRiskHotpots(){const t=this.window.riskHotspots;if(this.totalNumberOfRiskHotspots=t.length,0===this.assemblies.length){let s=[];for(let a=0;a0)},dependencies:[Do,ci,zn,qg,Zg,na,la,jc,aa,Xb],encapsulation:2})}}return e})(),_z=(()=>{class e{static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275mod=cr({type:e,bootstrap:[vz,nz]})}static{this.\u0275inj=Nn({providers:[Xg],imports:[hH,hj,n3]})}}return e})();fH().bootstrapModule(_z).catch(e=>console.error(e))}},No=>{No(No.s=332)}]); /* ]]> */ +"use strict";(self.webpackChunkcoverage_app=self.webpackChunkcoverage_app||[]).push([[792],{653:()=>{let Zo;function rr(){return Zo}function un(e){const n=Zo;return Zo=e,n}const uI=Symbol("NotFound");function Rc(e){return e===uI||"\u0275NotFound"===e?.name}Error;let Je=null,sr=!1,kc=1;const We=Symbol("SIGNAL");function z(e){const n=Je;return Je=e,n}const Yo={version:0,lastCleanEpoch:0,dirty:!1,producers:void 0,producersTail:void 0,consumers:void 0,consumersTail:void 0,recomputing:!1,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:"unknown",producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function Vs(e){if(sr)throw new Error("");if(null===Je)return;Je.consumerOnSignalRead(e);const n=Je.producersTail;if(void 0!==n&&n.producer===e)return;let t;const o=Je.recomputing;if(o&&(t=void 0!==n?n.nextProducer:Je.producers,void 0!==t&&t.producer===e))return Je.producersTail=t,void(t.lastReadVersion=e.version);const i=e.consumersTail;if(void 0!==i&&i.consumer===Je&&(!o||function pI(e,n){const t=n.producersTail;if(void 0!==t){let o=n.producers;do{if(o===e)return!0;if(o===t)break;o=o.nextProducer}while(void 0!==o)}return!1}(i,Je)))return;const r=Ko(Je),s={producer:e,consumer:Je,nextProducer:t,prevConsumer:i,lastReadVersion:e.version,nextConsumer:void 0};Je.producersTail=s,void 0!==n?n.nextProducer=s:Je.producers=s,r&&Hg(e,s)}function ar(e){if((!Ko(e)||e.dirty)&&(e.dirty||e.lastCleanEpoch!==kc)){if(!e.producerMustRecompute(e)&&!Bs(e))return void Hs(e);e.producerRecomputeValue(e),Hs(e)}}function Pg(e){if(void 0===e.consumers)return;const n=sr;sr=!0;try{for(let t=e.consumers;void 0!==t;t=t.nextConsumer){const o=t.consumer;o.dirty||fI(o)}}finally{sr=n}}function Vg(){return!1!==Je?.consumerAllowSignalWrites}function fI(e){e.dirty=!0,Pg(e),e.consumerMarkedDirty?.(e)}function Hs(e){e.dirty=!1,e.lastCleanEpoch=kc}function Qo(e){return e&&function hI(e){e.producersTail=void 0,e.recomputing=!0}(e),z(e)}function lr(e,n){z(n),e&&function gI(e){e.recomputing=!1;const n=e.producersTail;let t=void 0!==n?n.nextProducer:e.producers;if(void 0!==t){if(Ko(e))do{t=Pc(t)}while(void 0!==t);void 0!==n?n.nextProducer=void 0:e.producers=void 0}}(e)}function Bs(e){for(let n=e.producers;void 0!==n;n=n.nextProducer){const t=n.producer,o=n.lastReadVersion;if(o!==t.version||(ar(t),o!==t.version))return!0}return!1}function cr(e){if(Ko(e)){let n=e.producers;for(;void 0!==n;)n=Pc(n)}e.producers=void 0,e.producersTail=void 0,e.consumers=void 0,e.consumersTail=void 0}function Hg(e,n){const t=e.consumersTail,o=Ko(e);if(void 0!==t?(n.nextConsumer=t.nextConsumer,t.nextConsumer=n):(n.nextConsumer=void 0,e.consumers=n),n.prevConsumer=t,e.consumersTail=n,!o)for(let i=e.producers;void 0!==i;i=i.nextProducer)Hg(i.producer,i)}function Pc(e){const n=e.producer,t=e.nextProducer,o=e.nextConsumer,i=e.prevConsumer;if(e.nextConsumer=void 0,e.prevConsumer=void 0,void 0!==o?o.prevConsumer=i:n.consumersTail=i,void 0!==i)i.nextConsumer=o;else if(n.consumers=o,!Ko(n)){let r=n.producers;for(;void 0!==r;)r=Pc(r)}return t}function Ko(e){return e.consumerIsAlwaysLive||void 0!==e.consumers}function Hc(e,n){return Object.is(e,n)}const lo=Symbol("UNSET"),Jo=Symbol("COMPUTING"),kn=Symbol("ERRORED"),_I={...Yo,value:lo,dirty:!0,error:null,equal:Hc,kind:"computed",producerMustRecompute:e=>e.value===lo||e.value===Jo,producerRecomputeValue(e){if(e.value===Jo)throw new Error("");const n=e.value;e.value=Jo;const t=Qo(e);let o,i=!1;try{o=e.computation(),z(null),i=n!==lo&&n!==kn&&o!==kn&&e.equal(n,o)}catch(r){o=kn,e.error=r}finally{lr(e,t)}i?e.value=n:(e.value=o,e.version++)}};let Bg=function vI(){throw new Error};function jg(e){Bg(e)}function CI(e,n){const t=Object.create($g);t.value=e,void 0!==n&&(t.equal=n);const o=()=>function bI(e){return Vs(e),e.value}(t);return o[We]=t,[o,s=>Bc(t,s),s=>function Ug(e,n){Vg()||jg(e),Bc(e,n(e.value))}(t,s)]}function Bc(e,n){Vg()||jg(e),e.equal(e.value,n)||(e.value=n,function DI(e){e.version++,function dI(){kc++}(),Pg(e)}(e))}const $g={...Yo,equal:Hc,value:void 0,kind:"signal"};function ke(e){return"function"==typeof e}function zg(e){const t=e(o=>{Error.call(o),o.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const jc=zg(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((o,i)=>`${i+1}) ${o.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function Us(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class Mt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const r of t)r.remove(this);else t.remove(this);const{initialTeardown:o}=this;if(ke(o))try{o()}catch(r){n=r instanceof jc?r.errors:[r]}const{_finalizers:i}=this;if(i){this._finalizers=null;for(const r of i)try{qg(r)}catch(s){n=n??[],s instanceof jc?n=[...n,...s.errors]:n.push(s)}}if(n)throw new jc(n)}}add(n){var t;if(n&&n!==this)if(this.closed)qg(n);else{if(n instanceof Mt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&Us(t,n)}remove(n){const{_finalizers:t}=this;t&&Us(t,n),n instanceof Mt&&n._removeParent(this)}}Mt.EMPTY=(()=>{const e=new Mt;return e.closed=!0,e})();const Gg=Mt.EMPTY;function Wg(e){return e instanceof Mt||e&&"closed"in e&&ke(e.remove)&&ke(e.add)&&ke(e.unsubscribe)}function qg(e){ke(e)?e():e.unsubscribe()}const co={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},$s={setTimeout(e,n,...t){const{delegate:o}=$s;return o?.setTimeout?o.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=$s;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Zg(e){$s.setTimeout(()=>{const{onUnhandledError:n}=co;if(!n)throw e;n(e)})}function Yg(){}const wI=Uc("C",void 0,void 0);function Uc(e,n,t){return{kind:e,value:n,error:t}}let uo=null;function zs(e){if(co.useDeprecatedSynchronousErrorHandling){const n=!uo;if(n&&(uo={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:o}=uo;if(uo=null,t)throw o}}else e()}class $c extends Mt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Wg(n)&&n.add(this)):this.destination=NI}static create(n,t,o){return new Gc(n,t,o)}next(n){this.isStopped?Wc(function MI(e){return Uc("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?Wc(function EI(e){return Uc("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Wc(wI,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const TI=Function.prototype.bind;function zc(e,n){return TI.call(e,n)}class SI{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(o){Gs(o)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(o){Gs(o)}else Gs(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){Gs(t)}}}class Gc extends $c{constructor(n,t,o){let i;if(super(),ke(n)||!n)i={next:n??void 0,error:t??void 0,complete:o??void 0};else{let r;this&&co.useDeprecatedNextContext?(r=Object.create(n),r.unsubscribe=()=>this.unsubscribe(),i={next:n.next&&zc(n.next,r),error:n.error&&zc(n.error,r),complete:n.complete&&zc(n.complete,r)}):i=n}this.destination=new SI(i)}}function Gs(e){co.useDeprecatedSynchronousErrorHandling?function II(e){co.useDeprecatedSynchronousErrorHandling&&uo&&(uo.errorThrown=!0,uo.error=e)}(e):Zg(e)}function Wc(e,n){const{onStoppedNotification:t}=co;t&&$s.setTimeout(()=>t(e,n))}const NI={closed:!0,next:Yg,error:function AI(e){throw e},complete:Yg},qc="function"==typeof Symbol&&Symbol.observable||"@@observable";function Zc(e){return e}let ht=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const o=new e;return o.source=this,o.operator=t,o}subscribe(t,o,i){const r=function xI(e){return e&&e instanceof $c||function OI(e){return e&&ke(e.next)&&ke(e.error)&&ke(e.complete)}(e)&&Wg(e)}(t)?t:new Gc(t,o,i);return zs(()=>{const{operator:s,source:a}=this;r.add(s?s.call(r,a):a?this._subscribe(r):this._trySubscribe(r))}),r}_trySubscribe(t){try{return this._subscribe(t)}catch(o){t.error(o)}}forEach(t,o){return new(o=Kg(o))((i,r)=>{const s=new Gc({next:a=>{try{t(a)}catch(l){r(l),s.unsubscribe()}},error:r,complete:i});this.subscribe(s)})}_subscribe(t){var o;return null===(o=this.source)||void 0===o?void 0:o.subscribe(t)}[qc](){return this}pipe(...t){return function Qg(e){return 0===e.length?Zc:1===e.length?e[0]:function(t){return e.reduce((o,i)=>i(o),t)}}(t)(this)}toPromise(t){return new(t=Kg(t))((o,i)=>{let r;this.subscribe(s=>r=s,s=>i(s),()=>o(r))})}}return e.create=n=>new e(n),e})();function Kg(e){var n;return null!==(n=e??co.Promise)&&void 0!==n?n:Promise}const RI=zg(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Xt=(()=>{class e extends ht{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const o=new Jg(this,this);return o.operator=t,o}_throwIfClosed(){if(this.closed)throw new RI}next(t){zs(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const o of this.currentObservers)o.next(t)}})}error(t){zs(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:o}=this;for(;o.length;)o.shift().error(t)}})}complete(){zs(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:o,isStopped:i,observers:r}=this;return o||i?Gg:(this.currentObservers=null,r.push(t),new Mt(()=>{this.currentObservers=null,Us(r,t)}))}_checkFinalizedStatuses(t){const{hasError:o,thrownError:i,isStopped:r}=this;o?t.error(i):r&&t.complete()}asObservable(){const t=new ht;return t.source=this,t}}return e.create=(n,t)=>new Jg(n,t),e})();class Jg extends Xt{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,o;null===(o=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===o||o.call(t,n)}error(n){var t,o;null===(o=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===o||o.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,o;return null!==(o=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==o?o:Gg}}class kI extends Xt{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:o}=this;if(n)throw t;return this._throwIfClosed(),o}next(n){super.next(this._value=n)}}const ep="https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss";class T extends Error{code;constructor(n,t){super(function en(e,n){return`${function FI(e){return`NG0${Math.abs(e)}`}(e)}${n?": "+n:""}`}(n,t)),this.code=n}}const Ie=globalThis;function se(e){for(let n in e)if(e[n]===se)return n;throw Error("")}function LI(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function gt(e){if("string"==typeof e)return e;if(Array.isArray(e))return`[${e.map(gt).join(", ")}]`;if(null==e)return""+e;const n=e.overriddenName||e.name;if(n)return`${n}`;const t=e.toString();if(null==t)return""+t;const o=t.indexOf("\n");return o>=0?t.slice(0,o):t}function Qc(e,n){return e?n?`${e} ${n}`:e:n||""}const PI=se({__forward_ref__:se});function pe(e){return e.__forward_ref__=pe,e.toString=function(){return gt(this())},e}function Q(e){return Ws(e)?e():e}function Ws(e){return"function"==typeof e&&e.hasOwnProperty(PI)&&e.__forward_ref__===pe}function X(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function dn(e){return{providers:e.providers||[],imports:e.imports||[]}}function qs(e){return function $I(e,n){return e.hasOwnProperty(n)&&e[n]||null}(e,Ys)}function Zs(e){return e&&e.hasOwnProperty(Kc)?e[Kc]:null}const Ys=se({\u0275prov:se}),Kc=se({\u0275inj:se});class R{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(n,t){this._desc=n,this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=X({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function Xc(e){return e&&!!e.\u0275providers}const eu=se({\u0275cmp:se}),YI=se({\u0275dir:se}),QI=se({\u0275pipe:se}),tp=se({\u0275mod:se}),ho=se({\u0275fac:se}),fr=se({__NG_ELEMENT_ID__:se}),np=se({__NG_ENV_ID__:se});function Z(e){return"string"==typeof e?e:null==e?"":String(e)}const tu=se({ngErrorCode:se}),op=se({ngErrorMessage:se}),hr=se({ngTokenPath:se});function nu(e,n){return ip("",-200,n)}function ou(e,n){throw new T(-201,!1)}function ip(e,n,t){const o=new T(n,e);return o[tu]=n,o[op]=e,t&&(o[hr]=t),o}let iu;function rp(){return iu}function pt(e){const n=iu;return iu=e,n}function sp(e,n,t){const o=qs(e);return o&&"root"==o.providedIn?void 0===o.value?o.value=o.factory():o.value:8&t?null:void 0!==n?n:void ou()}const go={};class nT{injector;constructor(n){this.injector=n}retrieve(n,t){const o=gr(t)||0;try{return this.injector.get(n,8&o?null:go,o)}catch(i){if(Rc(i))return i;throw i}}}function oT(e,n=0){const t=rr();if(void 0===t)throw new T(-203,!1);if(null===t)return sp(e,void 0,n);{const o=function iT(e){return{optional:!!(8&e),host:!!(1&e),self:!!(2&e),skipSelf:!!(4&e)}}(n),i=t.retrieve(e,o);if(Rc(i)){if(o.optional)return null;throw i}return i}}function te(e,n=0){return(rp()||oT)(Q(e),n)}function F(e,n){return te(e,gr(n))}function gr(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function su(e){const n=[];for(let t=0;tArray.isArray(t)?Xo(t,n):n(t))}function lp(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function Ks(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function Xs(e,n,t){let o=mr(e,n);return o>=0?e[1|o]=t:(o=~o,function up(e,n,t,o){let i=e.length;if(i==n)e.push(t,o);else if(1===i)e.push(o,e[0]),e[0]=t;else{for(i--,e.push(e[i-1],e[i]);i>n;)e[i]=e[i-2],i--;e[n]=t,e[n+1]=o}}(e,o,n,t)),o}function au(e,n){const t=mr(e,n);if(t>=0)return e[1|t]}function mr(e,n){return function aT(e,n,t){let o=0,i=e.length>>t;for(;i!==o;){const r=o+(i-o>>1),s=e[r<n?i=r:o=r+1}return~(i<{t.push(s)};return Xo(n,s=>{const a=s;ta(a,r,[],o)&&(i||=[],i.push(a))}),void 0!==i&&hp(i,r),t}function hp(e,n){for(let t=0;t{n(r,o)})}}function ta(e,n,t,o){if(!(e=Q(e)))return!1;let i=null,r=Zs(e);const s=!r&&le(e);if(r||s){if(s&&!s.standalone)return!1;i=e}else{const l=e.ngModule;if(r=Zs(l),!r)return!1;i=l}const a=o.has(i);if(s){if(a)return!1;if(o.add(i),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)ta(c,n,t,o)}}else{if(!r)return!1;{if(null!=r.imports&&!a){let c;o.add(i);try{Xo(r.imports,u=>{ta(u,n,t,o)&&(c||=[],c.push(u))})}finally{}void 0!==c&&hp(c,n)}if(!a){const c=po(i)||(()=>new i);n({provide:i,useFactory:c,deps:_e},i),n({provide:lu,useValue:i,multi:!0},i),n({provide:mo,useValue:()=>te(i),multi:!0},i)}const l=r.providers;if(null!=l&&!a){const c=e;du(l,u=>{n(u,c)})}}}return i!==e&&void 0!==e.providers}function du(e,n){for(let t of e)Xc(t)&&(t=t.\u0275providers),Array.isArray(t)?du(t,n):n(t)}const uT=se({provide:String,useValue:se});function fu(e){return null!==e&&"object"==typeof e&&uT in e}function fn(e){return"function"==typeof e}const hu=new R(""),na={},_p={};let gu;function pu(){return void 0===gu&&(gu=new ea),gu}class Lt{}class _o extends Lt{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(n,t,o,i){super(),this.parent=t,this.source=o,this.scopes=i,_u(n,s=>this.processProvider(s)),this.records.set(dp,ei(void 0,this)),i.has("environment")&&this.records.set(Lt,ei(void 0,this));const r=this.records.get(hu);null!=r&&"string"==typeof r.value&&this.scopes.add(r.value),this.injectorDefTypes=new Set(this.get(lu,_e,{self:!0}))}retrieve(n,t){const o=gr(t)||0;try{return this.get(n,go,o)}catch(i){if(Rc(i))return i;throw i}}destroy(){vr(this),this._destroyed=!0;const n=z(null);try{for(const o of this._ngOnDestroyHooks)o.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const o of t)o()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),z(n)}}onDestroy(n){return vr(this),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){vr(this);const t=un(this),o=pt(void 0);try{return n()}finally{un(t),pt(o)}}get(n,t=go,o){if(vr(this),n.hasOwnProperty(np))return n[np](this);const i=gr(o),s=un(this),a=pt(void 0);try{if(!(4&i)){let c=this.records.get(n);if(void 0===c){const u=function pT(e){return"function"==typeof e||"object"==typeof e&&"InjectionToken"===e.ngMetadataName}(n)&&qs(n);c=u&&this.injectableDefInScope(u)?ei(mu(n),na):null,this.records.set(n,c)}if(null!=c)return this.hydrate(n,c,i)}return(2&i?pu():this.parent).get(n,t=8&i&&t===go?null:t)}catch(l){const c=function eT(e){return e[tu]}(l);throw-200===c||-201===c?new T(c,null):l}finally{pt(a),un(s)}}resolveInjectorInitializers(){const n=z(null),t=un(this),o=pt(void 0);try{const r=this.get(mo,_e,{self:!0});for(const s of r)s()}finally{un(t),pt(o),z(n)}}toString(){const n=[],t=this.records;for(const o of t.keys())n.push(gt(o));return`R3Injector[${n.join(", ")}]`}processProvider(n){let t=fn(n=Q(n))?n:Q(n&&n.provide);const o=function fT(e){return fu(e)?ei(void 0,e.useValue):ei(vp(e),na)}(n);if(!fn(n)&&!0===n.multi){let i=this.records.get(t);i||(i=ei(void 0,na,!0),i.factory=()=>su(i.multi),this.records.set(t,i)),t=n,i.multi.push(n)}this.records.set(t,o)}hydrate(n,t,o){const i=z(null);try{if(t.value===_p)throw nu(gt(n));return t.value===na&&(t.value=_p,t.value=t.factory(void 0,o)),"object"==typeof t.value&&t.value&&function gT(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{z(i)}}injectableDefInScope(n){if(!n.providedIn)return!1;const t=Q(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function mu(e){const n=qs(e),t=null!==n?n.factory:po(e);if(null!==t)return t;if(e instanceof R)throw new T(204,!1);if(e instanceof Function)return function dT(e){if(e.length>0)throw new T(204,!1);const t=function zI(e){return(e?.[Ys]??null)||null}(e);return null!==t?()=>t.factory(e):()=>new e}(e);throw new T(204,!1)}function vp(e,n,t){let o;if(fn(e)){const i=Q(e);return po(i)||mu(i)}if(fu(e))o=()=>Q(e.useValue);else if(function pp(e){return!(!e||!e.useFactory)}(e))o=()=>e.useFactory(...su(e.deps||[]));else if(function gp(e){return!(!e||!e.useExisting)}(e))o=(i,r)=>te(Q(e.useExisting),void 0!==r&&8&r?8:void 0);else{const i=Q(e&&(e.useClass||e.provide));if(!function hT(e){return!!e.deps}(e))return po(i)||mu(i);o=()=>new i(...su(e.deps))}return o}function vr(e){if(e.destroyed)throw new T(205,!1)}function ei(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function _u(e,n){for(const t of e)Array.isArray(t)?_u(t,n):t&&Xc(t)?_u(t.\u0275providers,n):n(t)}function yp(e,n){let t;e instanceof _o?(vr(e),t=e):t=new nT(e);const i=un(t),r=pt(void 0);try{return n()}finally{un(i),pt(r)}}function vu(){return void 0!==rp()||null!=rr()}const Y=11,H=27;function Me(e){return Array.isArray(e)&&"object"==typeof e[1]}function st(e){return Array.isArray(e)&&!0===e[1]}function bp(e){return!!(4&e.flags)}function mn(e){return e.componentOffset>-1}function ri(e){return!(1&~e.flags)}function St(e){return!!e.template}function Hn(e){return!!(512&e[2])}function _n(e){return!(256&~e[2])}function $e(e){for(;Array.isArray(e);)e=e[0];return e}function si(e,n){return $e(n[e])}function Le(e,n){return $e(n[e.index])}function ai(e,n){return e.data[n]}function at(e,n){const t=n[e];return Me(t)?t:t[0]}function Du(e){return!(128&~e[2])}function tt(e,n){return null==n?null:e[n]}function Tp(e){e[17]=0}function Sp(e){1024&e[2]||(e[2]|=1024,Du(e)&&li(e))}function sa(e){return!!(9216&e[2]||e[24]?.dirty)}function wu(e){e[10].changeDetectionScheduler?.notify(8),64&e[2]&&(e[2]|=1024),sa(e)&&li(e)}function li(e){e[10].changeDetectionScheduler?.notify(0);let n=vn(e);for(;null!==n&&!(8192&n[2])&&(n[2]|=8192,Du(n));)n=vn(n)}function aa(e,n){if(_n(e))throw new T(911,!1);null===e[21]&&(e[21]=[]),e[21].push(n)}function vn(e){const n=e[3];return st(n)?n[3]:n}function Np(e){return e[7]??=[]}function Op(e){return e.cleanup??=[]}const G={lFrame:Wp(null),bindingsEnabled:!0,skipHydrationRootTNode:null};let Iu=!1;function Tu(){return G.bindingsEnabled}function w(){return G.lFrame.lView}function K(){return G.lFrame.tView}function B(e){return G.lFrame.contextLView=e,e[8]}function j(e){return G.lFrame.contextLView=null,e}function q(){let e=Lp();for(;null!==e&&64===e.type;)e=e.parent;return e}function Lp(){return G.lFrame.currentTNode}function yn(e,n){const t=G.lFrame;t.currentTNode=e,t.isParent=n}function Pp(){return G.lFrame.isParent}function jp(){return Iu}function la(e){const n=Iu;return Iu=e,n}function lt(){const e=G.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function mt(){return G.lFrame.bindingIndex++}function bn(e){const n=G.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function ST(e,n){const t=G.lFrame;t.bindingIndex=t.bindingRootIndex=e,Su(n)}function Su(e){G.lFrame.currentDirectiveIndex=e}function Nu(){return G.lFrame.currentQueryIndex}function ca(e){G.lFrame.currentQueryIndex=e}function NT(e){const n=e[1];return 2===n.type?n.declTNode:1===n.type?e[5]:null}function zp(e,n,t){if(4&t){let i=n,r=e;for(;!(i=i.parent,null!==i||1&t||(i=NT(r),null===i||(r=r[14],10&i.type))););if(null===i)return!1;n=i,e=r}const o=G.lFrame=Gp();return o.currentTNode=n,o.lView=e,!0}function Ou(e){const n=Gp(),t=e[1];G.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function Gp(){const e=G.lFrame,n=null===e?null:e.child;return null===n?Wp(e):n}function Wp(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function qp(){const e=G.lFrame;return G.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const Zp=qp;function xu(){const e=qp();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function qe(){return G.lFrame.selectedIndex}function Do(e){G.lFrame.selectedIndex=e}function on(){const e=G.lFrame;return ai(e.tView,e.selectedIndex)}let Qp=!0;function ua(){return Qp}function Dr(e){Qp=e}function Kp(e,n=null,t=null,o){const i=Jp(e,n,t,o);return i.resolveInjectorInitializers(),i}function Jp(e,n=null,t=null,o,i=new Set){const r=[t||_e,cT(e)];return o=o||("object"==typeof e?void 0:gt(e)),new _o(r,n||pu(),o||null,i)}class Vt{static THROW_IF_NOT_FOUND=go;static NULL=new ea;static create(n,t){if(Array.isArray(n))return Kp({name:""},t,n,"");{const o=n.name??"";return Kp({name:o},n.parent,n.providers,o)}}static \u0275prov=X({token:Vt,providedIn:"any",factory:()=>te(dp)});static __NG_ELEMENT_ID__=-1}const Bn=new R("");let Dn=(()=>class e{static __NG_ELEMENT_ID__=LT;static __NG_ENV_ID__=t=>t})();class Xp extends Dn{_lView;constructor(n){super(),this._lView=n}get destroyed(){return _n(this._lView)}onDestroy(n){const t=this._lView;return aa(t,n),()=>function Eu(e,n){if(null===e[21])return;const t=e[21].indexOf(n);-1!==t&&e[21].splice(t,1)}(t,n)}}function LT(){return new Xp(w())}class ui{_console=console;handleError(n){this._console.error("ERROR",n)}}const wn=new R("",{providedIn:"root",factory:()=>{const e=F(Lt);let n;return t=>{e.destroyed&&!n?setTimeout(()=>{throw t}):(n??=e.get(ui),n.handleError(t))}}}),PT={provide:mo,useValue:()=>{F(ui)},multi:!0};function wo(e,n){const[t,o,i]=CI(e,n?.equal),r=t;return r.set=o,r.update=i,r.asReadonly=Ru.bind(r),r}function Ru(){const e=this[We];if(void 0===e.readonlyFn){const n=()=>this();n[We]=e,e.readonlyFn=n}return e.readonlyFn}function tm(e){return function em(e){return"function"==typeof e&&void 0!==e[We]}(e)&&"function"==typeof e.set}class di{}const nm=new R("",{providedIn:"root",factory:()=>!1}),om=new R(""),im=new R("");let ku=(()=>class e{view;node;constructor(t,o){this.view=t,this.node=o}static __NG_ELEMENT_ID__=HT})();function HT(){return new ku(w(),q())}let Eo=(()=>{class e{taskId=0;pendingTasks=new Set;destroyed=!1;pendingTask=new kI(!1);get hasPendingTasks(){return!this.destroyed&&this.pendingTask.value}get hasPendingTasksObservable(){return this.destroyed?new ht(t=>{t.next(!1),t.complete()}):this.pendingTask}add(){!this.hasPendingTasks&&!this.destroyed&&this.pendingTask.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}has(t){return this.pendingTasks.has(t)}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this.hasPendingTasks&&this.pendingTask.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks&&this.pendingTask.next(!1),this.destroyed=!0,this.pendingTask.unsubscribe()}static \u0275prov=X({token:e,providedIn:"root",factory:()=>new e})}return e})();function wr(...e){}let sm=(()=>{class e{static \u0275prov=X({token:e,providedIn:"root",factory:()=>new BT})}return e})();class BT{dirtyEffectCount=0;queues=new Map;add(n){this.enqueue(n),this.schedule(n)}schedule(n){n.dirty&&this.dirtyEffectCount++}remove(n){const o=this.queues.get(n.zone);o.has(n)&&(o.delete(n),n.dirty&&this.dirtyEffectCount--)}enqueue(n){const t=n.zone;this.queues.has(t)||this.queues.set(t,new Set);const o=this.queues.get(t);o.has(n)||o.add(n)}flush(){for(;this.dirtyEffectCount>0;){let n=!1;for(const[t,o]of this.queues)n||=null===t?this.flushQueue(o):t.run(()=>this.flushQueue(o));n||(this.dirtyEffectCount=0)}}flushQueue(n){let t=!1;for(const o of n)o.dirty&&(this.dirtyEffectCount--,t=!0,o.run());return t}}let am=null;function Er(){return am}class UT{}function Mo(e){return n=>{if(function w0(e){return ke(e?.lift)}(n))return n.lift(function(t){try{return e(t,this)}catch(o){this.error(o)}});throw new TypeError("Unable to lift unknown Observable type")}}function jn(e,n,t,o,i){return new E0(e,n,t,o,i)}class E0 extends $c{constructor(n,t,o,i,r,s){super(n),this.onFinalize=r,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){n.error(l)}}:super._next,this._error=i?function(a){try{i(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=o?function(){try{o()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function Vu(e,n){return Mo((t,o)=>{let i=0;t.subscribe(jn(o,r=>{o.next(e.call(n,r,i++))}))})}function En(e){return{toString:e}.toString()}class P0{previousValue;currentValue;firstChange;constructor(n,t,o){this.previousValue=n,this.currentValue=t,this.firstChange=o}isFirstChange(){return this.firstChange}}function Dm(e,n,t,o){null!==n?n.applyValueToInputSignal(n,o):e[t]=o}const Mn=(()=>{const e=()=>wm;return e.ngInherit=!0,e})();function wm(e){return e.type.prototype.ngOnChanges&&(e.setInput=H0),V0}function V0(){const e=Mm(this),n=e?.current;if(n){const t=e.previous;if(t===tn)e.previous=n;else for(let o in n)t[o]=n[o];e.current=null,this.ngOnChanges(n)}}function H0(e,n,t,o,i){const r=this.declaredInputs[o],s=Mm(e)||function B0(e,n){return e[Em]=n}(e,{previous:tn,current:null}),a=s.current||(s.current={}),l=s.previous,c=l[r];a[r]=new P0(c&&c.currentValue,t,l===tn),Dm(e,n,i,t)}const Em="__ngSimpleChanges__";function Mm(e){return e[Em]||null}const Io=[],he=function(e,n=null,t){for(let o=0;o=o)break}else n[l]<0&&(e[17]+=65536),(a>14>16&&(3&e[2])===n&&(e[2]+=16384,Sm(a,r)):Sm(a,r)}class Nr{factory;name;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(n,t,o,i){this.factory=n,this.name=i,this.canSeeViewProviders=t,this.injectImpl=o}}function Nm(e){return 3===e||4===e||6===e}function Om(e){return 64===e.charCodeAt(0)}function _i(e,n){if(null!==n&&0!==n.length)if(null===e||0===e.length)e=n.slice();else{let t=-1;for(let o=0;on){s=r-1;break}}}for(;r>16}(e),o=n;for(;t>0;)o=o[14],t--;return o}let zu=!0;function _a(e){const n=zu;return zu=e,n}let Q0=0;const rn={};function va(e,n){const t=Fm(e,n);if(-1!==t)return t;const o=n[1];o.firstCreatePass&&(e.injectorIndex=n.length,Gu(o.data,e),Gu(n,null),Gu(o.blueprint,null));const i=ya(e,n),r=e.injectorIndex;if($u(i)){const s=Or(i),a=xr(i,n),l=a[1].data;for(let c=0;c<8;c++)n[r+c]=a[s+c]|l[s+c]}return n[r+8]=i,r}function Gu(e,n){e.push(0,0,0,0,0,0,0,0,n)}function Fm(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function ya(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,o=null,i=n;for(;null!==i;){if(o=Um(i),null===o)return-1;if(t++,i=i[14],-1!==o.injectorIndex)return o.injectorIndex|t<<16}return-1}function Wu(e,n,t){!function K0(e,n,t){let o;"string"==typeof t?o=t.charCodeAt(0)||0:t.hasOwnProperty(fr)&&(o=t[fr]),null==o&&(o=t[fr]=Q0++);const i=255&o;n.data[e+(i>>5)]|=1<=0?255&n:tS:n}(t);if("function"==typeof r){if(!zp(n,e,o))return 1&o?Lm(i,0,o):Pm(n,t,o,i);try{let s;if(s=r(o),null!=s||8&o)return s;ou()}finally{Zp()}}else if("number"==typeof r){let s=null,a=Fm(e,n),l=-1,c=1&o?n[15][5]:null;for((-1===a||4&o)&&(l=-1===a?ya(e,n):n[a+8],-1!==l&&jm(o,!1)?(s=n[1],a=Or(l),n=xr(l,n)):a=-1);-1!==a;){const u=n[1];if(Bm(r,a,u.data)){const d=X0(a,n,t,s,o,c);if(d!==rn)return d}l=n[a+8],-1!==l&&jm(o,n[1].data[a+8]===c)&&Bm(r,a,n)?(s=u,a=Or(l),n=xr(l,n)):a=-1}}return i}function X0(e,n,t,o,i,r){const s=n[1],a=s.data[e+8],u=Ca(a,s,t,null==o?mn(a)&&zu:o!=s&&!!(3&a.type),1&i&&r===a);return null!==u?Rr(n,s,u,a,i):rn}function Ca(e,n,t,o,i){const r=e.providerIndexes,s=n.data,a=1048575&r,l=e.directiveStart,u=r>>20,g=i?a+u:e.directiveEnd;for(let h=o?a:a+u;h=l&&p.type===t)return h}if(i){const h=s[l];if(h&&St(h)&&h.type===t)return l}return null}function Rr(e,n,t,o,i){let r=e[t];const s=n.data;if(r instanceof Nr){const a=r;if(a.resolving)throw function ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():Z(e)}(s[t]),nu();const l=_a(a.canSeeViewProviders);a.resolving=!0;const d=a.injectImpl?pt(a.injectImpl):null;zp(e,o,0);try{r=e[t]=a.factory(void 0,i,s,e,o),n.firstCreatePass&&t>=o.directiveStart&&function z0(e,n,t){const{ngOnChanges:o,ngOnInit:i,ngDoCheck:r}=n.type.prototype;if(o){const s=wm(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}i&&(t.preOrderHooks??=[]).push(0-e,i),r&&((t.preOrderHooks??=[]).push(e,r),(t.preOrderCheckHooks??=[]).push(e,r))}(t,s[t],n)}finally{null!==d&&pt(d),_a(l),a.resolving=!1,Zp()}}return r}function Bm(e,n,t){return!!(t[n+(e>>5)]&1<{const n=e.prototype.constructor,t=n[ho]||qu(n),o=Object.prototype;let i=Object.getPrototypeOf(e.prototype).constructor;for(;i&&i!==o;){const r=i[ho]||qu(i);if(r&&r!==t)return r;i=Object.getPrototypeOf(i)}return r=>new r})}function qu(e){return Ws(e)?()=>{const n=qu(Q(e));return n&&n()}:po(e)}function Um(e){const n=e[1],t=n.type;return 2===t?n.declTNode:1===t?e[5]:null}function uS(){return vi(q(),w())}function vi(e,n){return new At(Le(e,n))}let At=(()=>class e{nativeElement;constructor(t){this.nativeElement=t}static __NG_ELEMENT_ID__=uS})();function qm(e){return e instanceof At?e.nativeElement:e}function dS(){return this._results[Symbol.iterator]()}class fS{_emitDistinctChangesOnly;dirty=!0;_onDirty=void 0;_results=[];_changesDetected=!1;_changes=void 0;length=0;first=void 0;last=void 0;get changes(){return this._changes??=new Xt}constructor(n=!1){this._emitDistinctChangesOnly=n}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,t){return this._results.reduce(n,t)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,t){this.dirty=!1;const o=function Ft(e){return e.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function sT(e,n,t){if(e.length!==n.length)return!1;for(let o=0;oHS}),HS="ng",h_=new R(""),td=new R("",{providedIn:"platform",factory:()=>"unknown"}),g_=new R("",{providedIn:"root",factory:()=>$n().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null}),qS=new R("",{providedIn:"root",factory:()=>!1});function Sa(e){return!(32&~e.flags)}function H_(e,n){const t=e.contentQueries;if(null!==t){const o=z(null);try{for(let i=0;ie,createScript:e=>e,createScriptURL:e=>e})}catch{}return Ra}()?.createHTML(e)||e}function j_(e){return function bd(){if(void 0===ka&&(ka=null,Ie.trustedTypes))try{ka=Ie.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return ka}()?.createHTML(e)||e}class z_{changingThisBreaksApplicationSecurity;constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${ep})`}}function Gn(e){return e instanceof z_?e.changingThisBreaksApplicationSecurity:e}function Hr(e,n){const t=function T1(e){return e instanceof z_&&e.getTypeName()||null}(e);if(null!=t&&t!==n){if("ResourceURL"===t&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${t} (see ${ep})`)}return t===n}class S1{inertDocumentHelper;constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{const t=(new window.DOMParser).parseFromString(wi(n),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(n):(t.firstChild?.remove(),t)}catch{return null}}}class A1{defaultDoc;inertDocument;constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){const t=this.inertDocument.createElement("template");return t.innerHTML=wi(n),t}}const O1=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Dd(e){return(e=String(e)).match(O1)?e:"unsafe:"+e}function Tn(e){const n={};for(const t of e.split(","))n[t]=!0;return n}function Br(...e){const n={};for(const t of e)for(const o in t)t.hasOwnProperty(o)&&(n[o]=!0);return n}const W_=Tn("area,br,col,hr,img,wbr"),q_=Tn("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Z_=Tn("rp,rt"),wd=Br(W_,Br(q_,Tn("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Br(Z_,Tn("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Br(Z_,q_)),Ed=Tn("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Y_=Br(Ed,Tn("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Tn("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),x1=Tn("script,style,template");class R1{sanitizedSomething=!1;buf=[];sanitizeChildren(n){let t=n.firstChild,o=!0,i=[];for(;t;)if(t.nodeType===Node.ELEMENT_NODE?o=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,o&&t.firstChild)i.push(t),t=L1(t);else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=F1(t);if(r){t=r;break}t=i.pop()}return this.buf.join("")}startElement(n){const t=Q_(n).toLowerCase();if(!wd.hasOwnProperty(t))return this.sanitizedSomething=!0,!x1.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const o=n.attributes;for(let i=0;i"),!0}endElement(n){const t=Q_(n).toLowerCase();wd.hasOwnProperty(t)&&!W_.hasOwnProperty(t)&&(this.buf.push(""))}chars(n){this.buf.push(J_(n))}}function F1(e){const n=e.nextSibling;if(n&&e!==n.previousSibling)throw K_(n);return n}function L1(e){const n=e.firstChild;if(n&&function k1(e,n){return(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}(e,n))throw K_(n);return n}function Q_(e){const n=e.nodeName;return"string"==typeof n?n:"FORM"}function K_(e){return new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`)}const P1=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,V1=/([^\#-~ |!])/g;function J_(e){return e.replace(/&/g,"&").replace(P1,function(n){return"&#"+(1024*(n.charCodeAt(0)-55296)+(n.charCodeAt(1)-56320)+65536)+";"}).replace(V1,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}let Fa;function Md(e){return"content"in e&&function B1(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Ei=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Ei||{});function X_(e){const n=jr();return n?j_(n.sanitize(Ei.HTML,e)||""):Hr(e,"HTML")?j_(Gn(e)):function H1(e,n){let t=null;try{Fa=Fa||function G_(e){const n=new A1(e);return function N1(){try{return!!(new window.DOMParser).parseFromString(wi(""),"text/html")}catch{return!1}}()?new S1(n):n}(e);let o=n?String(n):"";t=Fa.getInertBodyElement(o);let i=5,r=o;do{if(0===i)throw new Error("Failed to sanitize html because the input is unstable");i--,o=r,r=t.innerHTML,t=Fa.getInertBodyElement(o)}while(o!==r);return wi((new R1).sanitizeChildren(Md(t)||t))}finally{if(t){const o=Md(t)||t;for(;o.firstChild;)o.firstChild.remove()}}}($n(),Z(e))}function Wn(e){const n=jr();return n?n.sanitize(Ei.URL,e)||"":Hr(e,"URL")?Gn(e):Dd(Z(e))}function jr(){const e=w();return e&&e[10].sanitizer}function Va(e){return e.ownerDocument.defaultView}function sA(e,n,t){let o=e.length;for(;;){const i=e.indexOf(n,t);if(-1===i)return i;if(0===i||e.charCodeAt(i-1)<=32){const r=n.length;if(i+r===o||e.charCodeAt(i+r)<=32)return i}t=i+1}}const cv="ng-template";function aA(e,n,t,o){let i=0;if(o){for(;i-1){let r;for(;++ir?"":i[u+1].toLowerCase(),2&o&&c!==d){if(Wt(o))return!1;s=!0}}}}else{if(!s&&!Wt(o)&&!Wt(l))return!1;if(s&&Wt(l))continue;s=!1,o=l|1&o}}return Wt(o)||s}function Wt(e){return!(1&e)}function uA(e,n,t,o){if(null===n)return-1;let i=0;if(o||!t){let r=!1;for(;i-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&o?i+="."+s:4&o&&(i+=" "+s);else""!==i&&!Wt(s)&&(n+=dv(r,i),i=""),o=s,r=r||!Wt(o);t++}return""!==i&&(n+=dv(r,i)),n}const ce={};function Ha(e,n,t){return e.createElement(n,t)}function So(e,n,t,o,i){e.insertBefore(n,t,o,i)}function hv(e,n,t){e.appendChild(n,t)}function gv(e,n,t,o,i){null!==o?So(e,n,t,o,i):hv(e,n,t)}function Ur(e,n,t,o){e.removeChild(null,n,t,o)}function mv(e,n,t){const{mergedAttrs:o,classes:i,styles:r}=t;null!==o&&function Z0(e,n,t){let o=0;for(;o({queue:new Set,isScheduled:!1})});function Dv(e,n,t,o){const i=e?.[26]?.enter;if(null!==n&&i&&i.has(t.index)){const r=o.get(Gr);for(const s of i.get(t.index).animateFns)r.queue.add(s)}}function Si(e,n,t,o,i,r,s,a){if(null!=i){let l,c=!1;st(i)?l=i:Me(i)&&(c=!0,i=i[0]);const u=$e(i);0===e&&null!==o?(Dv(a,o,r,t),null==s?hv(n,o,u):So(n,o,u,s||null,!0)):1===e&&null!==o?(Dv(a,o,r,t),So(n,o,u,s||null,!0)):2===e?Mv(a,r,t,d=>{Ur(n,u,c,d)}):3===e&&Mv(a,r,t,()=>{n.destroyNode(u)}),null!=l&&function PA(e,n,t,o,i,r,s){const a=o[7];a!==$e(o)&&Si(n,e,t,r,a,i,s);for(let c=10;c=0?o[a]():o[-a].unsubscribe(),s+=2}else t[s].call(o[t[s+1]]);null!==o&&(n[7]=null);const i=n[21];if(null!==i){n[21]=null;for(let s=0;s{if(i.leave&&i.leave.has(n.index)){const s=i.leave.get(n.index),a=[];if(s)for(let l=0;l{e[26].running=void 0,Ti.delete(e),n(!0)}):n(!1)}(e,o)}else e&&Ti.delete(e),o(!1)})):o(!1)}function Vd(e,n,t){return function Iv(e,n,t){let o=n;for(;null!==o&&168&o.type;)o=(n=o).parent;if(null===o)return t[0];if(mn(o)){const{encapsulation:i}=e.data[o.directiveStart+o.componentOffset];if(i===In.None||i===In.Emulated)return null}return Le(o,t)}(e,n.parent,t)}let Av=function Sv(e,n,t){return 40&e.type?Le(e,t):null};function Bd(e,n,t,o){const i=Vd(e,o,n),r=n[Y],a=function Tv(e,n,t){return Av(e,n,t)}(o.parent||n[5],o,n);if(null!=i)if(Array.isArray(t))for(let l=0;lH&&vv(e,n,H,!1),he(s?2:0,i,t),t(o,i)}finally{Do(r),he(s?3:1,i,t)}}function Ga(e,n,t){(function $A(e,n,t){const o=t.directiveStart,i=t.directiveEnd;mn(t)&&function bA(e,n,t){const o=Le(n,e),i=function _v(e){const n=e.tView;return null===n||n.incompleteFirstPass?e.tView=Od(1,null,e.template,e.decls,e.vars,e.directiveDefs,e.pipeDefs,e.viewQuery,e.schemas,e.consts,e.id):n}(t),r=e[10].rendererFactory,s=Rd(e,Ba(e,i,null,xd(t),o,n,null,r.createRenderer(o,t),null,null,null));e[n.index]=s}(n,t,e.data[o+t.componentOffset]),e.firstCreatePass||va(t,n);const r=t.initialInputs;for(let s=o;snull;function Ud(e,n,t,o,i,r){Ya(e,n[1],n,t,o)?mn(e)&&function Fv(e,n){const t=at(n,e);16&t[2]||(t[2]|=64)}(n,e.index):(3&e.type&&(t=function UA(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(t)),function $d(e,n,t,o,i,r){if(3&e.type){const s=Le(e,n);o=null!=r?r(o,e.value||"",t):o,i.setProperty(s,t,o)}}(e,n,t,o,i,r))}function GA(e,n){null!==e.hostBindings&&e.hostBindings(1,n)}function zd(e,n){const t=e.directiveRegistry;let o=null;if(t)for(let i=0;i{li(e.lView)},consumerOnSignalRead(){this.lView[24]=this}},iN={...Yo,consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:e=>{let n=vn(e.lView);for(;n&&!Bv(n[1]);)n=vn(n);n&&Sp(n)},consumerOnSignalRead(){this.lView[24]=this}};function Bv(e){return 2!==e.type}function jv(e){if(null===e[23])return;let n=!0;for(;n;){let t=!1;for(const o of e[23])o.dirty&&(t=!0,null===o.zone||Zone.current===o.zone?o.run():o.zone.run(()=>o.run()));n=t&&!!(8192&e[2])}}function Ka(e,n=0){const o=e[10].rendererFactory;o.begin?.();try{!function sN(e,n){const t=jp();try{la(!0),Wd(e,n);let o=0;for(;sa(e);){if(100===o)throw new T(103,!1);o++,Wd(e,1)}}finally{la(t)}}(e,n)}finally{o.end?.()}}function Uv(e,n,t,o){if(_n(n))return;const i=n[2];Ou(n);let a=!0,l=null,c=null;Bv(e)?(c=function XA(e){return e[24]??function eN(e){const n=Hv.pop()??Object.create(nN);return n.lView=e,n}(e)}(n),l=Qo(c)):null===function Lc(){return Je}()?(a=!1,c=function oN(e){const n=e[24]??Object.create(iN);return n.lView=e,n}(n),l=Qo(c)):n[24]&&(cr(n[24]),n[24]=null);try{Tp(n),function Up(e){return G.lFrame.bindingIndex=e}(e.bindingStartIndex),null!==t&&Rv(e,n,t,2,o);const u=!(3&~i);if(u){const h=e.preOrderCheckHooks;null!==h&&pa(n,h,null)}else{const h=e.preOrderHooks;null!==h&&ma(n,h,0,null),ju(n,0)}if(function aN(e){for(let n=i_(e);null!==n;n=r_(n)){if(!(2&n[2]))continue;const t=n[9];for(let o=0;o0&&(t[i-1][4]=n),o0&&(e[t-1][4]=o[4]);const r=Ks(e,10+n);!function wv(e,n){Ev(e,n),n[0]=null,n[5]=null}(o[1],o);const s=r[18];null!==s&&s.detachView(r[1]),o[3]=null,o[4]=null,o[2]&=-129}return o}function Zv(e,n){const t=e[9],o=n[3];(Me(o)||n[15]!==o[3][15])&&(e[2]|=2),null===t?e[9]=[n]:t.push(n)}class Yr{_lView;_cdRefInjectingView;_appRef=null;_attachedToViewContainer=!1;exhaustive;get rootNodes(){const n=this._lView,t=n[1];return qr(t,n,t.firstChild,[])}constructor(n,t){this._lView=n,this._cdRefInjectingView=t}get context(){return this._lView[8]}set context(n){this._lView[8]=n}get destroyed(){return _n(this._lView)}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const n=this._lView[3];if(st(n)){const t=n[8],o=t?t.indexOf(this):-1;o>-1&&(Zr(n,o),Ks(t,o))}this._attachedToViewContainer=!1}Wr(this._lView[1],this._lView)}onDestroy(n){aa(this._lView,n)}markForCheck(){Oi(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[2]&=-129}reattach(){wu(this._lView),this._lView[2]|=128}detectChanges(){this._lView[2]|=1024,Ka(this._lView)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new T(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;const n=Hn(this._lView),t=this._lView[16];null!==t&&!n&&Ld(t,this._lView),Ev(this._lView[1],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new T(902,!1);this._appRef=n;const t=Hn(this._lView),o=this._lView[16];null!==o&&!t&&Zv(o,this._lView),wu(this._lView)}}let Sn=(()=>class e{_declarationLView;_declarationTContainer;elementRef;static __NG_ELEMENT_ID__=dN;constructor(t,o,i){this._declarationLView=t,this._declarationTContainer=o,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,o){return this.createEmbeddedViewImpl(t,o)}createEmbeddedViewImpl(t,o,i){const r=Ni(this._declarationLView,this._declarationTContainer,t,{embeddedViewInjector:o,dehydratedView:i});return new Yr(r)}})();function dN(){return Ja(q(),w())}function Ja(e,n){return 4&e.type?new Sn(n,e,vi(e,n)):null}function Oo(e,n,t,o,i){let r=e.data[n];if(null===r)r=function Kd(e,n,t,o,i){const r=Lp(),s=Pp(),l=e.data[n]=function CN(e,n,t,o,i,r){let s=n?n.injectorIndex:-1,a=0;return function Rp(){return null!==G.skipHydrationRootTNode}()&&(a|=128),{type:t,index:o,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:i,attrs:r,mergedAttrs:null,localNames:null,initialInputs:null,inputs:null,hostDirectiveInputs:null,outputs:null,hostDirectiveOutputs:null,directiveToIndex:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?r:r&&r.parent,t,n,o,i);return function yN(e,n,t,o){null===e.firstChild&&(e.firstChild=n),null!==t&&(o?null==t.child&&null!==n.parent&&(t.child=n):null===t.next&&(t.next=n,n.prev=t))}(e,l,r,s),l}(e,n,t,o,i),function TT(){return G.lFrame.inI18n}()&&(r.flags|=32);else if(64&r.type){r.type=t,r.value=o,r.attrs=i;const s=function br(){const e=G.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();r.injectorIndex=null===s?-1:s.injectorIndex}return yn(r,!0),r}function hy(e,n){let t=0,o=e.firstChild;if(o){const i=e.data.r;for(;tclass e{destroyNode=null;static __NG_ELEMENT_ID__=()=>function iO(){const e=w(),t=at(q().index,e);return(Me(t)?t:e)[Y]}()})(),rO=(()=>{class e{static \u0275prov=X({token:e,providedIn:"root",factory:()=>null})}return e})();const af={};class Fi{injector;parentInjector;constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,o){const i=this.injector.get(n,af,o);return i!==af||t===af?i:this.parentInjector.get(n,t,o)}}function ll(e,n,t){let o=t?e.styles:null,i=t?e.classes:null,r=0;if(null!==n)for(let s=0;s0&&(t.directiveToIndex=new Map);for(let g=0;g0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,o,r)}}(e,n,o,$r(e,t,i.hostVars,ce),i)}function _O(e,n,t){if(t){if(n.exportAs)for(let o=0;o{const[t,o,i]=e[n],r={propName:t,templateName:n,isSignal:0!==(o&ja.SignalBased)};return i&&(r.transform=i),r})}(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=function xO(e){return Object.keys(e).map(n=>({propName:e[n],templateName:n}))}(this.componentDef.outputs),this.cachedOutputs}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function mA(e){return e.map(pA).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors??[],this.isBoundToModule=!!t}create(n,t,o,i,r,s){he(22);const a=z(null);try{const l=this.componentDef,c=function PO(e,n,t,o){const i=e?["ng-version","20.3.5"]:function _A(e){const n=[],t=[];let o=1,i=2;for(;o{if(1&t&&e)for(const o of e)o.create();if(2&t&&n)for(const o of n)o.update()}:null}(r,s),1,a,l,null,null,null,[i],null)}(o,l,s,r),u=function RO(e,n,t){let o=n instanceof Lt?n:n?.injector;return o&&null!==e.getStandaloneInjector&&(o=e.getStandaloneInjector(o)||o),o?new Fi(t,o):t}(l,i||this.ngModule,n),d=function kO(e){const n=e.get(rf,null);if(null===n)throw new T(407,!1);return{rendererFactory:n,sanitizer:e.get(rO,null),changeDetectionScheduler:e.get(di,null),ngReflect:!1}}(u),g=d.rendererFactory.createRenderer(null,l),h=o?function HA(e,n,t,o){const r=o.get(qS,!1)||t===In.ShadowDom,s=e.selectRootElement(n,r);return function BA(e){kv(e)}(s),s}(g,o,l.encapsulation,u):function FO(e,n){const t=function LO(e){return(e.selectors[0][0]||"div").toLowerCase()}(e);return Ha(n,t,"svg"===t?"svg":"math"===t?"math":null)}(l,g),p=s?.some(Oy)||r?.some(N=>"function"!=typeof N&&N.bindings.some(Oy)),b=Ba(null,c,null,512|xd(l),null,null,d,g,u,null,null);b[H]=h,Ou(b);let I=null;try{const N=lf(H,b,2,"#host",()=>c.directiveRegistry,!0,0);mv(g,h,N),vt(h,b),Ga(c,b,N),Cd(c,N,b),cf(c,N),void 0!==t&&function BO(e,n,t){const o=e.projection=[];for(let i=0;iclass e{static __NG_ELEMENT_ID__=jO})();function jO(){return ky(q(),w())}const UO=ln,xy=class extends UO{_lContainer;_hostTNode;_hostLView;constructor(n,t,o){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=o}get element(){return vi(this._hostTNode,this._hostLView)}get injector(){return new Se(this._hostTNode,this._hostLView)}get parentInjector(){const n=ya(this._hostTNode,this._hostLView);if($u(n)){const t=xr(n,this._hostLView),o=Or(n);return new Se(t[1].data[o+8],t)}return new Se(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=Ry(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-10}createEmbeddedView(n,t,o){let i,r;"number"==typeof o?i=o:null!=o&&(i=o.index,r=o.injector);const a=n.createEmbeddedViewImpl(t||{},r,null);return this.insertImpl(a,i,No(this._hostTNode,null)),a}createComponent(n,t,o,i,r,s,a){const l=n&&!function Ar(e){return"function"==typeof e}(n);let c;if(l)c=t;else{const I=t||{};c=I.index,o=I.injector,i=I.projectableNodes,r=I.environmentInjector||I.ngModuleRef,s=I.directives,a=I.bindings}const u=l?n:new df(le(n)),d=o||this.parentInjector;if(!r&&null==u.ngModule){const N=(l?d:this.parentInjector).get(Lt,null);N&&(r=N)}le(u.componentType??{});const b=u.create(d,i,null,r,s,a);return this.insertImpl(b.hostView,c,No(this._hostTNode,null)),b}insert(n,t){return this.insertImpl(n,t,!0)}insertImpl(n,t,o){const i=n._lView;if(function bT(e){return st(e[3])}(i)){const a=this.indexOf(n);if(-1!==a)this.detach(a);else{const l=i[3],c=new xy(l,l[5],l[3]);c.detach(c.indexOf(n))}}const r=this._adjustIndex(t),s=this._lContainer;return xi(s,i,r,o),n.attachToViewContainerRef(),lp(ff(s),r,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=Ry(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),o=Zr(this._lContainer,t);o&&(Ks(ff(this._lContainer),t),Wr(o[1],o))}detach(n){const t=this._adjustIndex(n,-1),o=Zr(this._lContainer,t);return o&&null!=Ks(ff(this._lContainer),t)?new Yr(o):null}_adjustIndex(n,t=0){return n??this.length+t}};function Ry(e){return e[8]}function ff(e){return e[8]||(e[8]=[])}function ky(e,n){let t;const o=n[e.index];return st(o)?t=o:(t=Wv(o,n,null,e),n[e.index]=t,Rd(n,t)),Fy(t,n,e,o),new xy(t,e,n)}let Fy=function Py(e,n,t,o){if(e[7])return;let i;i=8&t.type?$e(o):function $O(e,n){const t=e[Y],o=t.createComment(""),i=Le(n,e),r=t.parentNode(i);return So(t,r,o,t.nextSibling(i),!1),o}(n,t),e[7]=i};class gf{queryList;matches=null;constructor(n){this.queryList=n}clone(){return new gf(this.queryList)}setDirty(){this.queryList.setDirty()}}class pf{queries;constructor(n=[]){this.queries=n}createEmbeddedView(n){const t=n.queries;if(null!==t){const o=null!==n.contentQueries?n.contentQueries[0]:t.length,i=[];for(let r=0;rn.trim())}(n):n}}class mf{queries;constructor(n=[]){this.queries=n}elementStart(n,t){for(let o=0;o0)o.push(s[a/2]);else{const c=r[a+1],u=n[-l];for(let d=10;dt()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class Qy extends ax{moduleType;constructor(n){super(),this.moduleType=n}create(n){return new wf(this.moduleType,n,[])}}class ux extends ko{injector;componentFactoryResolver=new Ny(this);instance=null;constructor(n){super();const t=new _o([...n.providers,{provide:ko,useValue:this},{provide:sl,useValue:this.componentFactoryResolver}],n.parent||pu(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}let dx=(()=>{class e{_injector;cachedInjectors=new Map;constructor(t){this._injector=t}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){const o=uu(0,t.type),i=o.length>0?function Ky(e,n,t=null){return new ux({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}([o],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,i)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}static \u0275prov=X({token:e,providedIn:"environment",factory:()=>new e(te(Lt))})}return e})();function qt(e){return En(()=>{const n=Xy(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===Da.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:n.standalone?i=>i.get(dx).getOrCreateStandaloneInjector(t):null,getExternalStyles:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||In.Emulated,styles:e.styles||_e,_:null,schemas:e.schemas||null,tView:null,id:""};n.standalone&&nt("NgStandalone"),eC(t);const o=e.dependencies;return t.directiveDefs=fl(o,Jy),t.pipeDefs=fl(o,Gt),t.id=function px(e){let n=0;const o=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,"function"==typeof e.consts?"":e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery];for(const r of o.join("|"))n=Math.imul(31,n)+r.charCodeAt(0)|0;return n+=2147483648,"c"+n}(t),t})}function Jy(e){return le(e)||rt(e)}function Qn(e){return En(()=>({type:e.type,bootstrap:e.bootstrap||_e,declarations:e.declarations||_e,imports:e.imports||_e,exports:e.exports||_e,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function fx(e,n){if(null==e)return tn;const t={};for(const o in e)if(e.hasOwnProperty(o)){const i=e[o];let r,s,a,l;Array.isArray(i)?(a=i[0],r=i[1],s=i[2]??r,l=i[3]||null):(r=i,s=i,a=ja.None,l=null),t[r]=[o,a,l],n[r]=s}return t}function hx(e){if(null==e)return tn;const n={};for(const t in e)e.hasOwnProperty(t)&&(n[e[t]]=t);return n}function W(e){return En(()=>{const n=Xy(e);return eC(n),n})}function yt(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:e.standalone??!0,onDestroy:e.type.prototype.ngOnDestroy||null}}function Xy(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputConfig:e.inputs||tn,exportAs:e.exportAs||null,standalone:e.standalone??!0,signals:!0===e.signals,selectors:e.selectors||_e,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,resolveHostDirectives:null,hostDirectives:null,inputs:fx(e.inputs,n),outputs:hx(e.outputs),debugInfo:null}}function eC(e){e.features?.forEach(n=>n(e))}function fl(e,n){return e?()=>{const t="function"==typeof e?e():e,o=[];for(const i of t){const r=n(i);null!==r&&o.push(r)}return o}:null}function ae(e){let n=function tC(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),t=!0;const o=[e];for(;n;){let i;if(St(e))i=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new T(903,!1);i=n.\u0275dir}if(i){if(t){o.push(i);const s=e;s.inputs=Ef(e.inputs),s.declaredInputs=Ef(e.declaredInputs),s.outputs=Ef(e.outputs);const a=i.hostBindings;a&&Cx(e,a);const l=i.viewQuery,c=i.contentQueries;if(l&&vx(e,l),c&&yx(e,c),mx(e,i),LI(e.outputs,i.outputs),St(i)&&i.data.animation){const u=e.data;u.animation=(u.animation||[]).concat(i.data.animation)}}const r=i.features;if(r)for(let s=0;s=0;o--){const i=e[o];i.hostVars=n+=i.hostVars,i.hostAttrs=_i(i.hostAttrs,t=_i(t,i.hostAttrs))}}(o)}function mx(e,n){for(const t in n.inputs){if(!n.inputs.hasOwnProperty(t)||e.inputs.hasOwnProperty(t))continue;const o=n.inputs[t];void 0!==o&&(e.inputs[t]=o,e.declaredInputs[t]=n.declaredInputs[t])}}function Ef(e){return e===tn?{}:e===_e?[]:e}function vx(e,n){const t=e.viewQuery;e.viewQuery=t?(o,i)=>{n(o,i),t(o,i)}:n}function yx(e,n){const t=e.contentQueries;e.contentQueries=t?(o,i,r)=>{n(o,i,r),t(o,i,r)}:n}function Cx(e,n){const t=e.hostBindings;e.hostBindings=t?(o,i)=>{n(o,i),t(o,i)}:n}function sC(e,n,t,o,i,r,s,a){if(t.firstCreatePass){e.mergedAttrs=_i(e.mergedAttrs,e.attrs);const u=e.tView=Od(2,e,i,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,t.consts,null);null!==t.queries&&(t.queries.template(t,e),u.queries=t.queries.embeddedTView(e))}a&&(e.flags|=a),yn(e,!1);const l=lC(t,n,e,o);ua()&&Bd(t,n,l,e),vt(l,n);const c=Wv(l,n,l,e);n[o+H]=c,Rd(n,c)}function Fo(e,n,t,o,i,r,s,a,l,c,u){const d=t+H;let g;if(n.firstCreatePass){if(g=Oo(n,d,4,s||null,a||null),null!=c){const h=tt(n.consts,c);g.localNames=[];for(let p=0;pnull),s=o;if(n&&"object"==typeof n){const l=n;i=l.next?.bind(l),r=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(r=this.wrapInTimeout(r),i&&(i=this.wrapInTimeout(i)),s&&(s=this.wrapInTimeout(s)));const a=super.subscribe({next:i,error:r,complete:s});return n instanceof Mt&&n.add(a),a}wrapInTimeout(n){return t=>{const o=this.pendingTasks?.add();setTimeout(()=>{try{n(t)}finally{void 0!==o&&this.pendingTasks?.remove(o)}})}}};function pC(e){let n,t;function o(){e=wr;try{void 0!==t&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(t),void 0!==n&&clearTimeout(n)}catch{}}return n=setTimeout(()=>{e(),o()}),"function"==typeof requestAnimationFrame&&(t=requestAnimationFrame(()=>{e(),o()})),()=>o()}function mC(e){return queueMicrotask(()=>e()),()=>{e=wr}}const Tf="isAngularZone",_l=Tf+"_ID";let kx=0;class re{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new ve(!1);onMicrotaskEmpty=new ve(!1);onStable=new ve(!1);onError=new ve(!1);constructor(n){const{enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:o=!1,shouldCoalesceRunChangeDetection:i=!1,scheduleInRootZone:r=gC}=n;if(typeof Zone>"u")throw new T(908,!1);Zone.assertZonePatched();const s=this;s._nesting=0,s._outer=s._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(s._inner=s._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!i&&o,s.shouldCoalesceRunChangeDetection=i,s.callbackScheduled=!1,s.scheduleInRootZone=r,function Px(e){const n=()=>{!function Lx(e){function n(){pC(()=>{e.callbackScheduled=!1,Af(e),e.isCheckStableRunning=!0,Sf(e),e.isCheckStableRunning=!1})}e.isCheckStableRunning||e.callbackScheduled||(e.callbackScheduled=!0,e.scheduleInRootZone?Zone.root.run(()=>{n()}):e._outer.run(()=>{n()}),Af(e))}(e)},t=kx++;e._inner=e._inner.fork({name:"angular",properties:{[Tf]:!0,[_l]:t,[_l+t]:!0},onInvokeTask:(o,i,r,s,a,l)=>{if(function Vx(e){return yC(e,"__ignore_ng_zone__")}(l))return o.invokeTask(r,s,a,l);try{return _C(e),o.invokeTask(r,s,a,l)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&n(),vC(e)}},onInvoke:(o,i,r,s,a,l,c)=>{try{return _C(e),o.invoke(r,s,a,l,c)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!function Hx(e){return yC(e,"__scheduler_tick__")}(l)&&n(),vC(e)}},onHasTask:(o,i,r,s)=>{o.hasTask(r,s),i===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Af(e),Sf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(o,i,r,s)=>(o.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(s)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get(Tf)}static assertInAngularZone(){if(!re.isInAngularZone())throw new T(909,!1)}static assertNotInAngularZone(){if(re.isInAngularZone())throw new T(909,!1)}run(n,t,o){return this._inner.run(n,t,o)}runTask(n,t,o,i){const r=this._inner,s=r.scheduleEventTask("NgZoneEvent: "+i,n,Fx,wr,wr);try{return r.runTask(s,t,o)}finally{r.cancelTask(s)}}runGuarded(n,t,o){return this._inner.runGuarded(n,t,o)}runOutsideAngular(n){return this._outer.run(n)}}const Fx={};function Sf(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function Af(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&!0===e.callbackScheduled)}function _C(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function vC(e){e._nesting--,Sf(e)}class Nf{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new ve;onMicrotaskEmpty=new ve;onStable=new ve;onError=new ve;run(n,t,o){return n.apply(t,o)}runGuarded(n,t,o){return n.apply(t,o)}runOutsideAngular(n){return n()}runTask(n,t,o,i){return n.apply(t,o)}}function yC(e,n){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0]?.data?.[n]}let CC=(()=>{class e{impl=null;execute(){this.impl?.execute()}static \u0275prov=X({token:e,providedIn:"root",factory:()=>new e})}return e})();const bC=[0,1,2,3];let jx=(()=>{class e{ngZone=F(re);scheduler=F(di);errorHandler=F(ui,{optional:!0});sequences=new Set;deferredRegistrations=new Set;executing=!1;constructor(){F(us,{optional:!0})}execute(){const t=this.sequences.size>0;t&&he(16),this.executing=!0;for(const o of bC)for(const i of this.sequences)if(!i.erroredOrDestroyed&&i.hooks[o])try{i.pipelinedValue=this.ngZone.runOutsideAngular(()=>this.maybeTrace(()=>(0,i.hooks[o])(i.pipelinedValue),i.snapshot))}catch(r){i.erroredOrDestroyed=!0,this.errorHandler?.handleError(r)}this.executing=!1;for(const o of this.sequences)o.afterRun(),o.once&&(this.sequences.delete(o),o.destroy());for(const o of this.deferredRegistrations)this.sequences.add(o);this.deferredRegistrations.size>0&&this.scheduler.notify(7),this.deferredRegistrations.clear(),t&&he(17)}register(t){const{view:o}=t;void 0!==o?((o[25]??=[]).push(t),li(o),o[2]|=8192):this.executing?this.deferredRegistrations.add(t):this.addSequence(t)}addSequence(t){this.sequences.add(t),this.scheduler.notify(7)}unregister(t){this.executing&&this.sequences.has(t)?(t.erroredOrDestroyed=!0,t.pipelinedValue=void 0,t.once=!0):(this.sequences.delete(t),this.deferredRegistrations.delete(t))}maybeTrace(t,o){return o?o.run(If.AFTER_NEXT_RENDER,t):t()}static \u0275prov=X({token:e,providedIn:"root",factory:()=>new e})}return e})();class DC{impl;hooks;view;once;snapshot;erroredOrDestroyed=!1;pipelinedValue=void 0;unregisterOnDestroy;constructor(n,t,o,i,r,s=null){this.impl=n,this.hooks=t,this.view=o,this.once=i,this.snapshot=s,this.unregisterOnDestroy=r?.onDestroy(()=>this.destroy())}afterRun(){this.erroredOrDestroyed=!1,this.pipelinedValue=void 0,this.snapshot?.dispose(),this.snapshot=null}destroy(){this.impl.unregister(this),this.unregisterOnDestroy?.();const n=this.view?.[25];n&&(this.view[25]=n.filter(t=>t!==this))}}function EC(e,n){const t=n?.injector??F(Vt);return nt("NgAfterNextRender"),function MC(e,n,t,o){const i=n.get(CC);i.impl??=n.get(jx);const r=n.get(us,null,{optional:!0}),s=!0!==t?.manualCleanup?n.get(Dn):null,a=n.get(ku,null,{optional:!0}),l=new DC(i.impl,function Ux(e){return e instanceof Function?[void 0,void 0,e,void 0]:[e.earlyRead,e.write,e.mixedReadWrite,e.read]}(e),a?.view,o,s,r?.snapshot(null));return i.impl.register(l),l}(e,t,n,!0)}const ZC=new R(""),Dl=new R("");let Hf,Pf=(()=>{class e{_ngZone;registry;_isZoneStable=!0;_callbacks=[];_taskTrackingZone=null;_destroyRef;constructor(t,o,i){this._ngZone=t,this.registry=o,vu()&&(this._destroyRef=F(Dn,{optional:!0})??void 0),Hf||(function WR(e){Hf=e}(i),i.addToWindow(o)),this._watchAngularEvents(),t.run(()=>{this._taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){const t=this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),o=this._ngZone.runOutsideAngular(()=>this._ngZone.onStable.subscribe({next:()=>{re.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}}));this._destroyRef?.onDestroy(()=>{t.unsubscribe(),o.unsubscribe()})}isStable(){return this._isZoneStable&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb()}});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(o=>!o.updateCb||!o.updateCb(t)||(clearTimeout(o.timeoutId),!1))}}getPendingTasks(){return this._taskTrackingZone?this._taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,o,i){let r=-1;o&&o>0&&(r=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==r),t()},o)),this._callbacks.push({doneCb:t,timeoutId:r,updateCb:i})}whenStable(t,o,i){if(i&&!this._taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,o,i),this._runCallbacksIfReady()}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,o,i){return[]}static \u0275fac=function(o){return new(o||e)(te(re),te(Vf),te(Dl))};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})(),Vf=(()=>{class e{_applications=new Map;registerApplication(t,o){this._applications.set(t,o)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,o=!0){return Hf?.findTestabilityInTree(this,t,o)??null}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function wl(e){return!!e&&"function"==typeof e.then}function YC(e){return!!e&&"function"==typeof e.subscribe}const QC=new R("");let KC=(()=>{class e{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((t,o)=>{this.resolve=t,this.reject=o});appInits=F(QC,{optional:!0})??[];injector=F(Vt);constructor(){}runInitializers(){if(this.initialized)return;const t=[];for(const i of this.appInits){const r=yp(this.injector,i);if(wl(r))t.push(r);else if(YC(r)){const s=new Promise((a,l)=>{r.subscribe({complete:a,error:l})});t.push(s)}}const o=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{o()}).catch(i=>{this.reject(i)}),0===t.length&&o(),this.initialized=!0}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const qR=new R("");function JC(e,n){return Array.isArray(n)?n.reduce(JC,e):{...e,...n}}let Jn=(()=>{class e{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=F(wn);afterRenderManager=F(CC);zonelessEnabled=F(nm);rootEffectScheduler=F(sm);dirtyFlags=0;tracingSnapshot=null;allTestViews=new Set;autoDetectTestViews=new Set;includeAllTestViews=!1;afterTick=new Xt;get allViews(){return[...(this.includeAllTestViews?this.allTestViews:this.autoDetectTestViews).keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];internalPendingTask=F(Eo);get isStable(){return this.internalPendingTask.hasPendingTasksObservable.pipe(Vu(t=>!t))}constructor(){F(us,{optional:!0})}whenStable(){let t;return new Promise(o=>{t=this.isStable.subscribe({next:i=>{i&&o()}})}).finally(()=>{t.unsubscribe()})}_injector=F(Lt);_rendererFactory=null;get injector(){return this._injector}bootstrap(t,o){return this.bootstrapImpl(t,o)}bootstrapImpl(t,o,i=Vt.NULL){return this._injector.get(re).run(()=>{he(10);const s=t instanceof yy;if(!this._injector.get(KC).done)throw new T(405,"");let l;l=s?t:this._injector.get(sl).resolveComponentFactory(t),this.componentTypes.push(l.componentType);const c=function YR(e){return e.isBoundToModule}(l)?void 0:this._injector.get(ko),d=l.create(i,[],o||l.selector,c),g=d.location.nativeElement,h=d.injector.get(ZC,null);return h?.registerApplication(g),d.onDestroy(()=>{this.detachView(d.hostView),El(this.components,d),h?.unregisterApplication(g)}),this._loadComponent(d),he(11,d),d})}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){he(12),null!==this.tracingSnapshot?this.tracingSnapshot.run(If.CHANGE_DETECTION,this.tickImpl):this.tickImpl()}tickImpl=()=>{if(this._runningTick)throw new T(101,!1);const t=z(null);try{this._runningTick=!0,this.synchronize()}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,z(t),this.afterTick.next(),he(13)}};synchronize(){null===this._rendererFactory&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(rf,null,{optional:!0}));let t=0;for(;0!==this.dirtyFlags&&t++<10;)he(14),this.synchronizeOnce(),he(15)}synchronizeOnce(){16&this.dirtyFlags&&(this.dirtyFlags&=-17,this.rootEffectScheduler.flush());let t=!1;if(7&this.dirtyFlags){const o=!!(1&this.dirtyFlags);this.dirtyFlags&=-8,this.dirtyFlags|=8;for(let{_lView:i}of this.allViews)(o||sa(i))&&(Ka(i,o&&!this.zonelessEnabled?0:1),t=!0);if(this.dirtyFlags&=-5,this.syncDirtyFlagsWithViews(),23&this.dirtyFlags)return}t||(this._rendererFactory?.begin?.(),this._rendererFactory?.end?.()),8&this.dirtyFlags&&(this.dirtyFlags&=-9,this.afterRenderManager.execute()),this.syncDirtyFlagsWithViews()}syncDirtyFlagsWithViews(){this.allViews.some(({_lView:t})=>sa(t))?this.dirtyFlags|=2:this.dirtyFlags&=-8}attachView(t){const o=t;this._views.push(o),o.attachToAppRef(this)}detachView(t){const o=t;El(this._views,o),o.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView);try{this.tick()}catch(i){this.internalErrorHandler(i)}this.components.push(t),this._injector.get(qR,[]).forEach(i=>i(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>El(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new T(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function El(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function ct(e,n,t,o){const i=w();return De(i,mt(),n)&&(K(),function WA(e,n,t,o,i,r){const s=Le(e,n);!function Wa(e,n,t,o,i,r,s){if(null==r)e.removeAttribute(n,i,t);else{const a=null==s?Z(r):s(r,o||"",i);e.setAttribute(n,i,a,t)}}(n[Y],s,r,e.value,t,o,i)}(on(),i,e,n,t,o)),ct}typeof document<"u"&&document;class zk{destroy(n){}updateValue(n,t){}swap(n,t){const o=Math.min(n,t),i=Math.max(n,t),r=this.detach(i);if(i-o>1){const s=this.detach(o);this.attach(o,r),this.attach(i,s)}else this.attach(o,r)}move(n,t){this.attach(t,this.detach(n,!0))}}function Kf(e,n,t,o,i){return e===t&&Object.is(n,o)?1:Object.is(i(e,n),i(t,o))?-1:0}function Jf(e,n,t,o){return!(void 0===n||!n.has(o)||(e.attach(t,n.get(o)),n.delete(o),0))}function gb(e,n,t,o,i){if(Jf(e,n,o,t(o,i)))e.updateValue(o,i);else{const r=e.create(o,i);e.attach(o,r)}}function pb(e,n,t,o){const i=new Set;for(let r=n;r<=t;r++)i.add(o(r,e.at(r)));return i}class mb{kvMap=new Map;_vMap=void 0;has(n){return this.kvMap.has(n)}delete(n){if(!this.has(n))return!1;const t=this.kvMap.get(n);return void 0!==this._vMap&&this._vMap.has(t)?(this.kvMap.set(n,this._vMap.get(t)),this._vMap.delete(t)):this.kvMap.delete(n),!0}get(n){return this.kvMap.get(n)}set(n,t){if(this.kvMap.has(n)){let o=this.kvMap.get(n);void 0===this._vMap&&(this._vMap=new Map);const i=this._vMap;for(;i.has(o);)o=i.get(o);i.set(o,t)}else this.kvMap.set(n,t)}forEach(n){for(let[t,o]of this.kvMap)if(n(o,t),void 0!==this._vMap){const i=this._vMap;for(;i.has(o);)o=i.get(o),n(o,t)}}}function y(e,n,t,o,i,r,s,a){nt("NgControlFlow");const l=w(),c=K();return Fo(l,c,e,n,t,o,i,tt(c.consts,r),256,s,a),Xf}function Xf(e,n,t,o,i,r,s,a){nt("NgControlFlow");const l=w(),c=K();return Fo(l,c,e,n,t,o,i,tt(c.consts,r),512,s,a),Xf}function C(e,n){nt("NgControlFlow");const t=w(),o=mt(),i=t[o]!==ce?t[o]:-1,r=-1!==i?Ol(t,H+i):void 0;if(De(t,o,e)){const a=z(null);try{if(void 0!==r&&qd(r,0),-1!==e){const l=H+e,c=Ol(t,l),u=eh(t[1],l),d=null;xi(c,Ni(t,u,n,{dehydratedView:d}),0,No(u,d))}}finally{z(a)}}else if(void 0!==r){const a=qv(r,0);void 0!==a&&(a[8]=n)}}class Wk{lContainer;$implicit;$index;constructor(n,t,o){this.lContainer=n,this.$implicit=t,this.$index=o}get $count(){return this.lContainer.length-10}}function Ye(e,n){return n}class Zk{hasEmptyBlock;trackByFn;liveCollection;constructor(n,t,o){this.hasEmptyBlock=n,this.trackByFn=t,this.liveCollection=o}}function Qe(e,n,t,o,i,r,s,a,l,c,u,d,g){nt("NgControlFlow");const h=w(),p=K(),b=void 0!==l,I=w(),N=a?s.bind(I[15][8]):s,E=new Zk(b,N);I[H+e]=E,Fo(h,p,e+1,n,t,o,i,tt(p.consts,r),256),b&&Fo(h,p,e+2,l,c,u,d,tt(p.consts,g),512)}class Yk extends zk{lContainer;hostLView;templateTNode;operationsCounter=void 0;needsIndexUpdate=!1;constructor(n,t,o){super(),this.lContainer=n,this.hostLView=t,this.templateTNode=o}get length(){return this.lContainer.length-10}at(n){return this.getLView(n)[8].$implicit}attach(n,t){const o=t[6];this.needsIndexUpdate||=n!==this.length,xi(this.lContainer,t,n,No(this.templateTNode,o))}detach(n,t){return this.needsIndexUpdate||=n!==this.length-1,t&&function Qk(e,n){if(e.length<=10)return;const o=e[10+n];o&&o[26]&&(o[26].skipLeaveAnimations=!0)}(this.lContainer,n),function Kk(e,n){return Zr(e,n)}(this.lContainer,n)}create(n,t){const i=Ni(this.hostLView,this.templateTNode,new Wk(this.lContainer,t,n),{dehydratedView:null});return this.operationsCounter?.recordCreate(),i}destroy(n){Wr(n[1],n),this.operationsCounter?.recordDestroy()}updateValue(n,t){this.getLView(n)[8].$implicit=t}reset(){this.needsIndexUpdate=!1,this.operationsCounter?.reset()}updateIndexes(){if(this.needsIndexUpdate)for(let n=0;n{e.destroy(l)})}(l,e,r.trackByFn),l.updateIndexes(),r.hasEmptyBlock){const c=mt(),u=0===l.length;if(De(o,c,u)){const d=t+2,g=Ol(o,d);if(u){const h=eh(i,d),p=null;xi(g,Ni(o,h,void 0,{dehydratedView:p}),0,No(h,p))}else i.firstUpdatePass&&function ol(e){const n=e[6]??[],o=e[3][Y],i=[];for(const r of n)void 0!==r.data.di?i.push(r):hy(r,o);e[6]=i}(g),qd(g,0)}}}finally{z(n)}}function Ol(e,n){return e[n]}function eh(e,n){return ai(e,n)}function A(e,n,t){const o=w();return De(o,mt(),n)&&(K(),Ud(on(),o,e,n,o[Y],t)),A}function th(e,n,t,o,i){Ya(n,e,t,i?"class":"style",o)}function v(e,n,t,o){const i=w(),r=i[1],s=e+H,a=r.firstCreatePass?lf(s,i,2,n,zd,Tu(),t,o):r.data[s];if(function qa(e,n,t,o,i){const r=H+t,s=n[1],a=i(s,n,e,o,t);n[r]=a,yn(e,!0);const l=2===e.type;return l?(mv(n[Y],a,e),(0===function wT(){return G.lFrame.elementDepthCount}()||ri(e))&&vt(a,n),function ET(){G.lFrame.elementDepthCount++}()):vt(a,n),ua()&&(!l||!Sa(e))&&Bd(s,n,a,e),e}(a,i,e,n,ih),ri(a)){const l=i[1];Ga(l,i,a),Cd(l,a,i)}return null!=o&&Ai(i,a),v}function _(){const e=K(),t=Za(q());return e.firstCreatePass&&cf(e,t),function kp(e){return G.skipHydrationRootTNode===e}(t)&&function Fp(){G.skipHydrationRootTNode=null}(),function xp(){G.lFrame.elementDepthCount--}(),null!=t.classesWithoutHost&&function W0(e){return!!(8&e.flags)}(t)&&th(e,t,w(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function q0(e){return!!(16&e.flags)}(t)&&th(e,t,w(),t.stylesWithoutHost,!1),_}function O(e,n,t,o){return v(e,n,t,o),_(),O}let ih=(e,n,t,o,i)=>(Dr(!0),Ha(n[Y],o,function FT(){return G.lFrame.currentNamespace}()));function ue(){return w()}const kl="en-US";let Mb=kl;function U(e,n,t){const o=w(),i=K(),r=q();return uh(i,o,o[Y],r,e,n,t),U}function uh(e,n,t,o,i,r,s){let a=!0,l=null;if((3&o.type||s)&&(l??=ss(o,n,r),function Sy(e,n,t,o,i,r,s,a){const l=ri(e);let c=!1,u=null;if(!o&&l&&(u=function wO(e,n,t,o){const i=e.cleanup;if(null!=i)for(let r=0;rl?a[l]:null}"string"==typeof s&&(r+=2)}return null}(n,t,r,e.index)),null!==u)(u.__ngLastListenerFn__||u).__ngNextListenerFn__=s,u.__ngLastListenerFn__=s,c=!0;else{const d=Le(e,t),g=o?o(d):d,h=i.listen(g,r,a);(function DO(e){return e.startsWith("animation")||e.startsWith("transition")})(r)||Ay(o?b=>o($e(b[e.index])):e.index,n,t,r,a,h,!1)}return c}(o,e,n,s,t,i,r,l)&&(a=!1)),a){const c=o.outputs?.[i],u=o.hostDirectiveOutputs?.[i];if(u&&u.length)for(let d=0;d0;)n=n[14],e--;return n}(e,G.lFrame.contextLView))[8]}(e)}function Gb(e,n,t,o){!function Uy(e,n,t,o){const i=K();if(i.firstCreatePass){const r=q();$y(i,new Vy(n,t,o),r.index),function KO(e,n){const t=e.contentQueries||(e.contentQueries=[]);n!==(t.length?t[t.length-1]:-1)&&t.push(e.queries.length-1,n)}(i,e),!(2&~t)&&(i.staticContentQueries=!0)}return By(i,w(),t)}(e,n,t,o)}function Nt(e,n,t){!function jy(e,n,t){const o=K();return o.firstCreatePass&&($y(o,new Vy(e,n,t),-1),!(2&~n)&&(o.staticViewQueries=!0)),By(o,w(),n)}(e,n,t)}function wt(e){const n=w(),t=K(),o=Nu();ca(o+1);const i=Cf(t,o);if(e.dirty&&function CT(e){return!(4&~e[2])}(n)===!(2&~i.metadata.flags)){if(null===i.matches)e.reset([]);else{const r=zy(n,o);e.reset(r,qm),e.notifyOnChanges()}return!0}return!1}function Et(){return function yf(e,n){return e[18].queries[n].queryList}(w(),Nu())}function Vl(e,n){return e<<17|n<<2}function $o(e){return e>>17&32767}function dh(e){return 2|e}function Wi(e){return(131068&e)>>2}function fh(e,n){return-131069&e|n<<2}function hh(e){return 1|e}function Wb(e,n,t,o){const i=e[t+1],r=null===n;let s=o?$o(i):Wi(i),a=!1;for(;0!==s&&(!1===a||r);){const c=e[s+1];oL(e[s],n)&&(a=!0,e[s+1]=o?hh(c):dh(c)),s=o?$o(c):Wi(c)}a&&(e[t+1]=o?dh(i):hh(i))}function oL(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&mr(e,n)>=0}const Be={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function qb(e){return e.substring(Be.key,Be.keyEnd)}function Zb(e,n){const t=Be.textEnd;return t===n?-1:(n=Be.keyEnd=function aL(e,n,t){for(;n32;)n++;return n}(e,Be.key=n,t),qi(e,n,t))}function qi(e,n,t){for(;n=0;t=Zb(n,t))Xs(e,qb(n),!0)}function Xb(e,n,t,o){const i=w(),r=K(),s=bn(2);r.firstUpdatePass&&nD(r,e,s,o),n!==ce&&De(i,s,n)&&iD(r,r.data[qe()],i,i[Y],e,i[s+1]=function CL(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=gt(Gn(e)))),e}(n,t),o,s)}function tD(e,n){return n>=e.expandoStartIndex}function nD(e,n,t,o){const i=e.data;if(null===i[t+1]){const r=i[qe()],s=tD(e,t);sD(r,o)&&null===n&&!s&&(n=!1),n=function hL(e,n,t,o){const i=function Au(e){const n=G.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let r=o?n.residualClasses:n.residualStyles;if(null===i)0===(o?n.classBindings:n.styleBindings)&&(t=ys(t=gh(null,e,n,t,o),n.attrs,o),r=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==i)if(t=gh(i,e,n,t,o),null===r){let l=function gL(e,n,t){const o=t?n.classBindings:n.styleBindings;if(0!==Wi(o))return e[$o(o)]}(e,n,o);void 0!==l&&Array.isArray(l)&&(l=gh(null,e,n,l[1],o),l=ys(l,n.attrs,o),function pL(e,n,t,o){e[$o(t?n.classBindings:n.styleBindings)]=o}(e,n,o,l))}else r=function mL(e,n,t){let o;const i=n.directiveEnd;for(let r=1+n.directiveStylingLast;r0)&&(c=!0)):u=t,i)if(0!==l){const g=$o(e[a+1]);e[o+1]=Vl(g,a),0!==g&&(e[g+1]=fh(e[g+1],o)),e[a+1]=function XF(e,n){return 131071&e|n<<17}(e[a+1],o)}else e[o+1]=Vl(a,0),0!==a&&(e[a+1]=fh(e[a+1],o)),a=o;else e[o+1]=Vl(l,0),0===a?a=o:e[l+1]=fh(e[l+1],o),l=o;c&&(e[o+1]=dh(e[o+1])),Wb(e,u,o,!0),Wb(e,u,o,!1),function nL(e,n,t,o,i){const r=i?e.residualClasses:e.residualStyles;null!=r&&"string"==typeof n&&mr(r,n)>=0&&(t[o+1]=hh(t[o+1]))}(n,u,e,o,r),s=Vl(a,l),r?n.classBindings=s:n.styleBindings=s}(i,r,n,t,s,o)}}function gh(e,n,t,o,i){let r=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[i],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let g=t[i+1];g===ce&&(g=d?_e:void 0);let h=d?au(g,o):u===o?g:void 0;if(c&&!Bl(h)&&(h=au(l,o)),Bl(h)&&(a=h,s))return a;const p=e[i+1];i=s?$o(p):Wi(p)}if(null!==n){let l=r?n.residualClasses:n.residualStyles;null!=l&&(a=au(l,o))}return a}function Bl(e){return void 0!==e}function sD(e,n){return!!(e.flags&(n?8:16))}function D(e,n=""){const t=w(),o=K(),i=e+H,r=o.firstCreatePass?Oo(o,i,1,n,null):o.data[i],s=aD(o,t,r,n,e);t[i]=s,ua()&&Bd(o,t,s,r),yn(r,!1)}let aD=(e,n,t,o,i)=>(Dr(!0),function Ad(e,n){return e.createText(n)}(n[Y],o));function cD(e,n,t,o=""){return De(e,mt(),t)?n+Z(t)+o:ce}function k(e){return P("",e),k}function P(e,n,t){const o=w(),i=cD(o,e,n,t);return i!==ce&&function On(e,n,t){const o=si(n,e);!function fv(e,n,t){e.setValue(n,t)}(e[Y],o,t)}(o,qe(),i),P}function je(e,n,t){tm(n)&&(n=n());const o=w();return De(o,mt(),n)&&(K(),Ud(on(),o,e,n,o[Y],t)),je}function ye(e,n){const t=tm(e);return t&&e.set(n),t}function Ge(e,n){const t=w(),o=K(),i=q();return uh(o,t,t[Y],i,e,n),Ge}function xn(e){return De(w(),mt(),e)?Z(e):ce}function Ut(e,n,t=""){return cD(w(),e,n,t)}function ph(e,n,t,o,i){if(e=Q(e),Array.isArray(e))for(let r=0;r>20;if(fn(e)||!e.multi){const h=new Nr(c,i,x,null),p=_h(l,n,i?u:u+g,d);-1===p?(Wu(va(a,s),r,l),mh(r,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,i&&(a.providerIndexes+=1048576),t.push(h),s.push(h)):(t[p]=h,s[p]=h)}else{const h=_h(l,n,u+g,d),p=_h(l,n,u,u+g),I=p>=0&&t[p];if(i&&!I||!i&&!(h>=0&&t[h])){Wu(va(a,s),r,l);const N=function LL(e,n,t,o,i){const s=new Nr(e,t,x,null);return s.multi=[],s.index=n,s.componentProviders=0,TD(s,i,o&&!t),s}(i?FL:kL,t.length,i,o,c);!i&&I&&(t[p].providerFactory=N),mh(r,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,i&&(a.providerIndexes+=1048576),t.push(N),s.push(N)}else mh(r,e,h>-1?h:p,TD(t[i?p:h],c,!i&&o));!i&&o&&I&&t[p].componentProviders++}}}function mh(e,n,t,o){const i=fn(n),r=function mp(e){return!!e.useClass}(n);if(i||r){const l=(r?Q(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!i&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[o,l]):c[u+1].push(o,l)}else c.push(t,l)}}}function TD(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function _h(e,n,t,o){for(let i=t;i{t.providersResolver=(o,i)=>function RL(e,n,t){const o=K();if(o.firstCreatePass){const i=St(e);ph(t,o.data,o.blueprint,i,!0),ph(n,o.data,o.blueprint,i,!1)}}(o,i?i(e):e,n)}}function Zi(e,n,t,o){return function AD(e,n,t,o,i,r){const s=n+t;return De(e,s,i)?an(e,s+1,r?o.call(r,i):o(i)):Cs(e,s+1)}(w(),lt(),e,n,t,o)}function yh(e,n,t,o,i){return function ND(e,n,t,o,i,r,s){const a=n+t;return Ro(e,a,i,r)?an(e,a+2,s?o.call(s,i,r):o(i,r)):Cs(e,a+2)}(w(),lt(),e,n,t,o,i)}function Ne(e,n,t,o,i,r){return OD(w(),lt(),e,n,t,o,i,r)}function Cs(e,n){const t=e[n];return t===ce?void 0:t}function OD(e,n,t,o,i,r,s,a){const l=n+t;return function ul(e,n,t,o,i){const r=Ro(e,n,t,o);return De(e,n+2,i)||r}(e,l,i,r,s)?an(e,l+3,a?o.call(a,i,r,s):o(i,r,s)):Cs(e,l+3)}let SP=(()=>{class e{zone=F(re);changeDetectionScheduler=F(di);applicationRef=F(Jn);applicationErrorHandler=F(wn);_onMicrotaskEmptySubscription;initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{try{this.applicationRef.dirtyFlags|=1,this.applicationRef._tick()}catch(t){this.applicationErrorHandler(t)}})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function XD({ngZoneFactory:e,ignoreChangesOutsideZone:n,scheduleInRootZone:t}){return e??=()=>new re({...Eh(),scheduleInRootZone:t}),[{provide:re,useFactory:e},{provide:mo,multi:!0,useFactory:()=>{const o=F(SP,{optional:!0});return()=>o.initialize()}},{provide:mo,multi:!0,useFactory:()=>{const o=F(NP);return()=>{o.initialize()}}},!0===n?{provide:om,useValue:!0}:[],{provide:im,useValue:t??gC},{provide:wn,useFactory:()=>{const o=F(re),i=F(Lt);let r;return s=>{o.runOutsideAngular(()=>{i.destroyed&&!r?setTimeout(()=>{throw s}):(r??=i.get(ui),r.handleError(s))})}}}]}function Eh(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}let NP=(()=>{class e{subscription=new Mt;initialized=!1;zone=F(re);pendingTasks=F(Eo);initialize(){if(this.initialized)return;this.initialized=!0;let t=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(t=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{re.assertNotInAngularZone(),queueMicrotask(()=>{null!==t&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(t),t=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{re.assertInAngularZone(),t??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),nw=(()=>{class e{applicationErrorHandler=F(wn);appRef=F(Jn);taskService=F(Eo);ngZone=F(re);zonelessEnabled=F(nm);tracing=F(us,{optional:!0});disableScheduling=F(om,{optional:!0})??!1;zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new Mt;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(_l):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(F(im,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()})),this.disableScheduling||=!this.zonelessEnabled&&(this.ngZone instanceof Nf||!this.zoneIsDefined)}notify(t){if(!this.zonelessEnabled&&5===t)return;let o=!1;switch(t){case 0:this.appRef.dirtyFlags|=2;break;case 3:case 2:case 4:case 5:case 1:this.appRef.dirtyFlags|=4;break;case 6:case 13:this.appRef.dirtyFlags|=2,o=!0;break;case 12:this.appRef.dirtyFlags|=16,o=!0;break;case 11:o=!0;break;default:this.appRef.dirtyFlags|=8}if(this.appRef.tracingSnapshot=this.tracing?.snapshot(this.appRef.tracingSnapshot)??null,!this.shouldScheduleTick(o))return;const i=this.useMicrotaskScheduler?mC:pC;this.pendingRenderTaskId=this.taskService.add(),this.cancelScheduledCallback=this.scheduleInRootZone?Zone.root.run(()=>i(()=>this.tick())):this.ngZone.runOutsideAngular(()=>i(()=>this.tick()))}shouldScheduleTick(t){return!(this.disableScheduling&&!t||this.appRef.destroyed||null!==this.pendingRenderTaskId||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(_l+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;if(0===this.appRef.dirtyFlags)return void this.cleanup();!this.zonelessEnabled&&7&this.appRef.dirtyFlags&&(this.appRef.dirtyFlags|=1);const t=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(o){this.taskService.remove(t),this.applicationErrorHandler(o)}finally{this.cleanup()}this.useMicrotaskScheduler=!0,mC(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(t)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,null!==this.pendingRenderTaskId){const t=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(t)}}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const to=new R("",{providedIn:"root",factory:()=>F(to,{optional:!0,skipSelf:!0})||function OP(){return typeof $localize<"u"&&$localize.locale||kl}()});new R("").__NG_ELEMENT_ID__=e=>{const n=q();if(null===n)throw new T(204,!1);if(2&n.type)return n.value;if(8&e)return null;throw new T(204,!1)};const ql=new R(""),zP=new R("");function ws(e){return!e.moduleRef}let hw;function gw(){hw=GP}function GP(e,n){const t=e.injector.get(Jn);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(o=>t.bootstrap(o));else{if(!e.instance.ngDoBootstrap)throw new T(-403,!1);e.instance.ngDoBootstrap(t)}n.push(e)}let pw=(()=>{class e{_injector;_modules=[];_destroyListeners=[];_destroyed=!1;constructor(t){this._injector=t}bootstrapModuleFactory(t,o){const i=o?.scheduleInRootZone,s=o?.ignoreChangesOutsideZone,a=[XD({ngZoneFactory:()=>function Bx(e="zone.js",n){return"noop"===e?new Nf:"zone.js"===e?new re(n):e}(o?.ngZone,{...Eh({eventCoalescing:o?.ngZoneEventCoalescing,runCoalescing:o?.ngZoneRunCoalescing}),scheduleInRootZone:i}),ignoreChangesOutsideZone:s}),{provide:di,useExisting:nw},PT],l=function cx(e,n,t){return new wf(e,n,t,!1)}(t.moduleType,this.injector,a);return gw(),function fw(e){const n=ws(e)?e.r3Injector:e.moduleRef.injector,t=n.get(re);return t.run(()=>{ws(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();const o=n.get(wn);let i;if(t.runOutsideAngular(()=>{i=t.onError.subscribe({next:o})}),ws(e)){const r=()=>n.destroy(),s=e.platformInjector.get(ql);s.add(r),n.onDestroy(()=>{i.unsubscribe(),s.delete(r)})}else{const r=()=>e.moduleRef.destroy(),s=e.platformInjector.get(ql);s.add(r),e.moduleRef.onDestroy(()=>{El(e.allPlatformModules,e.moduleRef),i.unsubscribe(),s.delete(r)})}return function WP(e,n,t){try{const o=t();return wl(o)?o.catch(i=>{throw n.runOutsideAngular(()=>e(i)),i}):o}catch(o){throw n.runOutsideAngular(()=>e(o)),o}}(o,t,()=>{const r=n.get(Eo),s=r.add(),a=n.get(KC);return a.runInitializers(),a.donePromise.then(()=>{if(function aF(e){"string"==typeof e&&(Mb=e.toLowerCase().replace(/_/g,"-"))}(n.get(to,kl)||kl),!n.get(zP,!0))return ws(e)?n.get(Jn):(e.allPlatformModules.push(e.moduleRef),e.moduleRef);if(ws(e)){const u=n.get(Jn);return void 0!==e.rootComponent&&u.bootstrap(e.rootComponent),u}return hw?.(e.moduleRef,e.allPlatformModules),e.moduleRef}).finally(()=>{r.remove(s)})})})}({moduleRef:l,allPlatformModules:this._modules,platformInjector:this.injector})}bootstrapModule(t,o=[]){const i=JC({},o);return gw(),function BP(e,n,t){const o=new Qy(t);return Promise.resolve(o)}(0,0,t).then(r=>this.bootstrapModuleFactory(r,i))}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new T(404,!1);this._modules.slice().forEach(o=>o.destroy()),this._destroyListeners.forEach(o=>o());const t=this._injector.get(ql,null);t&&(t.forEach(o=>o()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static \u0275fac=function(o){return new(o||e)(te(Vt))};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),Ki=null;function mw(e,n,t=[]){const o=`Platform: ${n}`,i=new R(o);return(r=[])=>{let s=Zl();if(!s){const a=[...t,...r,{provide:i,useValue:!0}];s=e?.(a)??function qP(e){if(Zl())throw new T(400,!1);(function ZR(){!function yI(e){Bg=e}(()=>{throw new T(600,"")})})(),Ki=e;const n=e.get(pw);return function vw(e){const n=e.get(h_,null);yp(e,()=>{n?.forEach(t=>t())})}(e),n}(function _w(e=[],n){return Vt.create({name:n,providers:[{provide:hu,useValue:"platform"},{provide:ql,useValue:new Set([()=>Ki=null])},...e]})}(a,o))}return function ZP(){const n=Zl();if(!n)throw new T(-401,!1);return n}()}}function Zl(){return Ki?.get(pw)??null}let Es=(()=>class e{static __NG_ELEMENT_ID__=QP})();function QP(e){return function KP(e,n,t){if(mn(e)&&!t){const o=at(e.index,n);return new Yr(o,o)}return 175&e.type?new Yr(n[15],n):null}(q(),w(),!(16&~e))}class ww{constructor(){}supports(n){return n instanceof Map||uf(n)}create(){return new n2}}class n2{_records=new Map;_mapHead=null;_appendAfter=null;_previousMapHead=null;_changesHead=null;_changesTail=null;_additionsHead=null;_additionsTail=null;_removalsHead=null;_removalsTail=null;get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(n){let t;for(t=this._mapHead;null!==t;t=t._next)n(t)}forEachPreviousItem(n){let t;for(t=this._previousMapHead;null!==t;t=t._nextPrevious)n(t)}forEachChangedItem(n){let t;for(t=this._changesHead;null!==t;t=t._nextChanged)n(t)}forEachAddedItem(n){let t;for(t=this._additionsHead;null!==t;t=t._nextAdded)n(t)}forEachRemovedItem(n){let t;for(t=this._removalsHead;null!==t;t=t._nextRemoved)n(t)}diff(n){if(n){if(!(n instanceof Map||uf(n)))throw new T(900,!1)}else n=new Map;return this.check(n)?this:null}onDestroy(){}check(n){this._reset();let t=this._mapHead;if(this._appendAfter=null,this._forEach(n,(o,i)=>{if(t&&t.key===i)this._maybeAddToChanges(t,o),this._appendAfter=t,t=t._next;else{const r=this._getOrCreateRecordForKey(i,o);t=this._insertBeforeOrAppend(t,r)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let o=t;null!==o;o=o._nextRemoved)o===this._mapHead&&(this._mapHead=null),this._records.delete(o.key),o._nextRemoved=o._next,o.previousValue=o.currentValue,o.currentValue=null,o._prev=null,o._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const o=n._prev;return t._next=n,t._prev=o,n._prev=t,o&&(o._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const i=this._records.get(n);this._maybeAddToChanges(i,t);const r=i._prev,s=i._next;return r&&(r._next=s),s&&(s._prev=r),i._next=null,i._prev=null,i}const o=new o2(n);return this._records.set(n,o),o.currentValue=t,this._addToAdditions(o),o}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(o=>t(n[o],o))}}class o2{key;previousValue=null;currentValue=null;_nextPrevious=null;_next=null;_prev=null;_nextAdded=null;_nextRemoved=null;_nextChanged=null;constructor(n){this.key=n}}function Mw(){return new Yl([new ww])}let Yl=(()=>{class e{static \u0275prov=X({token:e,providedIn:"root",factory:Mw});factories;constructor(t){this.factories=t}static create(t,o){if(o){const i=o.factories.slice();t=t.concat(i)}return new e(t)}static extend(t){return{provide:e,useFactory:()=>{const o=F(e,{optional:!0,skipSelf:!0});return e.create(t,o||Mw())}}}find(t){const o=this.factories.find(i=>i.supports(t));if(o)return o;throw new T(901,!1)}}return e})();const s2=mw(null,"core",[]);let a2=(()=>{class e{constructor(t){}static \u0275fac=function(o){return new(o||e)(te(Jn))};static \u0275mod=Qn({type:e});static \u0275inj=dn({})}return e})();function Pe(e){return function P2(e){const n=z(null);try{return e()}finally{z(n)}}(e)}function Zt(e,n){return function mI(e,n){const t=Object.create(_I);t.computation=e,void 0!==n&&(t.equal=n);const o=()=>{if(ar(t),Vs(t),t.value===kn)throw t.error;return t.value};return o[We]=t,o}(e,n?.equal)}Error,Error;const $h=/\s+/,nE=[];let Xi=(()=>{class e{_ngEl;_renderer;initialClasses=nE;rawClass;stateMap=new Map;constructor(t,o){this._ngEl=t,this._renderer=o}set klass(t){this.initialClasses=null!=t?t.trim().split($h):nE}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split($h):t}ngDoCheck(){for(const o of this.initialClasses)this._updateState(o,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const o of t)this._updateState(o,!0);else if(null!=t)for(const o of Object.keys(t))this._updateState(o,!!t[o]);this._applyStateDiff()}_updateState(t,o){const i=this.stateMap.get(t);void 0!==i?(i.enabled!==o&&(i.changed=!0,i.enabled=o),i.touched=!0):this.stateMap.set(t,{enabled:o,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const o=t[0],i=t[1];i.changed?(this._toggleClass(o,i.enabled),i.changed=!1):i.touched||(i.enabled&&this._toggleClass(o,!1),this.stateMap.delete(o)),i.touched=!1}}_toggleClass(t,o){(t=t.trim()).length>0&&t.split($h).forEach(i=>{o?this._renderer.addClass(this._ngEl.nativeElement,i):this._renderer.removeClass(this._ngEl.nativeElement,i)})}static \u0275fac=function(o){return new(o||e)(x(At),x(An))};static \u0275dir=W({type:e,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"}})}return e})(),aE=(()=>{class e{_ngEl;_differs;_renderer;_ngStyle=null;_differ=null;constructor(t,o,i){this._ngEl=t,this._differs=o,this._renderer=i}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,o){const[i,r]=t.split("."),s=-1===i.indexOf("-")?void 0:qn.DashCase;null!=o?this._renderer.setStyle(this._ngEl.nativeElement,i,r?`${o}${r}`:o,s):this._renderer.removeStyle(this._ngEl.nativeElement,i,s)}_applyChanges(t){t.forEachRemovedItem(o=>this._setStyle(o.key,null)),t.forEachAddedItem(o=>this._setStyle(o.key,o.currentValue)),t.forEachChangedItem(o=>this._setStyle(o.key,o.currentValue))}static \u0275fac=function(o){return new(o||e)(x(At),x(Yl),x(An))};static \u0275dir=W({type:e,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}})}return e})(),lE=(()=>{class e{_viewContainerRef;_viewRef=null;ngTemplateOutletContext=null;ngTemplateOutlet=null;ngTemplateOutletInjector=null;constructor(t){this._viewContainerRef=t}ngOnChanges(t){if(this._shouldRecreateView(t)){const o=this._viewContainerRef;if(this._viewRef&&o.remove(o.indexOf(this._viewRef)),!this.ngTemplateOutlet)return void(this._viewRef=null);const i=this._createContextForwardProxy();this._viewRef=o.createEmbeddedView(this.ngTemplateOutlet,i,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(t){return!!t.ngTemplateOutlet||!!t.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(t,o,i)=>!!this.ngTemplateOutletContext&&Reflect.set(this.ngTemplateOutletContext,o,i),get:(t,o,i)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,o,i)}})}static \u0275fac=function(o){return new(o||e)(x(ln))};static \u0275dir=W({type:e,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},features:[Mn]})}return e})();let uE=(()=>{class e{transform(t,o,i){if(null==t)return null;if("string"!=typeof t&&!Array.isArray(t))throw function Qt(e,n){return new T(2100,!1)}();return t.slice(o,i)}static \u0275fac=function(o){return new(o||e)};static \u0275pipe=yt({name:"slice",type:e,pure:!1})}return e})(),dE=(()=>{class e{static \u0275fac=function(o){return new(o||e)};static \u0275mod=Qn({type:e});static \u0275inj=dn({})}return e})();const Zh=new R("");let fE=(()=>{class e{_zone;_plugins;_eventNameToPlugin=new Map;constructor(t,o){this._zone=o,t.forEach(i=>{i.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,o,i,r){return this._findPluginFor(o).addEventListener(t,o,i,r)}getZone(){return this._zone}_findPluginFor(t){let o=this._eventNameToPlugin.get(t);if(o)return o;if(o=this._plugins.find(r=>r.supports(t)),!o)throw new T(5101,!1);return this._eventNameToPlugin.set(t,o),o}static \u0275fac=function(o){return new(o||e)(te(Zh),te(re))};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})();class hE{_doc;constructor(n){this._doc=n}manager}const Yh="ng-app-id";function gE(e){for(const n of e)n.remove()}function pE(e,n){const t=n.createElement("style");return t.textContent=e,t}function Qh(e,n){const t=n.createElement("link");return t.setAttribute("rel","stylesheet"),t.setAttribute("href",e),t}let mE=(()=>{class e{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(t,o,i,r={}){this.doc=t,this.appId=o,this.nonce=i,function hH(e,n,t,o){const i=e.head?.querySelectorAll(`style[${Yh}="${n}"],link[${Yh}="${n}"]`);if(i)for(const r of i)r.removeAttribute(Yh),r instanceof HTMLLinkElement?o.set(r.href.slice(r.href.lastIndexOf("/")+1),{usage:0,elements:[r]}):r.textContent&&t.set(r.textContent,{usage:0,elements:[r]})}(t,o,this.inline,this.external),this.hosts.add(t.head)}addStyles(t,o){for(const i of t)this.addUsage(i,this.inline,pE);o?.forEach(i=>this.addUsage(i,this.external,Qh))}removeStyles(t,o){for(const i of t)this.removeUsage(i,this.inline);o?.forEach(i=>this.removeUsage(i,this.external))}addUsage(t,o,i){const r=o.get(t);r?r.usage++:o.set(t,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,i(t,this.doc)))})}removeUsage(t,o){const i=o.get(t);i&&(i.usage--,i.usage<=0&&(gE(i.elements),o.delete(t)))}ngOnDestroy(){for(const[,{elements:t}]of[...this.inline,...this.external])gE(t);this.hosts.clear()}addHost(t){this.hosts.add(t);for(const[o,{elements:i}]of this.inline)i.push(this.addElement(t,pE(o,this.doc)));for(const[o,{elements:i}]of this.external)i.push(this.addElement(t,Qh(o,this.doc)))}removeHost(t){this.hosts.delete(t)}addElement(t,o){return this.nonce&&o.setAttribute("nonce",this.nonce),t.appendChild(o)}static \u0275fac=function(o){return new(o||e)(te(Bn),te(Lr),te(g_,8),te(td))};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})();const Kh={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},Jh=/%COMP%/g,yH=new R("",{providedIn:"root",factory:()=>!0});function vE(e,n){return n.map(t=>t.replace(Jh,e))}let yE=(()=>{class e{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;platformId;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;platformIsServer;constructor(t,o,i,r,s,a,l,c=null,u=null){this.eventManager=t,this.sharedStylesHost=o,this.appId=i,this.removeStylesOnCompDestroy=r,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.tracingService=u,this.platformIsServer=!1,this.defaultRenderer=new Xh(t,s,l,this.platformIsServer,this.tracingService)}createRenderer(t,o){if(!t||!o)return this.defaultRenderer;const i=this.getOrCreateRenderer(t,o);return i instanceof bE?i.applyToHost(t):i instanceof eg&&i.applyStyles(),i}getOrCreateRenderer(t,o){const i=this.rendererByCompId;let r=i.get(o.id);if(!r){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,d=this.platformIsServer,g=this.tracingService;switch(o.encapsulation){case In.Emulated:r=new bE(l,c,o,this.appId,u,s,a,d,g);break;case In.ShadowDom:return new wH(l,c,t,o,s,a,this.nonce,d,g);default:r=new eg(l,c,o,u,s,a,d,g)}i.set(o.id,r)}return r}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(t){this.rendererByCompId.delete(t)}static \u0275fac=function(o){return new(o||e)(te(fE),te(mE),te(Lr),te(yH),te(Bn),te(td),te(re),te(g_),te(us,8))};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})();class Xh{eventManager;doc;ngZone;platformIsServer;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(n,t,o,i,r){this.eventManager=n,this.doc=t,this.ngZone=o,this.platformIsServer=i,this.tracingService=r}destroy(){}destroyNode=null;createElement(n,t){return t?this.doc.createElementNS(Kh[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(CE(n)?n.content:n).appendChild(t)}insertBefore(n,t,o){n&&(CE(n)?n.content:n).insertBefore(t,o)}removeChild(n,t){t.remove()}selectRootElement(n,t){let o="string"==typeof n?this.doc.querySelector(n):n;if(!o)throw new T(-5104,!1);return t||(o.textContent=""),o}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,o,i){if(i){t=i+":"+t;const r=Kh[i];r?n.setAttributeNS(r,t,o):n.setAttribute(t,o)}else n.setAttribute(t,o)}removeAttribute(n,t,o){if(o){const i=Kh[o];i?n.removeAttributeNS(i,t):n.removeAttribute(`${o}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,o,i){i&(qn.DashCase|qn.Important)?n.style.setProperty(t,o,i&qn.Important?"important":""):n.style[t]=o}removeStyle(n,t,o){o&qn.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,o){null!=n&&(n[t]=o)}setValue(n,t){n.nodeValue=t}listen(n,t,o,i){if("string"==typeof n&&!(n=Er().getGlobalEventTarget(this.doc,n)))throw new T(5102,!1);let r=this.decoratePreventDefault(o);return this.tracingService?.wrapEventListener&&(r=this.tracingService.wrapEventListener(n,t,r)),this.eventManager.addEventListener(n,t,r,i)}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===n(t)&&t.preventDefault()}}}function CE(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class wH extends Xh{sharedStylesHost;hostEl;shadowRoot;constructor(n,t,o,i,r,s,a,l,c){super(n,r,s,l,c),this.sharedStylesHost=t,this.hostEl=o,this.shadowRoot=o.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let u=i.styles;u=vE(i.id,u);for(const g of u){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=g,this.shadowRoot.appendChild(h)}const d=i.getExternalStyles?.();if(d)for(const g of d){const h=Qh(g,r);a&&h.setAttribute("nonce",a),this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,o){return super.insertBefore(this.nodeOrShadowRoot(n),t,o)}removeChild(n,t){return super.removeChild(null,t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class eg extends Xh{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(n,t,o,i,r,s,a,l,c){super(n,r,s,a,l),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=i;let u=o.styles;this.styles=c?vE(c,u):u,this.styleUrls=o.getExternalStyles?.(c)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&0===Ti.size&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}}class bE extends eg{contentAttr;hostAttr;constructor(n,t,o,i,r,s,a,l,c){const u=i+"-"+o.id;super(n,t,o,r,s,a,l,c,u),this.contentAttr=function CH(e){return"_ngcontent-%COMP%".replace(Jh,e)}(u),this.hostAttr=function bH(e){return"_nghost-%COMP%".replace(Jh,e)}(u)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const o=super.createElement(n,t);return super.setAttribute(o,this.contentAttr,""),o}}class tg extends UT{supportsDOMEvents=!0;static makeCurrent(){!function jT(e){am??=e}(new tg)}onAndCancel(n,t,o,i){return n.addEventListener(t,o,i),()=>{n.removeEventListener(t,o,i)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.remove()}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function EH(){return Ts=Ts||document.head.querySelector("base"),Ts?Ts.getAttribute("href"):null}();return null==t?null:function MH(e){return new URL(e,document.baseURI).pathname}(t)}resetBaseElement(){Ts=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return function GT(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const o=t.indexOf("="),[i,r]=-1==o?[t,""]:[t.slice(0,o),t.slice(o+1)];if(i.trim()===n)return decodeURIComponent(r)}return null}(document.cookie,n)}}let Ts=null,TH=(()=>{class e{build(){return new XMLHttpRequest}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})(),SH=(()=>{class e extends hE{constructor(t){super(t)}supports(t){return!0}addEventListener(t,o,i,r){return t.addEventListener(o,i,r),()=>this.removeEventListener(t,o,i,r)}removeEventListener(t,o,i,r){return t.removeEventListener(o,i,r)}static \u0275fac=function(o){return new(o||e)(te(Bn))};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})();const DE=["alt","control","meta","shift"],AH={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},NH={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let OH=(()=>{class e extends hE{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,o,i,r){const s=e.parseEventName(o),a=e.eventCallback(s.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Er().onAndCancel(t,s.domEventName,a,r))}static parseEventName(t){const o=t.toLowerCase().split("."),i=o.shift();if(0===o.length||"keydown"!==i&&"keyup"!==i)return null;const r=e._normalizeKey(o.pop());let s="",a=o.indexOf("code");if(a>-1&&(o.splice(a,1),s="code."),DE.forEach(c=>{const u=o.indexOf(c);u>-1&&(o.splice(u,1),s+=c+".")}),s+=r,0!=o.length||0===r.length)return null;const l={};return l.domEventName=i,l.fullKey=s,l}static matchEventFullKeyCode(t,o){let i=AH[t.key]||t.key,r="";return o.indexOf("code.")>-1&&(i=t.code,r="code."),!(null==i||!i)&&(i=i.toLowerCase()," "===i?i="space":"."===i&&(i="dot"),DE.forEach(s=>{s!==i&&(0,NH[s])(t)&&(r+=s+".")}),r+=i,r===o)}static eventCallback(t,o,i){return r=>{e.matchEventFullKeyCode(r,t)&&i.runGuarded(()=>o(r))}}static _normalizeKey(t){return"esc"===t?"escape":t}static \u0275fac=function(o){return new(o||e)(te(Bn))};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})();const FH=mw(s2,"browser",[{provide:td,useValue:"browser"},{provide:h_,useValue:function xH(){tg.makeCurrent()},multi:!0},{provide:Bn,useFactory:function kH(){return function VS(e){ed=e}(document),document}}]),ME=[{provide:Dl,useClass:class IH{addToWindow(n){Ie.getAngularTestability=(o,i=!0)=>{const r=n.findTestabilityInTree(o,i);if(null==r)throw new T(5103,!1);return r},Ie.getAllAngularTestabilities=()=>n.getAllTestabilities(),Ie.getAllAngularRootElements=()=>n.getAllRootElements(),Ie.frameworkStabilizers||(Ie.frameworkStabilizers=[]),Ie.frameworkStabilizers.push(o=>{const i=Ie.getAllAngularTestabilities();let r=i.length;const s=function(){r--,0==r&&o()};i.forEach(a=>{a.whenStable(s)})})}findTestabilityInTree(n,t,o){return null==t?null:n.getTestability(t)??(o?Er().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}}},{provide:ZC,useClass:Pf,deps:[re,Vf,Dl]},{provide:Pf,useClass:Pf,deps:[re,Vf,Dl]}],IE=[{provide:hu,useValue:"root"},{provide:ui,useFactory:function RH(){return new ui}},{provide:Zh,useClass:SH,multi:!0,deps:[Bn]},{provide:Zh,useClass:OH,multi:!0,deps:[Bn]},yE,mE,fE,{provide:rf,useExisting:yE},{provide:class WT{},useClass:TH},[]];let LH=(()=>{class e{constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275mod=Qn({type:e});static \u0275inj=dn({providers:[...IE,...ME],imports:[dE,a2]})}return e})();function no(e){return this instanceof no?(this.v=e,this):new no(e)}function NE(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function rg(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],o=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},o("next"),o("throw"),o("return"),t[Symbol.asyncIterator]=function(){return this},t);function o(r){t[r]=e[r]&&function(s){return new Promise(function(a,l){!function i(r,s,a,l){Promise.resolve(l).then(function(c){r({value:c,done:a})},s)}(a,l,(s=e[r](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const OE=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function xE(e){return ke(e?.then)}function RE(e){return ke(e[qc])}function kE(e){return Symbol.asyncIterator&&ke(e?.[Symbol.asyncIterator])}function FE(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const LE=function cB(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function PE(e){return ke(e?.[LE])}function VE(e){return function AE(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,o=t.apply(e,n||[]),r=[];return i=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",function s(h){return function(p){return Promise.resolve(p).then(h,d)}}),i[Symbol.asyncIterator]=function(){return this},i;function a(h,p){o[h]&&(i[h]=function(b){return new Promise(function(I,N){r.push([h,b,I,N])>1||l(h,b)})},p&&(i[h]=p(i[h])))}function l(h,p){try{!function c(h){h.value instanceof no?Promise.resolve(h.value.v).then(u,d):g(r[0][2],h)}(o[h](p))}catch(b){g(r[0][3],b)}}function u(h){l("next",h)}function d(h){l("throw",h)}function g(h,p){h(p),r.shift(),r.length&&l(r[0][0],r[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:o,done:i}=yield no(t.read());if(i)return yield no(void 0);yield yield no(o)}}finally{t.releaseLock()}})}function HE(e){return ke(e?.getReader)}function Ss(e){if(e instanceof ht)return e;if(null!=e){if(RE(e))return function uB(e){return new ht(n=>{const t=e[qc]();if(ke(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(OE(e))return function dB(e){return new ht(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Zg)})}(e);if(kE(e))return BE(e);if(PE(e))return function hB(e){return new ht(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(HE(e))return function gB(e){return BE(VE(e))}(e)}throw FE(e)}function BE(e){return new ht(n=>{(function pB(e,n){var t,o,i,r;return function TE(e,n,t,o){return new(t||(t=Promise))(function(r,s){function a(u){try{c(o.next(u))}catch(d){s(d)}}function l(u){try{c(o.throw(u))}catch(d){s(d)}}function c(u){u.done?r(u.value):function i(r){return r instanceof t?r:new t(function(s){s(r)})}(u.value).then(a,l)}c((o=o.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=NE(e);!(o=yield t.next()).done;)if(n.next(o.value),n.closed)return}catch(s){i={error:s}}finally{try{o&&!o.done&&(r=t.return)&&(yield r.call(t))}finally{if(i)throw i.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function Go(e,n,t,o=0,i=!1){const r=n.schedule(function(){t(),i?e.add(this.schedule(null,o)):this.unsubscribe()},o);if(e.add(r),!i)return r}function jE(e,n=0){return Mo((t,o)=>{t.subscribe(jn(o,i=>Go(o,e,()=>o.next(i),n),()=>Go(o,e,()=>o.complete(),n),i=>Go(o,e,()=>o.error(i),n)))})}function UE(e,n=0){return Mo((t,o)=>{o.add(e.schedule(()=>t.subscribe(o),n))})}function $E(e,n){if(!e)throw new Error("Iterable cannot be null");return new ht(t=>{Go(t,n,()=>{const o=e[Symbol.asyncIterator]();Go(t,n,()=>{o.next().then(i=>{i.done?t.complete():t.next(i.value)})},0,!0)})})}const{isArray:wB}=Array,{getPrototypeOf:EB,prototype:MB,keys:IB}=Object;const{isArray:NB}=Array;function RB(e,n){return e.reduce((t,o,i)=>(t[o]=n[i],t),{})}function kB(...e){const n=function AB(e){return ke(function ag(e){return e[e.length-1]}(e))?e.pop():void 0}(e),{args:t,keys:o}=function TB(e){if(1===e.length){const n=e[0];if(wB(n))return{args:n,keys:null};if(function SB(e){return e&&"object"==typeof e&&EB(e)===MB}(n)){const t=IB(n);return{args:t.map(o=>n[o]),keys:t}}}return{args:e,keys:null}}(e),i=new ht(r=>{const{length:s}=t;if(!s)return void r.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!d)&&(c||r.next(o?RB(o,a):a),r.complete())}))}});return n?i.pipe(function xB(e){return Vu(n=>function OB(e,n){return NB(n)?e(...n):e(n)}(e,n))}(n)):i}let zE=(()=>{class e{_renderer;_elementRef;onChange=t=>{};onTouched=()=>{};constructor(t,o){this._renderer=t,this._elementRef=o}setProperty(t,o){this._renderer.setProperty(this._elementRef.nativeElement,t,o)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static \u0275fac=function(o){return new(o||e)(x(An),x(At))};static \u0275dir=W({type:e})}return e})(),Wo=(()=>{class e extends zE{static \u0275fac=(()=>{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,features:[ae]})}return e})();const Kt=new R(""),FB={provide:Kt,useExisting:pe(()=>lg),multi:!0};let lg=(()=>{class e extends Wo{writeValue(t){this.setProperty("checked",t)}static \u0275fac=(()=>{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(o,i){1&o&&U("change",function(s){return i.onChange(s.target.checked)})("blur",function(){return i.onTouched()})},standalone:!1,features:[Ee([FB]),ae]})}return e})();const LB={provide:Kt,useExisting:pe(()=>As),multi:!0},VB=new R("");let As=(()=>{class e extends zE{_compositionMode;_composing=!1;constructor(t,o,i){super(t,o),this._compositionMode=i,null==this._compositionMode&&(this._compositionMode=!function PB(){const e=Er()?Er().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static \u0275fac=function(o){return new(o||e)(x(An),x(At),x(VB,8))};static \u0275dir=W({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(o,i){1&o&&U("input",function(s){return i._handleInput(s.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(s){return i._compositionEnd(s.target.value)})},standalone:!1,features:[Ee([LB]),ae]})}return e})();const ot=new R(""),oo=new R("");function XE(e){return null!=e}function eM(e){return wl(e)?function DB(e,n){return n?function bB(e,n){if(null!=e){if(RE(e))return function mB(e,n){return Ss(e).pipe(UE(n),jE(n))}(e,n);if(OE(e))return function vB(e,n){return new ht(t=>{let o=0;return n.schedule(function(){o===e.length?t.complete():(t.next(e[o++]),t.closed||this.schedule())})})}(e,n);if(xE(e))return function _B(e,n){return Ss(e).pipe(UE(n),jE(n))}(e,n);if(kE(e))return $E(e,n);if(PE(e))return function yB(e,n){return new ht(t=>{let o;return Go(t,n,()=>{o=e[LE](),Go(t,n,()=>{let i,r;try{({value:i,done:r}=o.next())}catch(s){return void t.error(s)}r?t.complete():t.next(i)},0,!0)}),()=>ke(o?.return)&&o.return()})}(e,n);if(HE(e))return function CB(e,n){return $E(VE(e),n)}(e,n)}throw FE(e)}(e,n):Ss(e)}(e):e}function tM(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function nM(e,n){return n.map(t=>t(e))}function oM(e){return e.map(n=>function BB(e){return!e.validate}(n)?n:t=>n.validate(t))}function dg(e){return null!=e?function iM(e){if(!e)return null;const n=e.filter(XE);return 0==n.length?null:function(t){return tM(nM(t,n))}}(oM(e)):null}function fg(e){return null!=e?function rM(e){if(!e)return null;const n=e.filter(XE);return 0==n.length?null:function(t){return kB(nM(t,n).map(eM)).pipe(Vu(tM))}}(oM(e)):null}function sM(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function hg(e){return e?Array.isArray(e)?e:[e]:[]}function fc(e,n){return Array.isArray(e)?e.includes(n):e===n}function cM(e,n){const t=hg(n);return hg(e).forEach(i=>{fc(t,i)||t.push(i)}),t}function uM(e,n){return hg(n).filter(t=>!fc(e,t))}class dM{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=dg(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=fg(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class ft extends dM{name;get formDirective(){return null}get path(){return null}}class io extends dM{_parent=null;name=null;valueAccessor=null}class fM{_cd;constructor(n){this._cd=n}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}}let hc=(()=>{class e extends fM{constructor(t){super(t)}static \u0275fac=function(o){return new(o||e)(x(io,2))};static \u0275dir=W({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(o,i){2&o&&Nn("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},standalone:!1,features:[ae]})}return e})();const Ns="VALID",pc="INVALID",er="PENDING",Os="DISABLED";class tr{}class gM extends tr{value;source;constructor(n,t){super(),this.value=n,this.source=t}}class mg extends tr{pristine;source;constructor(n,t){super(),this.pristine=n,this.source=t}}class _g extends tr{touched;source;constructor(n,t){super(),this.touched=n,this.source=t}}class mc extends tr{status;source;constructor(n,t){super(),this.status=n,this.source=t}}class vg extends tr{source;constructor(n){super(),this.source=n}}function _c(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class bg{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(n,t){this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get status(){return Pe(this.statusReactive)}set status(n){Pe(()=>this.statusReactive.set(n))}_status=Zt(()=>this.statusReactive());statusReactive=wo(void 0);get valid(){return this.status===Ns}get invalid(){return this.status===pc}get pending(){return this.status==er}get disabled(){return this.status===Os}get enabled(){return this.status!==Os}errors;get pristine(){return Pe(this.pristineReactive)}set pristine(n){Pe(()=>this.pristineReactive.set(n))}_pristine=Zt(()=>this.pristineReactive());pristineReactive=wo(!0);get dirty(){return!this.pristine}get touched(){return Pe(this.touchedReactive)}set touched(n){Pe(()=>this.touchedReactive.set(n))}_touched=Zt(()=>this.touchedReactive());touchedReactive=wo(!1);get untouched(){return!this.touched}_events=new Xt;events=this._events.asObservable();valueChanges;statusChanges;get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(cM(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(cM(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(uM(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(uM(n,this._rawAsyncValidators))}hasValidator(n){return fc(this._rawValidators,n)}hasAsyncValidator(n){return fc(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){const t=!1===this.touched;this.touched=!0;const o=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsTouched({...n,sourceControl:o}),t&&!1!==n.emitEvent&&this._events.next(new _g(!0,o))}markAllAsDirty(n={}){this.markAsDirty({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:this}),this._forEachChild(t=>t.markAllAsDirty(n))}markAllAsTouched(n={}){this.markAsTouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:this}),this._forEachChild(t=>t.markAllAsTouched(n))}markAsUntouched(n={}){const t=!0===this.touched;this.touched=!1,this._pendingTouched=!1;const o=n.sourceControl??this;this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:o})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,o),t&&!1!==n.emitEvent&&this._events.next(new _g(!1,o))}markAsDirty(n={}){const t=!0===this.pristine;this.pristine=!1;const o=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsDirty({...n,sourceControl:o}),t&&!1!==n.emitEvent&&this._events.next(new mg(!1,o))}markAsPristine(n={}){const t=!1===this.pristine;this.pristine=!0,this._pendingDirty=!1;const o=n.sourceControl??this;this._forEachChild(i=>{i.markAsPristine({onlySelf:!0,emitEvent:n.emitEvent})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n,o),t&&!1!==n.emitEvent&&this._events.next(new mg(!0,o))}markAsPending(n={}){this.status=er;const t=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new mc(this.status,t)),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.markAsPending({...n,sourceControl:t})}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Os,this.errors=null,this._forEachChild(i=>{i.disable({...n,onlySelf:!0})}),this._updateValue();const o=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new gM(this.value,o)),this._events.next(new mc(this.status,o)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t},this),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ns,this._forEachChild(o=>{o.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t},this),this._onDisabledChange.forEach(o=>o(!1))}_updateAncestors(n,t){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine({},t),this._parent._updateTouched({},t))}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){const o=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Ns||this.status===er)&&this._runAsyncValidator(o,n.emitEvent)}const t=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new gM(this.value,t)),this._events.next(new mc(this.status,t)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity({...n,sourceControl:t})}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Os:Ns}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n,t){if(this.asyncValidator){this.status=er,this._hasOwnPendingAsyncValidator={emitEvent:!1!==t,shouldHaveEmitted:!1!==n};const o=eM(this.asyncValidator(this));this._asyncValidationSubscription=o.subscribe(i=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(i,{emitEvent:t,shouldHaveEmitted:n})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();const n=(this._hasOwnPendingAsyncValidator?.emitEvent||this._hasOwnPendingAsyncValidator?.shouldHaveEmitted)??!1;return this._hasOwnPendingAsyncValidator=null,n}return!1}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent,this,t.shouldHaveEmitted)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((o,i)=>o&&o._find(i),this)}getError(n,t){const o=t?this.get(t):this;return o&&o.errors?o.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n,t,o){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),(n||o)&&this._events.next(new mc(this.status,t)),this._parent&&this._parent._updateControlsErrors(n,t,o)}_initObservables(){this.valueChanges=new ve,this.statusChanges=new ve}_calculateStatus(){return this._allControlsDisabled()?Os:this.errors?pc:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(er)?er:this._anyControlsHaveStatus(pc)?pc:Ns}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n,t){const o=!this._anyControlsDirty(),i=this.pristine!==o;this.pristine=o,this._parent&&!n.onlySelf&&this._parent._updatePristine(n,t),i&&this._events.next(new mg(this.pristine,t))}_updateTouched(n={},t){this.touched=this._anyControlsTouched(),this._events.next(new _g(this.touched,t)),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,t)}_onDisabledChange=[];_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){_c(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function ZB(e){return Array.isArray(e)?dg(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function YB(e){return Array.isArray(e)?fg(e):e||null}(this._rawAsyncValidators)}}const nr=new R("",{providedIn:"root",factory:()=>vc}),vc="always";function xs(e,n,t=vc){(function wg(e,n){const t=function aM(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(sM(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const o=function lM(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(sM(o,n.asyncValidator)):"function"==typeof o&&e.setAsyncValidators([o]);const i=()=>e.updateValueAndValidity();bc(n._rawValidators,i),bc(n._rawAsyncValidators,i)})(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function JB(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&vM(e,n)})}(e,n),function ej(e,n){const t=(o,i)=>{n.valueAccessor.writeValue(o),i&&n.viewToModelUpdate(o)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function XB(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&vM(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function KB(e,n){if(n.valueAccessor.setDisabledState){const t=o=>{n.valueAccessor.setDisabledState(o)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function bc(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function vM(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function bM(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function DM(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}Promise.resolve();const wM=class extends bg{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(n=null,t,o){super(function yg(e){return(_c(e)?e.validators:e)||null}(t),function Cg(e,n){return(_c(n)?n.asyncValidators:e)||null}(o,t)),this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),_c(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=DM(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(o=>o(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1,!1!==t?.emitEvent&&this._events.next(new vg(this))}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){bM(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){bM(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){DM(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},uj={provide:io,useExisting:pe(()=>ks)},EM=Promise.resolve();let ks=(()=>{class e extends io{_changeDetectorRef;callSetDisabledState;control=new wM;static ngAcceptInputType_isDisabled;_registered=!1;viewModel;name="";isDisabled;model;options;update=new ve;constructor(t,o,i,r,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this._parent=t,this._setValidators(o),this._setAsyncValidators(i),this.valueAccessor=function Ig(e,n){if(!n)return null;let t,o,i;return Array.isArray(n),n.forEach(r=>{r.constructor===As?t=r:function oj(e){return Object.getPrototypeOf(e.constructor)===Wo}(r)?o=r:i=r}),i||o||t||null}(0,r)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const o=t.name.previousValue;this.formDirective.removeControl({name:o,path:this._getPath(o)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function Mg(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){xs(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._checkName()}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){EM.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const o=t.isDisabled.currentValue,i=0!==o&&function Oh(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(o);EM.then(()=>{i&&!this.control.disabled?this.control.disable():!i&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function yc(e,n){return[...n.path,e]}(t,this._parent):[t]}static \u0275fac=function(o){return new(o||e)(x(ft,9),x(ot,10),x(oo,10),x(Kt,10),x(Es,8),x(nr,8))};static \u0275dir=W({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:!1,features:[Ee([uj]),ae,Mn]})}return e})();const pj={provide:Kt,useExisting:pe(()=>Tg),multi:!0};let Tg=(()=>{class e extends Wo{writeValue(t){this.setProperty("value",parseFloat(t))}registerOnChange(t){this.onChange=o=>{t(""==o?null:parseFloat(o))}}static \u0275fac=(()=>{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function(o,i){1&o&&U("change",function(s){return i.onChange(s.target.value)})("input",function(s){return i.onChange(s.target.value)})("blur",function(){return i.onTouched()})},standalone:!1,features:[Ee([pj]),ae]})}return e})();const bj={provide:Kt,useExisting:pe(()=>Ls),multi:!0};function OM(e,n){return null==e?`${n}`:(n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let Ls=(()=>{class e extends Wo{value;_optionMap=new Map;_idCounter=0;set compareWith(t){this._compareWith=t}_compareWith=Object.is;appRefInjector=F(Jn).injector;destroyRef=F(Dn);cdr=F(Es);_queuedWrite=!1;_writeValueAfterRender(){this._queuedWrite||this.appRefInjector.destroyed||(this._queuedWrite=!0,EC({write:()=>{this.destroyRef.destroyed||(this._queuedWrite=!1,this.writeValue(this.value))}},{injector:this.appRefInjector}))}writeValue(t){this.cdr.markForCheck(),this.value=t;const i=OM(this._getOptionId(t),t);this.setProperty("value",i)}registerOnChange(t){this.onChange=o=>{this.value=this._getOptionValue(o),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const o of this._optionMap.keys())if(this._compareWith(this._optionMap.get(o),t))return o;return null}_getOptionValue(t){const o=function Dj(e){return e.split(":")[0]}(t);return this._optionMap.has(o)?this._optionMap.get(o):t}static \u0275fac=(()=>{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(o,i){1&o&&U("change",function(s){return i.onChange(s.target.value)})("blur",function(){return i.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[Ee([bj]),ae]})}return e})(),Sg=(()=>{class e{_element;_renderer;_select;id;constructor(t,o,i){this._element=t,this._renderer=o,this._select=i,this._select&&(this.id=this._select._registerOption())}set ngValue(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(OM(this.id,t)),this._select._writeValueAfterRender())}set value(t){this._setElementValue(t),this._select&&this._select._writeValueAfterRender()}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select._writeValueAfterRender())}static \u0275fac=function(o){return new(o||e)(x(At),x(An),x(Ls,9))};static \u0275dir=W({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return e})();const wj={provide:Kt,useExisting:pe(()=>Ag),multi:!0};function xM(e,n){return null==e?`${n}`:("string"==typeof n&&(n=`'${n}'`),n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let Ag=(()=>{class e extends Wo{value;_optionMap=new Map;_idCounter=0;set compareWith(t){this._compareWith=t}_compareWith=Object.is;writeValue(t){let o;if(this.value=t,Array.isArray(t)){const i=t.map(r=>this._getOptionId(r));o=(r,s)=>{r._setSelected(i.indexOf(s.toString())>-1)}}else o=(i,r)=>{i._setSelected(!1)};this._optionMap.forEach(o)}registerOnChange(t){this.onChange=o=>{const i=[],r=o.selectedOptions;if(void 0!==r){const s=r;for(let a=0;a{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(o,i){1&o&&U("change",function(s){return i.onChange(s.target)})("blur",function(){return i.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[Ee([wj]),ae]})}return e})(),Ng=(()=>{class e{_element;_renderer;_select;id;_value;constructor(t,o,i){this._element=t,this._renderer=o,this._select=i,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(xM(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(xM(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}_setSelected(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(o){return new(o||e)(x(At),x(An),x(Ag,9))};static \u0275dir=W({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return e})(),Rj=(()=>{class e{static \u0275fac=function(o){return new(o||e)};static \u0275mod=Qn({type:e});static \u0275inj=dn({})}return e})(),Fj=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:nr,useValue:t.callSetDisabledState??vc}]}}static \u0275fac=function(o){return new(o||e)};static \u0275mod=Qn({type:e});static \u0275inj=dn({imports:[Rj]})}return e})();class Lj extends Mt{constructor(n,t){super()}schedule(n,t=0){return this}}const Sc={setInterval(e,n,...t){const{delegate:o}=Sc;return o?.setInterval?o.setInterval(e,n,...t):setInterval(e,n,...t)},clearInterval(e){const{delegate:n}=Sc;return(n?.clearInterval||clearInterval)(e)},delegate:void 0},UM={now:()=>(UM.delegate||Date).now(),delegate:void 0};class Ps{constructor(n,t=Ps.now){this.schedulerActionCtor=n,this.now=t}schedule(n,t=0,o){return new this.schedulerActionCtor(this,n).schedule(o,t)}}Ps.now=UM.now;const $M=new class Vj extends Ps{constructor(n,t=Ps.now){super(n,t),this.actions=[],this._active=!1}flush(n){const{actions:t}=this;if(this._active)return void t.push(n);let o;this._active=!0;do{if(o=n.execute(n.state,n.delay))break}while(n=t.shift());if(this._active=!1,o){for(;n=t.shift();)n.unsubscribe();throw o}}}(class Pj extends Lj{constructor(n,t){super(n,t),this.scheduler=n,this.work=t,this.pending=!1}schedule(n,t=0){var o;if(this.closed)return this;this.state=n;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=null!==(o=this.id)&&void 0!==o?o:this.requestAsyncId(r,this.id,t),this}requestAsyncId(n,t,o=0){return Sc.setInterval(n.flush.bind(n,this),o)}recycleAsyncId(n,t,o=0){if(null!=o&&this.delay===o&&!1===this.pending)return t;null!=t&&Sc.clearInterval(t)}execute(n,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const o=this._execute(n,t);if(o)return o;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,t){let i,o=!1;try{this.work(n)}catch(r){o=!0,i=r||new Error("Scheduled action threw falsy error")}if(o)return this.unsubscribe(),i}unsubscribe(){if(!this.closed){const{id:n,scheduler:t}=this,{actions:o}=t;this.work=this.state=this.scheduler=null,this.pending=!1,Us(o,this),null!=n&&(this.id=this.recycleAsyncId(t,n,null)),this.delay=null,super.unsubscribe()}}}),Hj=$M;function zM(e,n=$M,t){const o=function $j(e=0,n,t=Hj){let o=-1;return null!=n&&(function jj(e){return e&&ke(e.schedule)}(n)?t=n:o=n),new ht(i=>{let r=function Uj(e){return e instanceof Date&&!isNaN(e)}(e)?+e-t.now():e;r<0&&(r=0);let s=0;return t.schedule(function(){i.closed||(i.next(s++),0<=o?this.schedule(void 0,o):i.complete())},r)})}(e,n);return function Bj(e,n){return Mo((t,o)=>{const{leading:i=!0,trailing:r=!1}=n??{};let s=!1,a=null,l=null,c=!1;const u=()=>{l?.unsubscribe(),l=null,r&&(h(),c&&o.complete())},d=()=>{l=null,c&&o.complete()},g=p=>l=Ss(e(p)).subscribe(jn(o,u,d)),h=()=>{if(s){s=!1;const p=a;a=null,o.next(p),!c&&g(p)}};t.subscribe(jn(o,p=>{s=!0,a=p,(!l||l.closed)&&(i?h():g(p))},()=>{c=!0,(!(r&&s&&l)||l.closed)&&o.complete()}))})}(()=>o,t)}function GM(e,n,t){const o=ke(e)||n||t?{next:e,error:n,complete:t}:e;return o?Mo((i,r)=>{var s;null===(s=o.subscribe)||void 0===s||s.call(o);let a=!0;i.subscribe(jn(r,l=>{var c;null===(c=o.next)||void 0===c||c.call(o,l),r.next(l)},()=>{var l;a=!1,null===(l=o.complete)||void 0===l||l.call(o),r.complete()},l=>{var c;a=!1,null===(c=o.error)||void 0===c||c.call(o,l),r.error(l)},()=>{var l,c;a&&(null===(l=o.unsubscribe)||void 0===l||l.call(o)),null===(c=o.finalize)||void 0===c||c.call(o)}))}):Zc}function WM(e,n=Zc){return e=e??zj,Mo((t,o)=>{let i,r=!0;t.subscribe(jn(o,s=>{const a=n(s);(r||!e(i,a))&&(r=!1,i=a,o.next(s))}))})}function zj(e,n){return e===n}var xt=typeof window<"u"?window:{screen:{},navigator:{}},or=(xt.matchMedia||function(){return{matches:!1}}).bind(xt),qM=!1,ZM=function(){};xt.addEventListener&&xt.addEventListener("p",ZM,{get passive(){return qM=!0}}),xt.removeEventListener&&xt.removeEventListener("p",ZM,!1);var YM=qM,xg="ontouchstart"in xt,KM=(xg||"TouchEvent"in xt&&or("(any-pointer: coarse)"),xt.navigator.userAgent||"");or("(pointer: coarse)").matches&&/iPad|Macintosh/.test(KM)&&Math.min(xt.screen.width||0,xt.screen.height||0);(or("(pointer: coarse)").matches||!or("(pointer: fine)").matches&&xg)&&/Windows.*Firefox/.test(KM),or("(any-pointer: fine)").matches||or("(any-hover: hover)");const Kj=(e,n,t)=>({tooltip:e,placement:n,content:t});function Jj(e,n){}function Xj(e,n){1&e&&hl(0,Jj,0,0,"ng-template")}function eU(e,n){if(1&e&&hl(0,Xj,1,0,null,1),2&e){const t=m();A("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Ne(2,Kj,t.tooltip,t.placement,t.content))}}function tU(e,n){if(1&e&&(v(0,"div",0),D(1),_()),2&e){const t=m();ct("title",t.tooltip)("data-tooltip-placement",t.placement),f(),P(" ",t.content," ")}}const nU=["tooltipTemplate"],oU=["leftOuterSelectionBar"],iU=["rightOuterSelectionBar"],rU=["fullBar"],sU=["selectionBar"],aU=["minHandle"],lU=["maxHandle"],cU=["floorLabel"],uU=["ceilLabel"],dU=["minHandleLabel"],fU=["maxHandleLabel"],hU=["combinedLabel"],gU=["ticksElement"],pU=e=>({"ngx-slider-selected":e});function mU(e,n){if(1&e&&O(0,"ngx-slider-tooltip-wrapper",28),2&e){const t=m().$implicit;A("template",m().tooltipTemplate)("tooltip",t.valueTooltip)("placement",t.valueTooltipPlacement)("content",t.value)}}function _U(e,n){1&e&&O(0,"span",29),2&e&&A("innerText",m().$implicit.legend)}function vU(e,n){1&e&&O(0,"span",30),2&e&&A("innerHTML",m().$implicit.legend,X_)}function yU(e,n){if(1&e&&(v(0,"span",26),O(1,"ngx-slider-tooltip-wrapper",27),y(2,mU,1,4,"ngx-slider-tooltip-wrapper",28),y(3,_U,1,1,"span",29),y(4,vU,1,1,"span",30),_()),2&e){const t=n.$implicit,o=m();A("ngClass",Zi(8,pU,t.selected))("ngStyle",t.style),f(),A("template",o.tooltipTemplate)("tooltip",t.tooltip)("placement",t.tooltipPlacement),f(),C(null!=t.value?2:-1),f(),C(null!=t.legend&&!1===o.allowUnsafeHtmlInSlider?3:-1),f(),C(null==t.legend||null!=o.allowUnsafeHtmlInSlider&&!o.allowUnsafeHtmlInSlider?-1:4)}}var cn=function(e){return e[e.Low=0]="Low",e[e.High=1]="High",e[e.Floor=2]="Floor",e[e.Ceil=3]="Ceil",e[e.TickValue=4]="TickValue",e}(cn||{});class Ac{floor=0;ceil=null;step=1;minRange=null;maxRange=null;pushRange=!1;minLimit=null;maxLimit=null;translate=null;combineLabels=null;getLegend=null;getStepLegend=null;stepsArray=null;bindIndexForStepsArray=!1;draggableRange=!1;draggableRangeOnly=!1;showSelectionBar=!1;showSelectionBarEnd=!1;showSelectionBarFromValue=null;showOuterSelectionBars=!1;hidePointerLabels=!1;hideLimitLabels=!1;autoHideLimitLabels=!0;readOnly=!1;disabled=!1;showTicks=!1;showTicksValues=!1;tickStep=null;tickValueStep=null;ticksArray=null;ticksTooltip=null;ticksValuesTooltip=null;vertical=!1;getSelectionBarColor=null;getTickColor=null;getPointerColor=null;keyboardSupport=!0;scale=1;rotate=0;enforceStep=!0;enforceRange=!0;enforceStepsArray=!0;noSwitching=!1;onlyBindHandles=!1;rightToLeft=!1;reversedControls=!1;boundPointerLabels=!0;logScale=!1;customValueToPosition=null;customPositionToValue=null;precisionLimit=12;selectionBarGradient=null;ariaLabel="ngx-slider";ariaLabelledBy=null;ariaLabelHigh="ngx-slider-max";ariaLabelledByHigh=null;handleDimension=null;barDimension=null;animate=!0;animateOnMove=!1}const eI=new R("AllowUnsafeHtmlInSlider");var L=function(e){return e[e.Min=0]="Min",e[e.Max=1]="Max",e}(L||{});class CU{value;highValue;pointerType}class M{static isNullOrUndefined(n){return null==n}static areArraysEqual(n,t){if(n.length!==t.length)return!1;for(let o=0;oMath.abs(n-r.value));let i=0;for(let r=0;r{r.events.next(a)};return n.addEventListener(t,s,{passive:!0,capture:!1}),r.teardownCallback=()=>{n.removeEventListener(t,s,{passive:!0,capture:!1})},r.eventsSubscription=r.events.pipe(M.isNullOrUndefined(i)?GM(()=>{}):zM(i,void 0,{leading:!0,trailing:!0})).subscribe(a=>{o(a)}),r}detachEventListener(n){M.isNullOrUndefined(n.eventsSubscription)||(n.eventsSubscription.unsubscribe(),n.eventsSubscription=null),M.isNullOrUndefined(n.events)||(n.events.complete(),n.events=null),M.isNullOrUndefined(n.teardownCallback)||(n.teardownCallback(),n.teardownCallback=null)}attachEventListener(n,t,o,i){const r=new tI;return r.eventName=t,r.events=new Xt,r.teardownCallback=this.renderer.listen(n,t,a=>{r.events.next(a)}),r.eventsSubscription=r.events.pipe(M.isNullOrUndefined(i)?GM(()=>{}):zM(i,void 0,{leading:!0,trailing:!0})).subscribe(a=>{o(a)}),r}}let so=(()=>{class e{elemRef=F(At);renderer=F(An);changeDetectionRef=F(Es);_position=0;get position(){return this._position}_dimension=0;get dimension(){return this._dimension}_alwaysHide=!1;get alwaysHide(){return this._alwaysHide}_vertical=!1;get vertical(){return this._vertical}_scale=1;get scale(){return this._scale}_rotate=0;get rotate(){return this._rotate}opacity=1;visibility="visible";left="";bottom="";height="";width="";transform="";eventListenerHelper;eventListeners=[];constructor(){this.eventListenerHelper=new nI(this.renderer)}setAlwaysHide(t){this._alwaysHide=t,this.visibility=t?"hidden":"visible"}hide(){this.opacity=0}show(){this.alwaysHide||(this.opacity=1)}isVisible(){return!this.alwaysHide&&0!==this.opacity}setVertical(t){this._vertical=t,this._vertical?(this.left="",this.width=""):(this.bottom="",this.height="")}setScale(t){this._scale=t}setRotate(t){this._rotate=t,this.transform="rotate("+t+"deg)"}getRotate(){return this._rotate}setPosition(t){this._position!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._position=t,this._vertical?this.bottom=Math.round(t)+"px":this.left=Math.round(t)+"px"}calculateDimension(){const t=this.getBoundingClientRect();this._dimension=this.vertical?(t.bottom-t.top)*this.scale:(t.right-t.left)*this.scale}setDimension(t){this._dimension!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._dimension=t,this._vertical?this.height=Math.round(t)+"px":this.width=Math.round(t)+"px"}getBoundingClientRect(){return this.elemRef.nativeElement.getBoundingClientRect()}on(t,o,i){const r=this.eventListenerHelper.attachEventListener(this.elemRef.nativeElement,t,o,i);this.eventListeners.push(r)}onPassive(t,o,i){const r=this.eventListenerHelper.attachPassiveEventListener(this.elemRef.nativeElement,t,o,i);this.eventListeners.push(r)}off(t){let o,i;M.isNullOrUndefined(t)?(o=[],i=this.eventListeners):(o=this.eventListeners.filter(r=>r.eventName!==t),i=this.eventListeners.filter(r=>r.eventName===t));for(const r of i)this.eventListenerHelper.detachEventListener(r);this.eventListeners=o}isRefDestroyed(){return M.isNullOrUndefined(this.changeDetectionRef)||this.changeDetectionRef.destroyed}static \u0275fac=function(o){return new(o||e)};static \u0275dir=W({type:e,selectors:[["","ngxSliderElement",""]],hostVars:14,hostBindings:function(o,i){2&o&&Hl("opacity",i.opacity)("visibility",i.visibility)("left",i.left)("bottom",i.bottom)("height",i.height)("width",i.width)("transform",i.transform)},standalone:!1})}return e})(),Rg=(()=>{class e extends so{active=!1;role="";tabindex="";ariaOrientation="";ariaLabel="";ariaLabelledBy="";ariaValueNow="";ariaValueText="";ariaValueMin="";ariaValueMax="";focus(){this.elemRef.nativeElement.focus()}focusIfNeeded(){document.activeElement!==this.elemRef.nativeElement&&this.elemRef.nativeElement.focus()}static \u0275fac=(()=>{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,selectors:[["","ngxSliderHandle",""]],hostVars:11,hostBindings:function(o,i){2&o&&(ct("role",i.role)("tabindex",i.tabindex)("aria-orientation",i.ariaOrientation)("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledBy)("aria-valuenow",i.ariaValueNow)("aria-valuetext",i.ariaValueText)("aria-valuemin",i.ariaValueMin)("aria-valuemax",i.ariaValueMax),Nn("ngx-slider-active",i.active))},standalone:!1,features:[ae]})}return e})(),ir=(()=>{class e extends so{allowUnsafeHtmlInSlider=F(eI,{optional:!0});_value=null;get value(){return this._value}setValue(t){let o=!1;!this.alwaysHide&&(M.isNullOrUndefined(this.value)||this.value.length!==t.length||this.value.length>0&&0===this.dimension)&&(o=!0),this._value=t,!1===this.allowUnsafeHtmlInSlider?this.elemRef.nativeElement.innerText=t:this.elemRef.nativeElement.innerHTML=t,o&&this.calculateDimension()}static \u0275fac=(()=>{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,selectors:[["","ngxSliderLabel",""]],standalone:!1,features:[ae]})}return e})(),bU=(()=>{class e{template;tooltip;placement;content;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=qt({type:e,selectors:[["ngx-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},standalone:!1,decls:2,vars:2,consts:[[1,"ngx-slider-inner-tooltip"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(o,i){1&o&&(y(0,eU,1,6),y(1,tU,2,3,"div",0)),2&o&&(C(i.template?0:-1),f(),C(i.template?-1:1))},dependencies:[lE],styles:[".ngx-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]})}return e})();class DU{selected=!1;style={};tooltip=null;tooltipPlacement=null;value=null;valueTooltip=null;valueTooltipPlacement=null;legend=null}class oI{active=!1;value=0;difference=0;position=0;lowLimit=0;highLimit=0}class Nc{value;highValue;static compare(n,t){return!(M.isNullOrUndefined(n)&&M.isNullOrUndefined(t)||M.isNullOrUndefined(n)!==M.isNullOrUndefined(t))&&n.value===t.value&&n.highValue===t.highValue}}class iI extends Nc{forceChange;static compare(n,t){return!(M.isNullOrUndefined(n)&&M.isNullOrUndefined(t)||M.isNullOrUndefined(n)!==M.isNullOrUndefined(t))&&n.value===t.value&&n.highValue===t.highValue&&n.forceChange===t.forceChange}}const wU={provide:Kt,useExisting:pe(()=>rI),multi:!0};let rI=(()=>{class e{renderer=F(An);elementRef=F(At);changeDetectionRef=F(Es);zone=F(re);allowUnsafeHtmlInSlider=F(eI,{optional:!0});sliderElementNgxSliderClass=!0;value=null;valueChange=new ve;highValue=null;highValueChange=new ve;options=new Ac;userChangeStart=new ve;userChange=new ve;userChangeEnd=new ve;manualRefreshSubscription;set manualRefresh(t){this.unsubscribeManualRefresh(),this.manualRefreshSubscription=t.subscribe(()=>{setTimeout(()=>this.calculateViewDimensionsAndDetectChanges())})}triggerFocusSubscription;set triggerFocus(t){this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=t.subscribe(o=>{this.focusPointer(o)})}cancelUserChangeSubscription;set cancelUserChange(t){this.unsubscribeCancelUserChange(),this.cancelUserChangeSubscription=t.subscribe(()=>{this.moving&&(this.positionTrackingHandle(this.preStartHandleValue),this.forceEnd(!0))})}get range(){return!M.isNullOrUndefined(this.value)&&!M.isNullOrUndefined(this.highValue)}initHasRun=!1;inputModelChangeSubject=new Xt;inputModelChangeSubscription=null;outputModelChangeSubject=new Xt;outputModelChangeSubscription=null;viewLowValue=null;viewHighValue=null;viewOptions=new Ac;handleHalfDimension=0;maxHandlePosition=0;currentTrackingPointer=null;currentFocusPointer=null;firstKeyDown=!1;touchId=null;dragging=new oI;preStartHandleValue=null;leftOuterSelectionBarElement;rightOuterSelectionBarElement;fullBarElement;selectionBarElement;minHandleElement;maxHandleElement;floorLabelElement;ceilLabelElement;minHandleLabelElement;maxHandleLabelElement;combinedLabelElement;ticksElement;tooltipTemplate;sliderElementVerticalClass=!1;sliderElementAnimateClass=!1;sliderElementWithLegendClass=!1;sliderElementDisabledAttr=null;sliderElementAriaLabel="ngx-slider";barStyle={};minPointerStyle={};maxPointerStyle={};fullBarTransparentClass=!1;selectionBarDraggableClass=!1;ticksUnderValuesClass=!1;get showTicks(){return this.viewOptions.showTicks}intermediateTicks=!1;ticks=[];eventListenerHelper=null;onMoveEventListener=null;onEndEventListener=null;moving=!1;resizeObserver=null;onTouchedCallback=null;onChangeCallback=null;constructor(){this.eventListenerHelper=new nI(this.renderer)}ngOnInit(){this.viewOptions=new Ac,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState(),this.updateAriaLabel()}ngAfterViewInit(){this.applyOptions(),this.subscribeInputModelChangeSubject(),this.subscribeOutputModelChangeSubject(),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.updateAriaLabel(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}ngOnChanges(t){!M.isNullOrUndefined(t.options)&&JSON.stringify(t.options.previousValue)!==JSON.stringify(t.options.currentValue)&&this.onChangeOptions(),(!M.isNullOrUndefined(t.value)||!M.isNullOrUndefined(t.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,forceChange:!1,internalChange:!1})}ngOnDestroy(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}writeValue(t){t instanceof Array?(this.value=t[0],this.highValue=t[1]):this.value=t,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1,controlAccessorChange:!0})}registerOnChange(t){this.onChangeCallback=t}registerOnTouched(t){this.onTouchedCallback=t}setDisabledState(t){this.viewOptions.disabled=t,this.updateDisabledState(),this.initHasRun&&this.manageEventsBindings()}setAriaLabel(t){this.viewOptions.ariaLabel=t,this.updateAriaLabel()}onResize(t){this.calculateViewDimensionsAndDetectChanges()}subscribeInputModelChangeSubject(){this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe(WM(iI.compare),function Gj(e,n){return Mo((t,o)=>{let i=0;t.subscribe(jn(o,r=>e.call(n,r,i++)&&o.next(r)))})}(t=>!t.forceChange&&!t.internalChange)).subscribe(t=>this.applyInputModelChange(t))}subscribeOutputModelChangeSubject(){this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe(WM(iI.compare)).subscribe(t=>this.publishOutputModelChange(t))}subscribeResizeObserver(){ro.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(()=>this.calculateViewDimensionsAndDetectChanges()),this.resizeObserver.observe(this.elementRef.nativeElement))}unsubscribeResizeObserver(){ro.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}unsubscribeOnMove(){M.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}unsubscribeOnEnd(){M.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}unsubscribeInputModelChangeSubject(){M.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}unsubscribeOutputModelChangeSubject(){M.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}unsubscribeManualRefresh(){M.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}unsubscribeTriggerFocus(){M.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}unsubscribeCancelUserChange(){M.isNullOrUndefined(this.cancelUserChangeSubscription)||(this.cancelUserChangeSubscription.unsubscribe(),this.cancelUserChangeSubscription=null)}getPointerElement(t){return t===L.Min?this.minHandleElement:t===L.Max?this.maxHandleElement:null}getCurrentTrackingValue(){return this.currentTrackingPointer===L.Min?this.viewLowValue:this.currentTrackingPointer===L.Max?this.viewHighValue:null}modelValueToViewValue(t){return M.isNullOrUndefined(t)?NaN:M.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+t:M.findStepIndex(+t,this.viewOptions.stepsArray)}viewValueToModelValue(t){return M.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?t:this.getStepValue(t)}getStepValue(t){const o=this.viewOptions.stepsArray[t];return M.isNullOrUndefined(o)?NaN:o.value}applyViewChange(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,forceChange:!1,internalChange:!0})}applyInputModelChange(t){const o=this.normaliseModelValues(t),i=!Nc.compare(t,o);i&&(this.value=o.value,this.highValue=o.highValue),this.viewLowValue=this.modelValueToViewValue(o.value),this.viewHighValue=this.range?this.modelValueToViewValue(o.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:o.value,highValue:o.highValue,controlAccessorChange:t.controlAccessorChange,forceChange:i,userEventInitiated:!1})}publishOutputModelChange(t){const o=()=>{this.valueChange.emit(t.value),this.range&&this.highValueChange.emit(t.highValue),!t.controlAccessorChange&&(M.isNullOrUndefined(this.onChangeCallback)||this.onChangeCallback(this.range?[t.value,t.highValue]:t.value),M.isNullOrUndefined(this.onTouchedCallback)||this.onTouchedCallback(this.range?[t.value,t.highValue]:t.value))};t.userEventInitiated?(o(),this.userChange.emit(this.getChangeContext())):setTimeout(()=>{o()})}normaliseModelValues(t){const o=new Nc;if(o.value=t.value,o.highValue=t.highValue,!M.isNullOrUndefined(this.viewOptions.stepsArray)){if(this.viewOptions.enforceStepsArray){const i=M.findStepIndex(o.value,this.viewOptions.stepsArray);if(o.value=this.viewOptions.stepsArray[i].value,this.range){const r=M.findStepIndex(o.highValue,this.viewOptions.stepsArray);o.highValue=this.viewOptions.stepsArray[r].value}}return o}if(this.viewOptions.enforceStep&&(o.value=this.roundStep(o.value),this.range&&(o.highValue=this.roundStep(o.highValue))),this.viewOptions.enforceRange&&(o.value=Re.clampToRange(o.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(o.highValue=Re.clampToRange(o.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&t.value>t.highValue))if(this.viewOptions.noSwitching)o.value=o.highValue;else{const i=t.value;o.value=t.highValue,o.highValue=i}return o}renormaliseModelValues(){const t={value:this.value,highValue:this.highValue},o=this.normaliseModelValues(t);Nc.compare(o,t)||(this.value=o.value,this.highValue=o.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,forceChange:!0,userEventInitiated:!1}))}onChangeOptions(){if(!this.initHasRun)return;const t=this.getOptionsInfluencingEventBindings(this.viewOptions);this.applyOptions();const o=this.getOptionsInfluencingEventBindings(this.viewOptions),i=!M.areArraysEqual(t,o);this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider(i)}applyOptions(){if(this.viewOptions=new Ac,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!M.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!M.isNullOrUndefined(this.viewOptions.tickStep)||!M.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!M.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),M.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),M.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=(t,o)=>t+" - "+o),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}applyStepsArrayOptions(){this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,M.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(this.viewOptions.bindIndexForStepsArray?this.getStepValue(t):t))}applyFloorCeilOptions(){if(M.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),M.isNullOrUndefined(this.viewOptions.ceil)||M.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,M.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(t))}resetSlider(t=!0){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),t&&(this.unbindEvents(),this.manageEventsBindings()),this.updateDisabledState(),this.updateAriaLabel(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}focusPointer(t){t!==L.Min&&t!==L.Max&&(t=L.Min),t===L.Min?this.minHandleElement.focus():this.range&&t===L.Max&&this.maxHandleElement.focus()}refocusPointerIfNeeded(){M.isNullOrUndefined(this.currentFocusPointer)||this.getPointerElement(this.currentFocusPointer).focusIfNeeded()}manageElementsStyle(){this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);const t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(()=>{this.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate}),this.updateRotate()}manageEventsBindings(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}updateDisabledState(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}updateAriaLabel(){this.sliderElementAriaLabel=this.viewOptions.ariaLabel||"nxg-slider"}updateVerticalState(){this.sliderElementVerticalClass=this.viewOptions.vertical;for(const t of this.getAllSliderElements())M.isNullOrUndefined(t)||t.setVertical(this.viewOptions.vertical)}updateScale(){for(const t of this.getAllSliderElements())t.setScale(this.viewOptions.scale)}updateRotate(){for(const t of this.getAllSliderElements())t.setRotate(this.viewOptions.rotate)}getAllSliderElements(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}initHandles(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}addAccessibility(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.minHandleElement.ariaOrientation=this.viewOptions.vertical||0!==this.viewOptions.rotate?"vertical":"horizontal",M.isNullOrUndefined(this.viewOptions.ariaLabel)?M.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical||0!==this.viewOptions.rotate?"vertical":"horizontal",M.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?M.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}updateAriaAttributes(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,cn.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,cn.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}calculateViewDimensions(){M.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);const t=this.minHandleElement.dimension;this.handleHalfDimension=t/2,M.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-t,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}calculateViewDimensionsAndDetectChanges(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}isRefDestroyed(){return this.changeDetectionRef.destroyed}updateTicksScale(){if(!this.viewOptions.showTicks&&this.sliderElementWithLegendClass)return void setTimeout(()=>{this.sliderElementWithLegendClass=!1});const t=M.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,o=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();const i=M.isNullOrUndefined(this.viewOptions.tickValueStep)?M.isNullOrUndefined(this.viewOptions.tickStep)?this.viewOptions.step:this.viewOptions.tickStep:this.viewOptions.tickValueStep;let r=!1;const s=t.map(a=>{let l=this.valueToPosition(a);this.viewOptions.vertical&&(l=this.maxHandlePosition-l);const c=o+"("+Math.round(l)+"px)",u=new DU;u.selected=this.isTickSelected(a),u.style={"-webkit-transform":c,"-moz-transform":c,"-o-transform":c,"-ms-transform":c,transform:c},u.selected&&!M.isNullOrUndefined(this.viewOptions.getSelectionBarColor)&&(u.style["background-color"]=this.getSelectionBarColor()),!u.selected&&!M.isNullOrUndefined(this.viewOptions.getTickColor)&&(u.style["background-color"]=this.getTickColor(a)),M.isNullOrUndefined(this.viewOptions.ticksTooltip)||(u.tooltip=this.viewOptions.ticksTooltip(a),u.tooltipPlacement=this.viewOptions.vertical?"right":"top"),this.viewOptions.showTicksValues&&!M.isNullOrUndefined(i)&&Re.isModuloWithinPrecisionLimit(a,i,this.viewOptions.precisionLimit)&&(u.value=this.getDisplayValue(a,cn.TickValue),M.isNullOrUndefined(this.viewOptions.ticksValuesTooltip)||(u.valueTooltip=this.viewOptions.ticksValuesTooltip(a),u.valueTooltipPlacement=this.viewOptions.vertical?"right":"top"));let d=null;if(M.isNullOrUndefined(this.viewOptions.stepsArray))M.isNullOrUndefined(this.viewOptions.getLegend)||(d=this.viewOptions.getLegend(a));else{const g=this.viewOptions.stepsArray[a];M.isNullOrUndefined(this.viewOptions.getStepLegend)?M.isNullOrUndefined(g)||(d=g.legend):d=this.viewOptions.getStepLegend(g)}return M.isNullOrUndefined(d)||(u.legend=d,r=!0),u});if(this.sliderElementWithLegendClass!==r&&setTimeout(()=>{this.sliderElementWithLegendClass=r}),M.isNullOrUndefined(this.ticks)||this.ticks.length!==s.length)this.ticks=s,this.isRefDestroyed()||this.changeDetectionRef.detectChanges();else for(let a=0;a=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&t<=this.viewLowValue)return!0}else{const o=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>o&&t>=o&&t<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&t>=this.viewLowValue&&t<=this.viewHighValue)}updateFloorLabel(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,cn.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}updateCeilLabel(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,cn.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}updateHandles(t,o){t===L.Min?this.updateLowHandle(o):t===L.Max&&this.updateHighHandle(o),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}getHandleLabelPos(t,o){const i=t===L.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,r=o-i/2+this.handleHalfDimension,s=this.fullBarElement.dimension-i;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&t===L.Min||!this.viewOptions.rightToLeft&&t===L.Max?Math.min(r,s):Math.min(Math.max(r,0),s):r}updateLowHandle(t){this.minHandleElement.setPosition(t),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,cn.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(L.Min,t)),M.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(L.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateHighHandle(t){this.maxHandleElement.setPosition(t),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,cn.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(L.Max,t)),M.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(L.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateFloorAndCeilLabelsVisibility(){if(this.viewOptions.hidePointerLabels)return;let t=!1,o=!1;const i=this.isLabelBelowFloorLabel(this.minHandleLabelElement),r=this.isLabelAboveCeilLabel(this.minHandleLabelElement),s=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),a=this.isLabelBelowFloorLabel(this.combinedLabelElement),l=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(i?(t=!0,this.floorLabelElement.hide()):(t=!1,this.floorLabelElement.show()),r?(o=!0,this.ceilLabelElement.hide()):(o=!1,this.ceilLabelElement.show()),this.range){const c=this.combinedLabelElement.isVisible()?l:s,u=this.combinedLabelElement.isVisible()?a:i;c?this.ceilLabelElement.hide():o||this.ceilLabelElement.show(),u?this.floorLabelElement.hide():t||this.floorLabelElement.show()}}isLabelBelowFloorLabel(t){const o=t.position,r=this.floorLabelElement.position;return this.viewOptions.rightToLeft?o+t.dimension>=r-2:o<=r+this.floorLabelElement.dimension+2}isLabelAboveCeilLabel(t){const o=t.position,r=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?o<=r+this.ceilLabelElement.dimension+2:o+t.dimension>=r-2}updateSelectionBar(){let t=0,o=0;const i=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,r=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)o=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),t=r;else if(M.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))i?(o=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),t=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(o=this.minHandleElement.position+this.handleHalfDimension,t=0);else{const s=this.viewOptions.showSelectionBarFromValue,a=this.valueToPosition(s);(this.viewOptions.rightToLeft?this.viewLowValue<=s:this.viewLowValue>s)?(o=this.minHandleElement.position-a,t=a+this.handleHalfDimension):(o=a-this.minHandleElement.position,t=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(o),this.selectionBarElement.setPosition(t),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(t),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+o)),this.leftOuterSelectionBarElement.setPosition(t+o)):(this.leftOuterSelectionBarElement.setDimension(t),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+o)),this.rightOuterSelectionBarElement.setPosition(t+o))),M.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!M.isNullOrUndefined(this.viewOptions.selectionBarGradient)){const s=M.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),a=s-t>0&&!i||s-t<=0&&i;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?a?"bottom":"top":a?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(s+o+t+(a?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=s-t+(a?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{const s=this.getSelectionBarColor();this.barStyle={backgroundColor:s}}}getSelectionBarColor(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}getPointerColor(t){return this.viewOptions.getPointerColor(t===L.Max?this.highValue:this.value,t)}getTickColor(t){return this.viewOptions.getTickColor(t)}updateCombinedLabel(){let t=null;if(t=this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position,t){const o=this.getDisplayValue(this.viewLowValue,cn.Low),i=this.getDisplayValue(this.viewHighValue,cn.High),r=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(i,o):this.viewOptions.combineLabels(o,i);this.combinedLabelElement.setValue(r);const s=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(s),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}getDisplayValue(t,o){return!M.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(t=this.getStepValue(t)),this.viewOptions.translate(t,o)}roundStep(t,o){const i=M.isNullOrUndefined(o)?this.viewOptions.step:o;let r=Re.roundToPrecisionLimit((t-this.viewOptions.floor)/i,this.viewOptions.precisionLimit);return r=Math.round(r)*i,Re.roundToPrecisionLimit(this.viewOptions.floor+r,this.viewOptions.precisionLimit)}valueToPosition(t){let o=M.linearValueToPosition;M.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(o=M.logValueToPosition):o=this.viewOptions.customValueToPosition;let i=o(t=Re.clampToRange(t,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return M.isNullOrUndefined(i)&&(i=0),this.viewOptions.rightToLeft&&(i=1-i),i*this.maxHandlePosition}positionToValue(t){let o=t/this.maxHandlePosition;this.viewOptions.rightToLeft&&(o=1-o);let i=M.linearPositionToValue;M.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(i=M.logPositionToValue):i=this.viewOptions.customPositionToValue;const r=i(o,this.viewOptions.floor,this.viewOptions.ceil);return M.isNullOrUndefined(r)?0:r}getEventXY(t,o){if(t instanceof MouseEvent)return this.viewOptions.vertical||0!==this.viewOptions.rotate?t.clientY:t.clientX;let i=0;const r=t.touches;if(!M.isNullOrUndefined(o))for(let s=0;sr?L.Max:this.viewOptions.rightToLeft?o>this.minHandleElement.position?L.Min:L.Max:othis.onBarStart(null,t,o,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.on("mousedown",o=>this.onBarStart(L.Min,t,o,!0,!0)),this.maxHandleElement.on("mousedown",o=>this.onBarStart(L.Max,t,o,!0,!0))):(this.minHandleElement.on("mousedown",o=>this.onStart(L.Min,o,!0,!0)),this.range&&this.maxHandleElement.on("mousedown",o=>this.onStart(L.Max,o,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.on("mousedown",o=>this.onStart(null,o,!0,!0,!0)),this.ticksElement.on("mousedown",o=>this.onStart(null,o,!0,!0,!0,!0)))),this.viewOptions.onlyBindHandles||this.selectionBarElement.onPassive("touchstart",o=>this.onBarStart(null,t,o,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.onPassive("touchstart",o=>this.onBarStart(L.Min,t,o,!0,!0)),this.maxHandleElement.onPassive("touchstart",o=>this.onBarStart(L.Max,t,o,!0,!0))):(this.minHandleElement.onPassive("touchstart",o=>this.onStart(L.Min,o,!0,!0)),this.range&&this.maxHandleElement.onPassive("touchstart",o=>this.onStart(L.Max,o,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.onPassive("touchstart",o=>this.onStart(null,o,!0,!0,!0)),this.ticksElement.onPassive("touchstart",o=>this.onStart(null,o,!1,!1,!0,!0)))),this.viewOptions.keyboardSupport&&(this.minHandleElement.on("focus",()=>this.onPointerFocus(L.Min)),this.range&&this.maxHandleElement.on("focus",()=>this.onPointerFocus(L.Max)))}getOptionsInfluencingEventBindings(t){return[t.disabled,t.readOnly,t.draggableRange,t.draggableRangeOnly,t.onlyBindHandles,t.keyboardSupport]}unbindEvents(){this.unsubscribeOnMove(),this.unsubscribeOnEnd();for(const t of this.getAllSliderElements())M.isNullOrUndefined(t)||t.off()}onBarStart(t,o,i,r,s,a,l){o?this.onDragStart(t,i,r,s):this.onStart(t,i,r,s,a,l)}onStart(t,o,i,r,s,a){o.stopPropagation(),!ro.isTouchEvent(o)&&!YM&&o.preventDefault(),this.moving=!1,this.calculateViewDimensions(),M.isNullOrUndefined(t)&&(t=this.getNearestHandle(o)),this.currentTrackingPointer=t;const l=this.getPointerElement(t);if(l.active=!0,this.preStartHandleValue=this.getCurrentTrackingValue(),this.viewOptions.keyboardSupport&&l.focus(),i){this.unsubscribeOnMove();const c=u=>this.dragging.active?this.onDragMove(u):this.onMove(u);this.onMoveEventListener=ro.isTouchEvent(o)?this.eventListenerHelper.attachPassiveEventListener(document,"touchmove",c):this.eventListenerHelper.attachEventListener(document,"mousemove",c)}if(r){this.unsubscribeOnEnd();const c=u=>this.onEnd(u);this.onEndEventListener=ro.isTouchEvent(o)?this.eventListenerHelper.attachPassiveEventListener(document,"touchend",c):this.eventListenerHelper.attachEventListener(document,"mouseup",c)}this.userChangeStart.emit(this.getChangeContext()),ro.isTouchEvent(o)&&!M.isNullOrUndefined(o.changedTouches)&&M.isNullOrUndefined(this.touchId)&&(this.touchId=o.changedTouches[0].identifier),s&&this.onMove(o,!0),a&&this.onEnd(o)}onMove(t,o){let i=null;if(ro.isTouchEvent(t)){const c=t.changedTouches;for(let u=0;u=this.maxHandlePosition?s=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(s=this.positionToValue(r),s=o&&!M.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(s,this.viewOptions.tickStep):this.roundStep(s)),this.positionTrackingHandle(s)}forceEnd(t=!1){this.moving=!1,this.viewOptions.animate&&(this.sliderElementAnimateClass=!0),t&&(this.sliderElementAnimateClass=!1,setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate})),this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext())}onEnd(t){ro.isTouchEvent(t)&&t.changedTouches[0].identifier!==this.touchId||this.forceEnd()}onPointerFocus(t){const o=this.getPointerElement(t);o.on("blur",()=>this.onPointerBlur(o)),o.on("keydown",i=>this.onKeyboardEvent(i)),o.on("keyup",()=>this.onKeyUp()),o.active=!0,this.currentTrackingPointer=t,this.currentFocusPointer=t,this.firstKeyDown=!0}onKeyUp(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}onPointerBlur(t){t.off("blur"),t.off("keydown"),t.off("keyup"),t.active=!1,M.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}getKeyActions(t){const o=this.viewOptions.ceil-this.viewOptions.floor;let i=t+this.viewOptions.step,r=t-this.viewOptions.step,s=t+o/10,a=t-o/10;this.viewOptions.reversedControls&&(i=t-this.viewOptions.step,r=t+this.viewOptions.step,s=t-o/10,a=t+o/10);const l={UP:i,DOWN:r,LEFT:r,RIGHT:i,PAGEUP:s,PAGEDOWN:a,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(l.LEFT=i,l.RIGHT=r,(this.viewOptions.vertical||0!==this.viewOptions.rotate)&&(l.UP=r,l.DOWN=i)),l}onKeyboardEvent(t){const o=this.getCurrentTrackingValue(),i=M.isNullOrUndefined(t.keyCode)?t.which:t.keyCode,l=this.getKeyActions(o)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[i]];if(M.isNullOrUndefined(l)||M.isNullOrUndefined(this.currentTrackingPointer))return;t.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));const c=Re.clampToRange(l,this.viewOptions.floor,this.viewOptions.ceil),u=this.roundStep(c);if(this.viewOptions.draggableRangeOnly){const d=this.viewHighValue-this.viewLowValue;let g,h;this.currentTrackingPointer===L.Min?(g=u,h=u+d,h>this.viewOptions.ceil&&(h=this.viewOptions.ceil,g=h-d)):this.currentTrackingPointer===L.Max&&(h=u,g=u-d,g=this.maxHandlePosition-i;let u,d;if(o<=r){if(0===s.position)return;u=this.getMinValue(o,!0,!1),d=this.getMaxValue(o,!0,!1)}else if(c){if(a.position===this.maxHandlePosition)return;d=this.getMaxValue(o,!0,!0),u=this.getMinValue(o,!0,!0)}else u=this.getMinValue(o,!1,!1),d=this.getMaxValue(o,!1,!1);this.positionTrackingBar(u,d)}positionTrackingBar(t,o){!M.isNullOrUndefined(this.viewOptions.minLimit)&&tthis.viewOptions.maxLimit&&(t=Re.roundToPrecisionLimit((o=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=t,this.viewHighValue=o,this.applyViewChange(),this.updateHandles(L.Min,this.valueToPosition(t)),this.updateHandles(L.Max,this.valueToPosition(o))}positionTrackingHandle(t){t=this.applyMinMaxLimit(t),this.range&&(this.viewOptions.pushRange?t=this.applyPushRange(t):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===L.Min&&t>this.viewHighValue?t=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===L.Max&&tthis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(L.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=L.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===L.Max&&tthis.viewOptions.maxLimit?this.viewOptions.maxLimit:t}applyMinMaxRange(t){const i=Math.abs(t-(this.currentTrackingPointer===L.Min?this.viewHighValue:this.viewLowValue));if(!M.isNullOrUndefined(this.viewOptions.minRange)&&ithis.viewOptions.maxRange){if(this.currentTrackingPointer===L.Min)return Re.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===L.Max)return Re.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return t}applyPushRange(t){const o=this.currentTrackingPointer===L.Min?this.viewHighValue-t:t-this.viewLowValue,i=M.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,r=this.viewOptions.maxRange;return or&&(this.currentTrackingPointer===L.Min?(this.viewHighValue=Re.roundToPrecisionLimit(t+r,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(L.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===L.Max&&(this.viewLowValue=Re.roundToPrecisionLimit(t-r,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(L.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),t}getChangeContext(){const t=new CU;return t.pointerType=this.currentTrackingPointer,t.value=+this.value,this.range&&(t.highValue=+this.highValue),t}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=qt({type:e,selectors:[["ngx-slider"]],contentQueries:function(o,i,r){if(1&o&&Gb(r,nU,5),2&o){let s;wt(s=Et())&&(i.tooltipTemplate=s.first)}},viewQuery:function(o,i){if(1&o&&(Nt(oU,5,so),Nt(iU,5,so),Nt(rU,5,so),Nt(sU,5,so),Nt(aU,5,Rg),Nt(lU,5,Rg),Nt(cU,5,ir),Nt(uU,5,ir),Nt(dU,5,ir),Nt(fU,5,ir),Nt(hU,5,ir),Nt(gU,5,so)),2&o){let r;wt(r=Et())&&(i.leftOuterSelectionBarElement=r.first),wt(r=Et())&&(i.rightOuterSelectionBarElement=r.first),wt(r=Et())&&(i.fullBarElement=r.first),wt(r=Et())&&(i.selectionBarElement=r.first),wt(r=Et())&&(i.minHandleElement=r.first),wt(r=Et())&&(i.maxHandleElement=r.first),wt(r=Et())&&(i.floorLabelElement=r.first),wt(r=Et())&&(i.ceilLabelElement=r.first),wt(r=Et())&&(i.minHandleLabelElement=r.first),wt(r=Et())&&(i.maxHandleLabelElement=r.first),wt(r=Et())&&(i.combinedLabelElement=r.first),wt(r=Et())&&(i.ticksElement=r.first)}},hostVars:10,hostBindings:function(o,i){1&o&&U("resize",function(s){return i.onResize(s)},Va),2&o&&(ct("disabled",i.sliderElementDisabledAttr)("aria-label",i.sliderElementAriaLabel),Nn("ngx-slider",i.sliderElementNgxSliderClass)("vertical",i.sliderElementVerticalClass)("animate",i.sliderElementAnimateClass)("with-legend",i.sliderElementWithLegendClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus",cancelUserChange:"cancelUserChange"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},standalone:!1,features:[Ee([wU]),Mn],decls:30,vars:12,consts:[["leftOuterSelectionBar",""],["rightOuterSelectionBar",""],["fullBar",""],["selectionBar",""],["minHandle",""],["maxHandle",""],["floorLabel",""],["ceilLabel",""],["minHandleLabel",""],["maxHandleLabel",""],["combinedLabel",""],["ticksElement",""],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-left-out-selection"],[1,"ngx-slider-span","ngx-slider-bar"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-right-out-selection"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-full-bar"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-selection-bar"],[1,"ngx-slider-span","ngx-slider-bar","ngx-slider-selection",3,"ngStyle"],["ngxSliderHandle","",1,"ngx-slider-span","ngx-slider-pointer","ngx-slider-pointer-min",3,"ngStyle"],["ngxSliderHandle","",1,"ngx-slider-span","ngx-slider-pointer","ngx-slider-pointer-max",3,"ngStyle"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-limit","ngx-slider-floor"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-limit","ngx-slider-ceil"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-model-value"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-model-high"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-combined"],["ngxSliderElement","",1,"ngx-slider-ticks",3,"hidden"],[1,"ngx-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],[1,"ngx-slider-span","ngx-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ngx-slider-span","ngx-slider-tick-legend",3,"innerText"],[1,"ngx-slider-span","ngx-slider-tick-legend",3,"innerHTML"]],template:function(o,i){1&o&&(v(0,"span",12,0),O(2,"span",13),_(),v(3,"span",14,1),O(5,"span",13),_(),v(6,"span",15,2),O(8,"span",13),_(),v(9,"span",16,3),O(11,"span",17),_(),O(12,"span",18,4)(14,"span",19,5)(16,"span",20,6)(18,"span",21,7)(20,"span",22,8)(22,"span",23,9)(24,"span",24,10),v(26,"span",25,11),Qe(28,yU,5,10,"span",26,Ye),_()),2&o&&(f(6),Nn("ngx-slider-transparent",i.fullBarTransparentClass),f(3),Nn("ngx-slider-draggable",i.selectionBarDraggableClass),f(2),A("ngStyle",i.barStyle),f(),A("ngStyle",i.minPointerStyle),f(2),Hl("display",i.range?"inherit":"none"),A("ngStyle",i.maxPointerStyle),f(12),Nn("ngx-slider-ticks-values-under",i.ticksUnderValuesClass),A("hidden",!i.showTicks),f(2),Ke(i.ticks))},dependencies:[Xi,aE,so,Rg,ir,bU],styles:['.ngx-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;user-select:none;touch-action:pan-y} .ngx-slider.with-legend{margin-bottom:40px} .ngx-slider[disabled]{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ngx-slider[disabled] .ngx-slider-draggable{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-selection{background:#8b91a2} .ngx-slider[disabled] .ngx-slider-tick{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-tick.ngx-slider-selected{background:#8b91a2} .ngx-slider .ngx-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ngx-slider .ngx-slider-base{width:100%;height:100%;padding:0} .ngx-slider .ngx-slider-bar-wrapper{left:0;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ngx-slider .ngx-slider-draggable{cursor:move} .ngx-slider .ngx-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-transparent .ngx-slider-bar{background:transparent} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-left-out-selection .ngx-slider-bar{background:#df002d} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-right-out-selection .ngx-slider-bar{background:#03a688} .ngx-slider .ngx-slider-selection{z-index:2;background:#0db9f0;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} .ngx-slider .ngx-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px} .ngx-slider .ngx-slider-pointer:after{content:"";width:8px;height:8px;position:absolute;top:12px;left:12px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;background:#fff} .ngx-slider .ngx-slider-pointer:hover:after{background-color:#fff} .ngx-slider .ngx-slider-pointer.ngx-slider-active{z-index:4} .ngx-slider .ngx-slider-pointer.ngx-slider-active:after{background-color:#451aff} .ngx-slider .ngx-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:#55637d} .ngx-slider .ngx-slider-ticks{box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ngx-slider .ngx-slider-ticks-values-under .ngx-slider-tick-value{top:auto;bottom:-36px} .ngx-slider .ngx-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ngx-slider .ngx-slider-tick.ngx-slider-selected{background:#0db9f0} .ngx-slider .ngx-slider-tick-value{position:absolute;top:-34px;transform:translate(-50%)} .ngx-slider .ngx-slider-tick-legend{position:absolute;top:24px;transform:translate(-50%);max-width:50px;white-space:normal} .ngx-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;touch-action:pan-x} .ngx-slider.vertical .ngx-slider-base{width:100%;height:100%;padding:0} .ngx-slider.vertical .ngx-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ngx-slider.vertical .ngx-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ngx-slider.vertical .ngx-slider-pointer{left:-14px!important;top:auto;bottom:0} .ngx-slider.vertical .ngx-slider-bubble{left:16px!important;bottom:0} .ngx-slider.vertical .ngx-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ngx-slider.vertical .ngx-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ngx-slider.vertical .ngx-slider-tick-value{left:24px;top:auto;transform:translateY(-28%)} .ngx-slider.vertical .ngx-slider-tick-legend{top:auto;right:24px;transform:translateY(-28%);max-width:none;white-space:nowrap} .ngx-slider.vertical .ngx-slider-ticks-values-under .ngx-slider-tick-value{bottom:auto;left:auto;right:24px} .ngx-slider *{transition:none} .ngx-slider.animate .ngx-slider-bar-wrapper{transition:all linear .3s} .ngx-slider.animate .ngx-slider-selection{transition:background-color linear .3s} .ngx-slider.animate .ngx-slider-pointer{transition:all linear .3s} .ngx-slider.animate .ngx-slider-pointer:after{transition:all linear .3s} .ngx-slider.animate .ngx-slider-bubble{transition:all linear .3s} .ngx-slider.animate .ngx-slider-bubble.ngx-slider-limit{transition:opacity linear .3s} .ngx-slider.animate .ngx-slider-bubble.ngx-slider-combined{transition:opacity linear .3s} .ngx-slider.animate .ngx-slider-tick{transition:background-color linear .3s}']})}return e})(),EU=(()=>{class e{static \u0275fac=function(o){return new(o||e)};static \u0275mod=Qn({type:e});static \u0275inj=dn({imports:[dE]})}return e})();class sI{constructor(){this.riskHotspotsSettings=null,this.coverageInfoSettings=null}}class MU{constructor(){this.showLineCoverage=!0,this.showBranchCoverage=!0,this.showMethodCoverage=!0,this.showFullMethodCoverage=!0,this.visibleMetrics=[],this.groupingMaximum=0,this.grouping=0,this.historyComparisionDate="",this.historyComparisionType="",this.filter="",this.lineCoverageMin=0,this.lineCoverageMax=100,this.branchCoverageMin=0,this.branchCoverageMax=100,this.methodCoverageMin=0,this.methodCoverageMax=100,this.methodFullCoverageMin=0,this.methodFullCoverageMax=100,this.sortBy="name",this.sortOrder="asc",this.collapseStates=[]}}class IU{constructor(n){this.et="",this.et=n.et,this.cl=n.cl,this.ucl=n.ucl,this.cal=n.cal,this.tl=n.tl,this.lcq=n.lcq,this.cb=n.cb,this.tb=n.tb,this.bcq=n.bcq,this.cm=n.cm,this.fcm=n.fcm,this.tm=n.tm,this.mcq=n.mcq,this.mfcq=n.mfcq}get coverageRatioText(){return 0===this.tl?"-":this.cl+"/"+this.cal}get branchCoverageRatioText(){return 0===this.tb?"-":this.cb+"/"+this.tb}get methodCoverageRatioText(){return 0===this.tm?"-":this.cm+"/"+this.tm}get methodFullCoverageRatioText(){return 0===this.tm?"-":this.fcm+"/"+this.tm}}class Rt{static roundNumber(n){return Math.floor(n*Math.pow(10,Rt.maximumDecimalPlacesForCoverageQuotas))/Math.pow(10,Rt.maximumDecimalPlacesForCoverageQuotas)}static getNthOrLastIndexOf(n,t,o){let i=0,r=-1,s=-1;for(;i{this.historicCoverages.push(new IU(o))}),this.metrics=n.metrics}get coverage(){return 0===this.coverableLines?NaN:Rt.roundNumber(100*this.coveredLines/this.coverableLines)}visible(n){if(""!==n.filter&&-1===this.name.toLowerCase().indexOf(n.filter.toLowerCase()))return!1;let t=this.coverage,o=t;if(t=Number.isNaN(t)?0:t,o=Number.isNaN(o)?100:o,n.lineCoverageMin>t||n.lineCoverageMaxi||n.branchCoverageMaxs||n.methodCoverageMaxl||n.methodFullCoverageMax=this.currentHistoricCoverage.lcq)return!1}else if("branchCoverageIncreaseOnly"===n.historyComparisionType){let u=this.branchCoverage;if(isNaN(u)||u<=this.currentHistoricCoverage.bcq)return!1}else if("branchCoverageDecreaseOnly"===n.historyComparisionType){let u=this.branchCoverage;if(isNaN(u)||u>=this.currentHistoricCoverage.bcq)return!1}else if("methodCoverageIncreaseOnly"===n.historyComparisionType){let u=this.methodCoverage;if(isNaN(u)||u<=this.currentHistoricCoverage.mcq)return!1}else if("methodCoverageDecreaseOnly"===n.historyComparisionType){let u=this.methodCoverage;if(isNaN(u)||u>=this.currentHistoricCoverage.mcq)return!1}else if("fullMethodCoverageIncreaseOnly"===n.historyComparisionType){let u=this.methodFullCoverage;if(isNaN(u)||u<=this.currentHistoricCoverage.mfcq)return!1}else if("fullMethodCoverageDecreaseOnly"===n.historyComparisionType){let u=this.methodFullCoverage;if(isNaN(u)||u>=this.currentHistoricCoverage.mfcq)return!1}return!0}updateCurrentHistoricCoverage(n){if(this.currentHistoricCoverage=null,""!==n)for(let t=0;t-1&&null===t}visible(n){if(""!==n.filter&&this.name.toLowerCase().indexOf(n.filter.toLowerCase())>-1)return!0;for(let t=0;t{var e;class n{get nativeWindow(){return function TU(){return window}()}static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)},this.\u0275prov=X({token:n,factory:n.\u0275fac}))}return e(),n})(),SU=(()=>{var e;class n{constructor(){this.translations={}}static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)},this.\u0275cmp=qt({type:n,selectors:[["pro-button"]],inputs:{translations:"translations"},standalone:!1,decls:3,vars:2,consts:[["href","https://reportgenerator.io/pro","target","_blank",1,"pro-button","pro-button-tiny",3,"title"]],template:function(i,r){1&i&&(D(0,"\xa0"),v(1,"a",0),D(2,"PRO"),_()),2&i&&(f(),A("title",xn(r.translations.methodCoverageProVersion)))},encapsulation:2}))}return e(),n})();function AU(e,n){if(1&e){const t=ue();v(0,"div",3)(1,"label")(2,"input",4),Ge("ngModelChange",function(i){B(t);const r=m();return ye(r.showBranchCoverage,i)||(r.showBranchCoverage=i),j(i)}),U("change",function(){B(t);const i=m();return j(i.showBranchCoverageChange.emit(i.showBranchCoverage))}),_(),D(3),_()()}if(2&e){const t=m();f(2),je("ngModel",t.showBranchCoverage),f(),P(" ",t.translations.branchCoverage)}}function NU(e,n){1&e&&O(0,"pro-button",6),2&e&&A("translations",m().translations)}function OU(e,n){1&e&&O(0,"pro-button",6),2&e&&A("translations",m().translations)}function xU(e,n){1&e&&O(0,"pro-button",6),2&e&&A("translations",m(2).translations)}function RU(e,n){1&e&&(v(0,"a",8),O(1,"i",9),_()),2&e&&A("href",m().$implicit.explanationUrl,Wn)}function kU(e,n){if(1&e){const t=ue();v(0,"div",3)(1,"label")(2,"input",7),U("change",function(){const i=B(t).$implicit;return j(m(2).toggleMetric(i))}),_(),D(3),_(),D(4,"\xa0"),y(5,RU,2,1,"a",8),_()}if(2&e){const t=n.$implicit,o=m(2);f(2),A("checked",o.isMetricSelected(t))("disabled",!o.methodCoverageAvailable),f(),P(" ",t.name),f(2),C(t.explanationUrl?5:-1)}}function FU(e,n){if(1&e&&(O(0,"br")(1,"br"),v(2,"b"),D(3),_(),y(4,xU,1,1,"pro-button",6),Qe(5,kU,6,4,"div",3,Ye)),2&e){const t=m();f(3),k(t.translations.metrics),f(),C(t.methodCoverageAvailable?-1:4),f(),Ke(t.metrics)}}let LU=(()=>{var e;class n{constructor(){this.visible=!1,this.visibleChange=new ve,this.translations={},this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.metrics=[],this.showLineCoverage=!1,this.showLineCoverageChange=new ve,this.showBranchCoverage=!1,this.showBranchCoverageChange=new ve,this.showMethodCoverage=!1,this.showMethodCoverageChange=new ve,this.showMethodFullCoverage=!1,this.showMethodFullCoverageChange=new ve,this.visibleMetrics=[],this.visibleMetricsChange=new ve}isMetricSelected(o){return void 0!==this.visibleMetrics.find(i=>i.name===o.name)}toggleMetric(o){let i=this.visibleMetrics.find(r=>r.name===o.name);i?this.visibleMetrics.splice(this.visibleMetrics.indexOf(i),1):this.visibleMetrics.push(o),this.visibleMetrics=[...this.visibleMetrics],this.visibleMetricsChange.emit(this.visibleMetrics)}close(){this.visible=!1,this.visibleChange.emit(this.visible)}cancelEvent(o){o.stopPropagation()}static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)},this.\u0275cmp=qt({type:n,selectors:[["popup"]],inputs:{visible:"visible",translations:"translations",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",metrics:"metrics",showLineCoverage:"showLineCoverage",showBranchCoverage:"showBranchCoverage",showMethodCoverage:"showMethodCoverage",showMethodFullCoverage:"showMethodFullCoverage",visibleMetrics:"visibleMetrics"},outputs:{visibleChange:"visibleChange",showLineCoverageChange:"showLineCoverageChange",showBranchCoverageChange:"showBranchCoverageChange",showMethodCoverageChange:"showMethodCoverageChange",showMethodFullCoverageChange:"showMethodFullCoverageChange",visibleMetricsChange:"visibleMetricsChange"},standalone:!1,decls:22,vars:13,consts:[[1,"popup-container",3,"click"],[1,"popup",3,"click"],[1,"close",3,"click"],[1,"mt-1"],["type","checkbox",3,"ngModelChange","change","ngModel"],["type","checkbox",3,"ngModelChange","change","ngModel","disabled"],[3,"translations"],["type","checkbox",3,"change","checked","disabled"],["target","_blank",3,"href"],[1,"icon-info-circled"]],template:function(i,r){1&i&&(v(0,"div",0),U("click",function(){return r.close()}),v(1,"div",1),U("click",function(a){return r.cancelEvent(a)}),v(2,"div",2),U("click",function(){return r.close()}),D(3,"X"),_(),v(4,"b"),D(5),_(),v(6,"div",3)(7,"label")(8,"input",4),Ge("ngModelChange",function(a){return ye(r.showLineCoverage,a)||(r.showLineCoverage=a),a}),U("change",function(){return r.showLineCoverageChange.emit(r.showLineCoverage)}),_(),D(9),_()(),y(10,AU,4,2,"div",3),v(11,"div",3)(12,"label")(13,"input",5),Ge("ngModelChange",function(a){return ye(r.showMethodCoverage,a)||(r.showMethodCoverage=a),a}),U("change",function(){return r.showMethodCoverageChange.emit(r.showMethodCoverage)}),_(),D(14),_(),y(15,NU,1,1,"pro-button",6),_(),v(16,"div",3)(17,"label")(18,"input",5),Ge("ngModelChange",function(a){return ye(r.showMethodFullCoverage,a)||(r.showMethodFullCoverage=a),a}),U("change",function(){return r.showMethodFullCoverageChange.emit(r.showMethodFullCoverage)}),_(),D(19),_(),y(20,OU,1,1,"pro-button",6),_(),y(21,FU,7,2),_()()),2&i&&(f(5),k(r.translations.coverageTypes),f(3),je("ngModel",r.showLineCoverage),f(),P(" ",r.translations.coverage),f(),C(r.branchCoverageAvailable?10:-1),f(3),je("ngModel",r.showMethodCoverage),A("disabled",!r.methodCoverageAvailable),f(),P(" ",r.translations.methodCoverage),f(),C(r.methodCoverageAvailable?-1:15),f(3),je("ngModel",r.showMethodFullCoverage),A("disabled",!r.methodCoverageAvailable),f(),P(" ",r.translations.fullMethodCoverage),f(),C(r.methodCoverageAvailable?-1:20),f(),C(r.metrics.length>0?21:-1))},dependencies:[lg,hc,ks,SU],encapsulation:2}))}return e(),n})();function PU(e,n){1&e&&O(0,"td",1)}function VU(e,n){1&e&&O(0,"td"),2&e&&jt(Ut("green ",m().greenClass))}function HU(e,n){1&e&&O(0,"td"),2&e&&jt(Ut("red ",m().redClass))}let lI=(()=>{var e;class n{constructor(){this.grayVisible=!0,this.greenVisible=!1,this.redVisible=!1,this.greenClass="",this.redClass="",this._percentage=NaN}get percentage(){return this._percentage}set percentage(o){this._percentage=o,this.grayVisible=isNaN(o),this.greenVisible=!isNaN(o)&&Math.round(o)>0,this.redVisible=!isNaN(o)&&100-Math.round(o)>0,this.greenClass="covered"+Math.round(o),this.redClass="covered"+(100-Math.round(o))}static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)},this.\u0275cmp=qt({type:n,selectors:[["coverage-bar"]],inputs:{percentage:"percentage"},standalone:!1,decls:4,vars:3,consts:[[1,"coverage"],[1,"gray","covered100"],[3,"class"]],template:function(i,r){1&i&&(v(0,"table",0),y(1,PU,1,0,"td",1),y(2,VU,1,3,"td",2),y(3,HU,1,3,"td",2),_()),2&i&&(f(),C(r.grayVisible?1:-1),f(),C(r.greenVisible?2:-1),f(),C(r.redVisible?3:-1))},encapsulation:2,changeDetection:0}))}return e(),n})();const BU=["codeelement-row",""],jU=(e,n)=>({"icon-plus":e,"icon-minus":n});function UU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.coveredLines)}}function $U(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.uncoveredLines)}}function zU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.coverableLines)}}function GU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.totalLines)}}function WU(e,n){if(1&e&&(v(0,"th",3),D(1),_()),2&e){const t=m();A("title",t.element.coverageRatioText),f(),k(t.element.coveragePercentage)}}function qU(e,n){if(1&e&&(v(0,"th",2),O(1,"coverage-bar",4),_()),2&e){const t=m();f(),A("percentage",t.element.coverage)}}function ZU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.coveredBranches)}}function YU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.totalBranches)}}function QU(e,n){if(1&e&&(v(0,"th",3),D(1),_()),2&e){const t=m();A("title",t.element.branchCoverageRatioText),f(),k(t.element.branchCoveragePercentage)}}function KU(e,n){if(1&e&&(v(0,"th",2),O(1,"coverage-bar",4),_()),2&e){const t=m();f(),A("percentage",t.element.branchCoverage)}}function JU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.coveredMethods)}}function XU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.totalMethods)}}function e3(e,n){if(1&e&&(v(0,"th",3),D(1),_()),2&e){const t=m();A("title",t.element.methodCoverageRatioText),f(),k(t.element.methodCoveragePercentage)}}function t3(e,n){if(1&e&&(v(0,"th",2),O(1,"coverage-bar",4),_()),2&e){const t=m();f(),A("percentage",t.element.methodCoverage)}}function n3(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.fullyCoveredMethods)}}function o3(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.totalMethods)}}function i3(e,n){if(1&e&&(v(0,"th",3),D(1),_()),2&e){const t=m();A("title",t.element.methodFullCoverageRatioText),f(),k(t.element.methodFullCoveragePercentage)}}function r3(e,n){if(1&e&&(v(0,"th",2),O(1,"coverage-bar",4),_()),2&e){const t=m();f(),A("percentage",t.element.methodFullCoverage)}}function s3(e,n){1&e&&O(0,"th",2)}let a3=(()=>{var e;class n{constructor(){this.collapsed=!1,this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.methodFullCoverageAvailable=!1,this.visibleMetrics=[]}static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)},this.\u0275cmp=qt({type:n,selectors:[["","codeelement-row",""]],inputs:{element:"element",collapsed:"collapsed",lineCoverageAvailable:"lineCoverageAvailable",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",methodFullCoverageAvailable:"methodFullCoverageAvailable",visibleMetrics:"visibleMetrics"},standalone:!1,attrs:BU,decls:24,vars:23,consts:[["href","#",3,"click"],[3,"ngClass"],[1,"right"],[1,"right",3,"title"],[3,"percentage"]],template:function(i,r){1&i&&(v(0,"th")(1,"a",0),U("click",function(a){return r.element.toggleCollapse(a)}),O(2,"i",1),D(3),_()(),y(4,UU,2,1,"th",2),y(5,$U,2,1,"th",2),y(6,zU,2,1,"th",2),y(7,GU,2,1,"th",2),y(8,WU,2,2,"th",3),y(9,qU,2,1,"th",2),y(10,ZU,2,1,"th",2),y(11,YU,2,1,"th",2),y(12,QU,2,2,"th",3),y(13,KU,2,1,"th",2),y(14,JU,2,1,"th",2),y(15,XU,2,1,"th",2),y(16,e3,2,2,"th",3),y(17,t3,2,1,"th",2),y(18,n3,2,1,"th",2),y(19,o3,2,1,"th",2),y(20,i3,2,2,"th",3),y(21,r3,2,1,"th",2),Qe(22,s3,1,0,"th",2,Ye)),2&i&&(f(2),A("ngClass",yh(20,jU,r.element.collapsed,!r.element.collapsed)),f(),P("\n",r.element.name),f(),C(r.lineCoverageAvailable?4:-1),f(),C(r.lineCoverageAvailable?5:-1),f(),C(r.lineCoverageAvailable?6:-1),f(),C(r.lineCoverageAvailable?7:-1),f(),C(r.lineCoverageAvailable?8:-1),f(),C(r.lineCoverageAvailable?9:-1),f(),C(r.branchCoverageAvailable?10:-1),f(),C(r.branchCoverageAvailable?11:-1),f(),C(r.branchCoverageAvailable?12:-1),f(),C(r.branchCoverageAvailable?13:-1),f(),C(r.methodCoverageAvailable?14:-1),f(),C(r.methodCoverageAvailable?15:-1),f(),C(r.methodCoverageAvailable?16:-1),f(),C(r.methodCoverageAvailable?17:-1),f(),C(r.methodFullCoverageAvailable?18:-1),f(),C(r.methodFullCoverageAvailable?19:-1),f(),C(r.methodFullCoverageAvailable?20:-1),f(),C(r.methodFullCoverageAvailable?21:-1),f(),Ke(r.visibleMetrics))},dependencies:[Xi,lI],encapsulation:2,changeDetection:0}))}return e(),n})();const l3=["coverage-history-chart",""];let c3=(()=>{var e;class n{constructor(){this.path=null,this._historicCoverages=[]}get historicCoverages(){return this._historicCoverages}set historicCoverages(o){if(this._historicCoverages=o,o.length>1){let i="";for(let r=0;r(this.\u0275fac=function(i){return new(i||n)},this.\u0275cmp=qt({type:n,selectors:[["","coverage-history-chart",""]],inputs:{historicCoverages:"historicCoverages"},standalone:!1,attrs:l3,decls:3,vars:1,consts:[["width","30","height","18",1,"ct-chart-line"],[1,"ct-series","ct-series-a"],[1,"ct-line"]],template:function(i,r){1&i&&(function Yp(){G.lFrame.currentNamespace="svg"}(),v(0,"svg",0)(1,"g",1),O(2,"path",2),_()()),2&i&&(f(2),ct("d",r.path))},encapsulation:2,changeDetection:0}))}return e(),n})();const u3=["class-row",""],Oc=e=>({historiccoverageoffset:e});function d3(e,n){if(1&e&&(v(0,"a",0),D(1),_()),2&e){const t=m();A("href",t.clazz.reportPath,Wn),f(),k(t.clazz.name)}}function f3(e,n){1&e&&D(0),2&e&&P(" ",m().clazz.name," ")}function h3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.coveredLines,t.clazz.currentHistoricCoverage.cl))),f(),P(" ",t.clazz.coveredLines," "),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),P(" ",t.clazz.currentHistoricCoverage.cl," ")}}function g3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.coveredLines," ")}function p3(e,n){if(1&e&&(v(0,"td",1),y(1,h3,4,6),y(2,g3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function m3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.currentHistoricCoverage.ucl,t.clazz.uncoveredLines))),f(),P(" ",t.clazz.uncoveredLines," "),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),P(" ",t.clazz.currentHistoricCoverage.ucl," ")}}function _3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.uncoveredLines," ")}function v3(e,n){if(1&e&&(v(0,"td",1),y(1,m3,4,6),y(2,_3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function y3(e,n){if(1&e&&(v(0,"div",4),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);f(),k(t.clazz.coverableLines),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),k(t.clazz.currentHistoricCoverage.cal)}}function C3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.coverableLines," ")}function b3(e,n){if(1&e&&(v(0,"td",1),y(1,y3,4,3),y(2,C3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function D3(e,n){if(1&e&&(v(0,"div",4),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);f(),k(t.clazz.totalLines),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),k(t.clazz.currentHistoricCoverage.tl)}}function w3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.totalLines," ")}function E3(e,n){if(1&e&&(v(0,"td",1),y(1,D3,4,3),y(2,w3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function M3(e,n){if(1&e&&O(0,"div",5),2&e){const t=m(2);A("title",xn(t.translations.history+": "+t.translations.coverage))("historicCoverages",t.clazz.lineCoverageHistory)("ngClass",Zi(4,Oc,null!==t.clazz.currentHistoricCoverage))}}function I3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.coverage,t.clazz.currentHistoricCoverage.lcq))),f(),P(" ",t.clazz.coveragePercentage," "),f(),A("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.coverageRatioText),f(),P("",t.clazz.currentHistoricCoverage.lcq,"%")}}function T3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.coveragePercentage," ")}function S3(e,n){if(1&e&&(v(0,"td",2),y(1,M3,1,6,"div",5),y(2,I3,4,6),y(3,T3,1,1),_()),2&e){const t=m();A("title",t.clazz.coverageRatioText),f(),C(t.clazz.lineCoverageHistory.length>1?1:-1),f(),C(null!==t.clazz.currentHistoricCoverage?2:-1),f(),C(null===t.clazz.currentHistoricCoverage?3:-1)}}function A3(e,n){if(1&e&&(v(0,"td",1),O(1,"coverage-bar",6),_()),2&e){const t=m();f(),A("percentage",t.clazz.coverage)}}function N3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.coveredBranches,t.clazz.currentHistoricCoverage.cb))),f(),P(" ",t.clazz.coveredBranches," "),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),P(" ",t.clazz.currentHistoricCoverage.cb," ")}}function O3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.coveredBranches," ")}function x3(e,n){if(1&e&&(v(0,"td",1),y(1,N3,4,6),y(2,O3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function R3(e,n){if(1&e&&(v(0,"div",4),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);f(),k(t.clazz.totalBranches),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),k(t.clazz.currentHistoricCoverage.tb)}}function k3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.totalBranches," ")}function F3(e,n){if(1&e&&(v(0,"td",1),y(1,R3,4,3),y(2,k3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function L3(e,n){if(1&e&&O(0,"div",7),2&e){const t=m(2);A("title",xn(t.translations.history+": "+t.translations.branchCoverage))("historicCoverages",t.clazz.branchCoverageHistory)("ngClass",Zi(4,Oc,null!==t.clazz.currentHistoricCoverage))}}function P3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.branchCoverage,t.clazz.currentHistoricCoverage.bcq))),f(),P(" ",t.clazz.branchCoveragePercentage," "),f(),A("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.branchCoverageRatioText),f(),P("",t.clazz.currentHistoricCoverage.bcq,"%")}}function V3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.branchCoveragePercentage," ")}function H3(e,n){if(1&e&&(v(0,"td",2),y(1,L3,1,6,"div",7),y(2,P3,4,6),y(3,V3,1,1),_()),2&e){const t=m();A("title",t.clazz.branchCoverageRatioText),f(),C(t.clazz.branchCoverageHistory.length>1?1:-1),f(),C(null!==t.clazz.currentHistoricCoverage?2:-1),f(),C(null===t.clazz.currentHistoricCoverage?3:-1)}}function B3(e,n){if(1&e&&(v(0,"td",1),O(1,"coverage-bar",6),_()),2&e){const t=m();f(),A("percentage",t.clazz.branchCoverage)}}function j3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.coveredMethods,t.clazz.currentHistoricCoverage.cm))),f(),P(" ",t.clazz.coveredMethods," "),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),P(" ",t.clazz.currentHistoricCoverage.cm," ")}}function U3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.coveredMethods," ")}function $3(e,n){if(1&e&&(v(0,"td",1),y(1,j3,4,6),y(2,U3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function z3(e,n){if(1&e&&(v(0,"div",4),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);f(),k(t.clazz.totalMethods),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),k(t.clazz.currentHistoricCoverage.tm)}}function G3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.totalMethods," ")}function W3(e,n){if(1&e&&(v(0,"td",1),y(1,z3,4,3),y(2,G3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function q3(e,n){if(1&e&&O(0,"div",8),2&e){const t=m(2);A("title",xn(t.translations.history+": "+t.translations.methodCoverage))("historicCoverages",t.clazz.methodCoverageHistory)("ngClass",Zi(4,Oc,null!==t.clazz.currentHistoricCoverage))}}function Z3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.methodCoverage,t.clazz.currentHistoricCoverage.mcq))),f(),P(" ",t.clazz.methodCoveragePercentage," "),f(),A("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.methodCoverageRatioText),f(),P("",t.clazz.currentHistoricCoverage.mcq,"%")}}function Y3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.methodCoveragePercentage," ")}function Q3(e,n){if(1&e&&(v(0,"td",2),y(1,q3,1,6,"div",8),y(2,Z3,4,6),y(3,Y3,1,1),_()),2&e){const t=m();A("title",t.clazz.methodCoverageRatioText),f(),C(t.clazz.methodCoverageHistory.length>1?1:-1),f(),C(null!==t.clazz.currentHistoricCoverage?2:-1),f(),C(null===t.clazz.currentHistoricCoverage?3:-1)}}function K3(e,n){if(1&e&&(v(0,"td",1),O(1,"coverage-bar",6),_()),2&e){const t=m();f(),A("percentage",t.clazz.methodCoverage)}}function J3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.fullyCoveredMethods,t.clazz.currentHistoricCoverage.fcm))),f(),P(" ",t.clazz.fullyCoveredMethods," "),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),P(" ",t.clazz.currentHistoricCoverage.fcm," ")}}function X3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.fullyCoveredMethods," ")}function e$(e,n){if(1&e&&(v(0,"td",1),y(1,J3,4,6),y(2,X3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function t$(e,n){if(1&e&&(v(0,"div",4),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);f(),k(t.clazz.totalMethods),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),k(t.clazz.currentHistoricCoverage.tm)}}function n$(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.totalMethods," ")}function o$(e,n){if(1&e&&(v(0,"td",1),y(1,t$,4,3),y(2,n$,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function i$(e,n){if(1&e&&O(0,"div",9),2&e){const t=m(2);A("title",xn(t.translations.history+": "+t.translations.fullMethodCoverage))("historicCoverages",t.clazz.methodFullCoverageHistory)("ngClass",Zi(4,Oc,null!==t.clazz.currentHistoricCoverage))}}function r$(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.methodFullCoverage,t.clazz.currentHistoricCoverage.mfcq))),f(),P(" ",t.clazz.methodFullCoveragePercentage," "),f(),A("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.methodFullCoverageRatioText),f(),P("",t.clazz.currentHistoricCoverage.mfcq,"%")}}function s$(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.methodFullCoveragePercentage," ")}function a$(e,n){if(1&e&&(v(0,"td",2),y(1,i$,1,6,"div",9),y(2,r$,4,6),y(3,s$,1,1),_()),2&e){const t=m();A("title",t.clazz.methodFullCoverageRatioText),f(),C(t.clazz.methodFullCoverageHistory.length>1?1:-1),f(),C(null!==t.clazz.currentHistoricCoverage?2:-1),f(),C(null===t.clazz.currentHistoricCoverage?3:-1)}}function l$(e,n){if(1&e&&(v(0,"td",1),O(1,"coverage-bar",6),_()),2&e){const t=m();f(),A("percentage",t.clazz.methodFullCoverage)}}function c$(e,n){if(1&e&&(v(0,"td",1),D(1),_()),2&e){const t=n.$implicit,o=m();f(),k(o.clazz.metrics[t.abbreviation])}}let u$=(()=>{var e;class n{constructor(){this.translations={},this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.methodFullCoverageAvailable=!1,this.visibleMetrics=[],this.historyComparisionDate=""}getClassName(o,i){return o>i?"lightgreen":o(this.\u0275fac=function(i){return new(i||n)},this.\u0275cmp=qt({type:n,selectors:[["","class-row",""]],inputs:{clazz:"clazz",translations:"translations",lineCoverageAvailable:"lineCoverageAvailable",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",methodFullCoverageAvailable:"methodFullCoverageAvailable",visibleMetrics:"visibleMetrics",historyComparisionDate:"historyComparisionDate"},standalone:!1,attrs:u3,decls:23,vars:20,consts:[[3,"href"],[1,"right"],[1,"right",3,"title"],[3,"title"],[1,"currenthistory"],["coverage-history-chart","",1,"tinylinecoveragechart","ct-chart",3,"historicCoverages","ngClass","title"],[3,"percentage"],["coverage-history-chart","",1,"tinybranchcoveragechart","ct-chart",3,"historicCoverages","ngClass","title"],["coverage-history-chart","",1,"tinymethodcoveragechart","ct-chart",3,"historicCoverages","ngClass","title"],["coverage-history-chart","",1,"tinyfullmethodcoveragechart","ct-chart",3,"historicCoverages","ngClass","title"]],template:function(i,r){1&i&&(v(0,"td"),y(1,d3,2,2,"a",0),y(2,f3,1,1),_(),y(3,p3,3,2,"td",1),y(4,v3,3,2,"td",1),y(5,b3,3,2,"td",1),y(6,E3,3,2,"td",1),y(7,S3,4,4,"td",2),y(8,A3,2,1,"td",1),y(9,x3,3,2,"td",1),y(10,F3,3,2,"td",1),y(11,H3,4,4,"td",2),y(12,B3,2,1,"td",1),y(13,$3,3,2,"td",1),y(14,W3,3,2,"td",1),y(15,Q3,4,4,"td",2),y(16,K3,2,1,"td",1),y(17,e$,3,2,"td",1),y(18,o$,3,2,"td",1),y(19,a$,4,4,"td",2),y(20,l$,2,1,"td",1),Qe(21,c$,2,1,"td",1,Ye)),2&i&&(f(),C(""!==r.clazz.reportPath?1:-1),f(),C(""===r.clazz.reportPath?2:-1),f(),C(r.lineCoverageAvailable?3:-1),f(),C(r.lineCoverageAvailable?4:-1),f(),C(r.lineCoverageAvailable?5:-1),f(),C(r.lineCoverageAvailable?6:-1),f(),C(r.lineCoverageAvailable?7:-1),f(),C(r.lineCoverageAvailable?8:-1),f(),C(r.branchCoverageAvailable?9:-1),f(),C(r.branchCoverageAvailable?10:-1),f(),C(r.branchCoverageAvailable?11:-1),f(),C(r.branchCoverageAvailable?12:-1),f(),C(r.methodCoverageAvailable?13:-1),f(),C(r.methodCoverageAvailable?14:-1),f(),C(r.methodCoverageAvailable?15:-1),f(),C(r.methodCoverageAvailable?16:-1),f(),C(r.methodFullCoverageAvailable?17:-1),f(),C(r.methodFullCoverageAvailable?18:-1),f(),C(r.methodFullCoverageAvailable?19:-1),f(),C(r.methodFullCoverageAvailable?20:-1),f(),Ke(r.visibleMetrics))},dependencies:[Xi,c3,lI],encapsulation:2,changeDetection:0}))}return e(),n})();const it=(e,n,t)=>({"icon-up-dir_active":e,"icon-down-dir_active":n,"icon-up-down-dir":t});function d$(e,n){if(1&e){const t=ue();v(0,"popup",27),Ge("visibleChange",function(i){B(t);const r=m(2);return ye(r.popupVisible,i)||(r.popupVisible=i),j(i)})("showLineCoverageChange",function(i){B(t);const r=m(2);return ye(r.settings.showLineCoverage,i)||(r.settings.showLineCoverage=i),j(i)})("showBranchCoverageChange",function(i){B(t);const r=m(2);return ye(r.settings.showBranchCoverage,i)||(r.settings.showBranchCoverage=i),j(i)})("showMethodCoverageChange",function(i){B(t);const r=m(2);return ye(r.settings.showMethodCoverage,i)||(r.settings.showMethodCoverage=i),j(i)})("showMethodFullCoverageChange",function(i){B(t);const r=m(2);return ye(r.settings.showFullMethodCoverage,i)||(r.settings.showFullMethodCoverage=i),j(i)})("visibleMetricsChange",function(i){B(t);const r=m(2);return ye(r.settings.visibleMetrics,i)||(r.settings.visibleMetrics=i),j(i)}),_()}if(2&e){const t=m(2);je("visible",t.popupVisible),A("translations",t.translations)("branchCoverageAvailable",t.branchCoverageAvailable)("methodCoverageAvailable",t.methodCoverageAvailable)("metrics",t.metrics),je("showLineCoverage",t.settings.showLineCoverage)("showBranchCoverage",t.settings.showBranchCoverage)("showMethodCoverage",t.settings.showMethodCoverage)("showMethodFullCoverage",t.settings.showFullMethodCoverage)("visibleMetrics",t.settings.visibleMetrics)}}function f$(e,n){1&e&&D(0),2&e&&P(" ",m(2).translations.noGrouping," ")}function h$(e,n){1&e&&D(0),2&e&&P(" ",m(2).translations.byAssembly," ")}function g$(e,n){if(1&e&&D(0),2&e){const t=m(2);P(" ",t.translations.byNamespace+" "+t.settings.grouping," ")}}function p$(e,n){if(1&e&&(v(0,"option",30),D(1),_()),2&e){const t=n.$implicit;A("value",t),f(),k(t)}}function m$(e,n){1&e&&O(0,"br")}function _$(e,n){if(1&e&&(v(0,"option",34),D(1),_()),2&e){const t=m(4);f(),P(" ",t.translations.branchCoverageIncreaseOnly," ")}}function v$(e,n){if(1&e&&(v(0,"option",35),D(1),_()),2&e){const t=m(4);f(),P(" ",t.translations.branchCoverageDecreaseOnly," ")}}function y$(e,n){if(1&e&&(v(0,"option",36),D(1),_()),2&e){const t=m(4);f(),P(" ",t.translations.methodCoverageIncreaseOnly," ")}}function C$(e,n){if(1&e&&(v(0,"option",37),D(1),_()),2&e){const t=m(4);f(),P(" ",t.translations.methodCoverageDecreaseOnly," ")}}function b$(e,n){if(1&e&&(v(0,"option",38),D(1),_()),2&e){const t=m(4);f(),P(" ",t.translations.fullMethodCoverageIncreaseOnly," ")}}function D$(e,n){if(1&e&&(v(0,"option",39),D(1),_()),2&e){const t=m(4);f(),P(" ",t.translations.fullMethodCoverageDecreaseOnly," ")}}function w$(e,n){if(1&e){const t=ue();v(0,"div")(1,"select",28),Ge("ngModelChange",function(i){B(t);const r=m(3);return ye(r.settings.historyComparisionType,i)||(r.settings.historyComparisionType=i),j(i)}),v(2,"option",29),D(3),_(),v(4,"option",31),D(5),_(),v(6,"option",32),D(7),_(),v(8,"option",33),D(9),_(),y(10,_$,2,1,"option",34),y(11,v$,2,1,"option",35),y(12,y$,2,1,"option",36),y(13,C$,2,1,"option",37),y(14,b$,2,1,"option",38),y(15,D$,2,1,"option",39),_()()}if(2&e){const t=m(3);f(),je("ngModel",t.settings.historyComparisionType),f(2),k(t.translations.filter),f(2),k(t.translations.allChanges),f(2),k(t.translations.lineCoverageIncreaseOnly),f(2),k(t.translations.lineCoverageDecreaseOnly),f(),C(t.branchCoverageAvailable?10:-1),f(),C(t.branchCoverageAvailable?11:-1),f(),C(t.methodCoverageAvailable?12:-1),f(),C(t.methodCoverageAvailable?13:-1),f(),C(t.methodCoverageAvailable?14:-1),f(),C(t.methodCoverageAvailable?15:-1)}}function E$(e,n){if(1&e){const t=ue();v(0,"div"),D(1),v(2,"select",28),Ge("ngModelChange",function(i){B(t);const r=m(2);return ye(r.settings.historyComparisionDate,i)||(r.settings.historyComparisionDate=i),j(i)}),U("ngModelChange",function(){return B(t),j(m(2).updateCurrentHistoricCoverage())}),v(3,"option",29),D(4),_(),Qe(5,p$,2,2,"option",30,Ye),_()(),y(7,m$,1,0,"br"),y(8,w$,16,11,"div")}if(2&e){const t=m(2);f(),P(" ",t.translations.compareHistory," "),f(),je("ngModel",t.settings.historyComparisionDate),f(2),k(t.translations.date),f(),Ke(t.historicCoverageExecutionTimes),f(2),C(""!==t.settings.historyComparisionDate?7:-1),f(),C(""!==t.settings.historyComparisionDate?8:-1)}}function M$(e,n){1&e&&O(0,"col",12)}function I$(e,n){1&e&&O(0,"col",13)}function T$(e,n){1&e&&O(0,"col",14)}function S$(e,n){1&e&&O(0,"col",15)}function A$(e,n){1&e&&O(0,"col",16)}function N$(e,n){1&e&&O(0,"col",17)}function O$(e,n){1&e&&O(0,"col",12)}function x$(e,n){1&e&&O(0,"col",15)}function R$(e,n){1&e&&O(0,"col",16)}function k$(e,n){1&e&&O(0,"col",17)}function F$(e,n){1&e&&O(0,"col",12)}function L$(e,n){1&e&&O(0,"col",15)}function P$(e,n){1&e&&O(0,"col",16)}function V$(e,n){1&e&&O(0,"col",17)}function H$(e,n){1&e&&O(0,"col",12)}function B$(e,n){1&e&&O(0,"col",15)}function j$(e,n){1&e&&O(0,"col",16)}function U$(e,n){1&e&&O(0,"col",17)}function $$(e,n){1&e&&O(0,"col",17)}function z$(e,n){if(1&e&&(v(0,"th",19),D(1),_()),2&e){const t=m(2);f(),k(t.translations.coverage)}}function G$(e,n){if(1&e&&(v(0,"th",20),D(1),_()),2&e){const t=m(2);f(),k(t.translations.branchCoverage)}}function W$(e,n){if(1&e&&(v(0,"th",20),D(1),_()),2&e){const t=m(2);f(),k(t.translations.methodCoverage)}}function q$(e,n){if(1&e&&(v(0,"th",20),D(1),_()),2&e){const t=m(2);f(),k(t.translations.fullMethodCoverage)}}function Z$(e,n){if(1&e&&(v(0,"th",21),D(1),_()),2&e){const t=m(2);ct("colspan",t.settings.visibleMetrics.length),f(),k(t.translations.metrics)}}function Y$(e,n){if(1&e){const t=ue();v(0,"td",19)(1,"ngx-slider",40),Ge("valueChange",function(i){B(t);const r=m(2);return ye(r.settings.lineCoverageMin,i)||(r.settings.lineCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const r=m(2);return ye(r.settings.lineCoverageMax,i)||(r.settings.lineCoverageMax=i),j(i)}),_()()}if(2&e){const t=m(2);f(),je("value",t.settings.lineCoverageMin)("highValue",t.settings.lineCoverageMax),A("options",t.sliderOptions)}}function Q$(e,n){if(1&e){const t=ue();v(0,"td",20)(1,"ngx-slider",40),Ge("valueChange",function(i){B(t);const r=m(2);return ye(r.settings.branchCoverageMin,i)||(r.settings.branchCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const r=m(2);return ye(r.settings.branchCoverageMax,i)||(r.settings.branchCoverageMax=i),j(i)}),_()()}if(2&e){const t=m(2);f(),je("value",t.settings.branchCoverageMin)("highValue",t.settings.branchCoverageMax),A("options",t.sliderOptions)}}function K$(e,n){if(1&e){const t=ue();v(0,"td",20)(1,"ngx-slider",40),Ge("valueChange",function(i){B(t);const r=m(2);return ye(r.settings.methodCoverageMin,i)||(r.settings.methodCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const r=m(2);return ye(r.settings.methodCoverageMax,i)||(r.settings.methodCoverageMax=i),j(i)}),_()()}if(2&e){const t=m(2);f(),je("value",t.settings.methodCoverageMin)("highValue",t.settings.methodCoverageMax),A("options",t.sliderOptions)}}function J$(e,n){if(1&e){const t=ue();v(0,"td",20)(1,"ngx-slider",40),Ge("valueChange",function(i){B(t);const r=m(2);return ye(r.settings.methodFullCoverageMin,i)||(r.settings.methodFullCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const r=m(2);return ye(r.settings.methodFullCoverageMax,i)||(r.settings.methodFullCoverageMax=i),j(i)}),_()()}if(2&e){const t=m(2);f(),je("value",t.settings.methodFullCoverageMin)("highValue",t.settings.methodFullCoverageMax),A("options",t.sliderOptions)}}function X$(e,n){1&e&&O(0,"td",21),2&e&&ct("colspan",m(2).settings.visibleMetrics.length)}function e8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("covered",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"covered"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered"!==t.settings.sortBy)),f(),k(t.translations.covered)}}function t8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("uncovered",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"uncovered"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"uncovered"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"uncovered"!==t.settings.sortBy)),f(),k(t.translations.uncovered)}}function n8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("coverable",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"coverable"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"coverable"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"coverable"!==t.settings.sortBy)),f(),k(t.translations.coverable)}}function o8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("total",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"total"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total"!==t.settings.sortBy)),f(),k(t.translations.total)}}function i8(e,n){if(1&e){const t=ue();v(0,"th",26)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("coverage",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"coverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"coverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"coverage"!==t.settings.sortBy)),f(),k(t.translations.percentage)}}function r8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("covered_branches",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"covered_branches"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered_branches"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered_branches"!==t.settings.sortBy)),f(),k(t.translations.covered)}}function s8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("total_branches",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"total_branches"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_branches"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_branches"!==t.settings.sortBy)),f(),k(t.translations.total)}}function a8(e,n){if(1&e){const t=ue();v(0,"th",26)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("branchcoverage",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"branchcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"branchcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"branchcoverage"!==t.settings.sortBy)),f(),k(t.translations.percentage)}}function l8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("covered_methods",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"covered_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered_methods"!==t.settings.sortBy)),f(),k(t.translations.covered)}}function c8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("total_methods",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"total_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_methods"!==t.settings.sortBy)),f(),k(t.translations.total)}}function u8(e,n){if(1&e){const t=ue();v(0,"th",26)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("methodcoverage",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"methodcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"methodcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"methodcoverage"!==t.settings.sortBy)),f(),k(t.translations.percentage)}}function d8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("fullycovered_methods",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"fullycovered_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"fullycovered_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"fullycovered_methods"!==t.settings.sortBy)),f(),k(t.translations.covered)}}function f8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("total_methods",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"total_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_methods"!==t.settings.sortBy)),f(),k(t.translations.total)}}function h8(e,n){if(1&e){const t=ue();v(0,"th",26)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("methodfullcoverage",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"methodfullcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"methodfullcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"methodfullcoverage"!==t.settings.sortBy)),f(),k(t.translations.percentage)}}function g8(e,n){if(1&e){const t=ue();v(0,"th")(1,"a",2),U("click",function(i){const r=B(t).$implicit;return j(m(2).updateSorting(r.abbreviation,i))}),O(2,"i",24),D(3),_(),v(4,"a",41),O(5,"i",42),_()()}if(2&e){const t=n.$implicit,o=m(2);f(2),A("ngClass",Ne(4,it,o.settings.sortBy===t.abbreviation&&"asc"===o.settings.sortOrder,o.settings.sortBy===t.abbreviation&&"desc"===o.settings.sortOrder,o.settings.sortBy!==t.abbreviation)),f(),k(t.name),f(),A("href",xn(t.explanationUrl),Wn)}}function p8(e,n){if(1&e&&O(0,"tr",43),2&e){const t=m().$implicit,o=m(2);A("element",t)("collapsed",t.collapsed)("lineCoverageAvailable",o.settings.showLineCoverage)("branchCoverageAvailable",o.branchCoverageAvailable&&o.settings.showBranchCoverage)("methodCoverageAvailable",o.methodCoverageAvailable&&o.settings.showMethodCoverage)("methodFullCoverageAvailable",o.methodCoverageAvailable&&o.settings.showFullMethodCoverage)("visibleMetrics",o.settings.visibleMetrics)}}function m8(e,n){if(1&e&&O(0,"tr",44),2&e){const t=m().$implicit,o=m(3);A("clazz",t)("translations",o.translations)("lineCoverageAvailable",o.settings.showLineCoverage)("branchCoverageAvailable",o.branchCoverageAvailable&&o.settings.showBranchCoverage)("methodCoverageAvailable",o.methodCoverageAvailable&&o.settings.showMethodCoverage)("methodFullCoverageAvailable",o.methodCoverageAvailable&&o.settings.showFullMethodCoverage)("visibleMetrics",o.settings.visibleMetrics)("historyComparisionDate",o.settings.historyComparisionDate)}}function _8(e,n){if(1&e&&y(0,m8,1,8,"tr",44),2&e){const t=n.$implicit,o=m().$implicit,i=m(2);C(!o.collapsed&&t.visible(i.settings)?0:-1)}}function v8(e,n){if(1&e&&O(0,"tr",46),2&e){const t=m().$implicit,o=m(5);A("clazz",t)("translations",o.translations)("lineCoverageAvailable",o.settings.showLineCoverage)("branchCoverageAvailable",o.branchCoverageAvailable&&o.settings.showBranchCoverage)("methodCoverageAvailable",o.methodCoverageAvailable&&o.settings.showMethodCoverage)("methodFullCoverageAvailable",o.methodCoverageAvailable&&o.settings.showFullMethodCoverage)("visibleMetrics",o.settings.visibleMetrics)("historyComparisionDate",o.settings.historyComparisionDate)}}function y8(e,n){if(1&e&&y(0,v8,1,8,"tr",46),2&e){const t=n.$implicit,o=m(2).$implicit,i=m(3);C(!o.collapsed&&t.visible(i.settings)?0:-1)}}function C8(e,n){if(1&e&&(O(0,"tr",45),Qe(1,y8,1,1,null,null,Ye)),2&e){const t=m().$implicit,o=m(3);A("element",t)("collapsed",t.collapsed)("lineCoverageAvailable",o.settings.showLineCoverage)("branchCoverageAvailable",o.branchCoverageAvailable&&o.settings.showBranchCoverage)("methodCoverageAvailable",o.methodCoverageAvailable&&o.settings.showMethodCoverage)("methodFullCoverageAvailable",o.methodCoverageAvailable&&o.settings.showFullMethodCoverage)("visibleMetrics",o.settings.visibleMetrics),f(),Ke(t.classes)}}function b8(e,n){if(1&e&&y(0,C8,3,7),2&e){const t=n.$implicit,o=m().$implicit,i=m(2);C(!o.collapsed&&t.visible(i.settings)?0:-1)}}function D8(e,n){if(1&e&&(y(0,p8,1,7,"tr",43),Qe(1,_8,1,1,null,null,Ye),Qe(3,b8,1,1,null,null,Ye)),2&e){const t=n.$implicit,o=m(2);C(t.visible(o.settings)?0:-1),f(),Ke(t.classes),f(2),Ke(t.subElements)}}function w8(e,n){if(1&e){const t=ue();v(0,"div"),y(1,d$,1,10,"popup",0),v(2,"div",1)(3,"div")(4,"a",2),U("click",function(i){return B(t),j(m().collapseAll(i))}),D(5),_(),D(6," | "),v(7,"a",2),U("click",function(i){return B(t),j(m().expandAll(i))}),D(8),_()(),v(9,"div",3)(10,"span",4),y(11,f$,1,1),y(12,h$,1,1),y(13,g$,1,1),_(),O(14,"br"),D(15),v(16,"input",5),Ge("ngModelChange",function(i){B(t);const r=m();return ye(r.settings.grouping,i)||(r.settings.grouping=i),j(i)}),U("ngModelChange",function(){return B(t),j(m().updateCoverageInfo())}),_()(),v(17,"div",3),y(18,E$,9,5),_(),v(19,"div",6)(20,"button",7),U("click",function(){return B(t),j(m().popupVisible=!0)}),O(21,"i",8),D(22),_()()(),v(23,"div",9)(24,"table",10)(25,"colgroup"),O(26,"col",11),y(27,M$,1,0,"col",12),y(28,I$,1,0,"col",13),y(29,T$,1,0,"col",14),y(30,S$,1,0,"col",15),y(31,A$,1,0,"col",16),y(32,N$,1,0,"col",17),y(33,O$,1,0,"col",12),y(34,x$,1,0,"col",15),y(35,R$,1,0,"col",16),y(36,k$,1,0,"col",17),y(37,F$,1,0,"col",12),y(38,L$,1,0,"col",15),y(39,P$,1,0,"col",16),y(40,V$,1,0,"col",17),y(41,H$,1,0,"col",12),y(42,B$,1,0,"col",15),y(43,j$,1,0,"col",16),y(44,U$,1,0,"col",17),Qe(45,$$,1,0,"col",17,Ye),_(),v(47,"thead")(48,"tr",18),O(49,"th"),y(50,z$,2,1,"th",19),y(51,G$,2,1,"th",20),y(52,W$,2,1,"th",20),y(53,q$,2,1,"th",20),y(54,Z$,2,2,"th",21),_(),v(55,"tr",22)(56,"td")(57,"input",23),Ge("ngModelChange",function(i){B(t);const r=m();return ye(r.settings.filter,i)||(r.settings.filter=i),j(i)}),_()(),y(58,Y$,2,3,"td",19),y(59,Q$,2,3,"td",20),y(60,K$,2,3,"td",20),y(61,J$,2,3,"td",20),y(62,X$,1,1,"td",21),_(),v(63,"tr")(64,"th")(65,"a",2),U("click",function(i){return B(t),j(m().updateSorting("name",i))}),O(66,"i",24),D(67),_()(),y(68,e8,4,6,"th",25),y(69,t8,4,6,"th",25),y(70,n8,4,6,"th",25),y(71,o8,4,6,"th",25),y(72,i8,4,6,"th",26),y(73,r8,4,6,"th",25),y(74,s8,4,6,"th",25),y(75,a8,4,6,"th",26),y(76,l8,4,6,"th",25),y(77,c8,4,6,"th",25),y(78,u8,4,6,"th",26),y(79,d8,4,6,"th",25),y(80,f8,4,6,"th",25),y(81,h8,4,6,"th",26),Qe(82,g8,6,8,"th",null,Ye),_()(),v(84,"tbody"),Qe(85,D8,5,1,null,null,Ye),_()()()()}if(2&e){const t=m();f(),C(t.popupVisible?1:-1),f(4),k(t.translations.collapseAll),f(3),k(t.translations.expandAll),f(3),C(-1===t.settings.grouping?11:-1),f(),C(0===t.settings.grouping?12:-1),f(),C(t.settings.grouping>0?13:-1),f(2),P(" ",t.translations.grouping," "),f(),A("max",t.settings.groupingMaximum),je("ngModel",t.settings.grouping),f(2),C(t.historicCoverageExecutionTimes.length>0?18:-1),f(4),k(t.metrics.length>0?t.translations.selectCoverageTypesAndMetrics:t.translations.selectCoverageTypes),f(5),C(t.settings.showLineCoverage?27:-1),f(),C(t.settings.showLineCoverage?28:-1),f(),C(t.settings.showLineCoverage?29:-1),f(),C(t.settings.showLineCoverage?30:-1),f(),C(t.settings.showLineCoverage?31:-1),f(),C(t.settings.showLineCoverage?32:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?33:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?34:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?35:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?36:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?37:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?38:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?39:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?40:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?41:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?42:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?43:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?44:-1),f(),Ke(t.settings.visibleMetrics),f(5),C(t.settings.showLineCoverage?50:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?51:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?52:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?53:-1),f(),C(t.settings.visibleMetrics.length>0?54:-1),f(3),A("placeholder",xn(t.translations.filter)),je("ngModel",t.settings.filter),f(),C(t.settings.showLineCoverage?58:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?59:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?60:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?61:-1),f(),C(t.settings.visibleMetrics.length>0?62:-1),f(4),A("ngClass",Ne(58,it,"name"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"name"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"name"!==t.settings.sortBy)),f(),k(t.translations.name),f(),C(t.settings.showLineCoverage?68:-1),f(),C(t.settings.showLineCoverage?69:-1),f(),C(t.settings.showLineCoverage?70:-1),f(),C(t.settings.showLineCoverage?71:-1),f(),C(t.settings.showLineCoverage?72:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?73:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?74:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?75:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?76:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?77:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?78:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?79:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?80:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?81:-1),f(),Ke(t.settings.visibleMetrics),f(3),Ke(t.codeElements)}}let E8=(()=>{var e;class n{constructor(o){this.queryString="",this.historicCoverageExecutionTimes=[],this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.metrics=[],this.codeElements=[],this.translations={},this.popupVisible=!1,this.settings=new MU,this.sliderOptions={floor:0,ceil:100,step:1,ticksArray:[0,10,20,30,40,50,60,70,80,90,100],showTicks:!0},this.window=o.nativeWindow}ngOnInit(){this.historicCoverageExecutionTimes=this.window.historicCoverageExecutionTimes,this.branchCoverageAvailable=this.window.branchCoverageAvailable,this.methodCoverageAvailable=this.window.methodCoverageAvailable,this.metrics=this.window.metrics,this.translations=this.window.translations,Rt.maximumDecimalPlacesForCoverageQuotas=this.window.maximumDecimalPlacesForCoverageQuotas;let o=!1;if(void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.coverageInfoSettings)console.log("Coverage info: Restoring from history",this.window.history.state.coverageInfoSettings),o=!0,this.settings=JSON.parse(JSON.stringify(this.window.history.state.coverageInfoSettings));else{let r=0,s=this.window.assemblies;for(let a=0;a-1&&(this.queryString=window.location.href.substring(i)),this.updateCoverageInfo(),o&&this.restoreCollapseState()}onBeforeUnload(){if(this.saveCollapseState(),void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Coverage info: Updating history",this.settings);let o=new sI;null!==window.history.state&&(o=JSON.parse(JSON.stringify(this.window.history.state))),o.coverageInfoSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(o,"")}}updateCoverageInfo(){let o=(new Date).getTime(),i=this.window.assemblies,r=[],s=0;if(0===this.settings.grouping)for(let c=0;c{for(let r=0;r{for(let s=0;so&&(r[s].collapsed=this.settings.collapseStates[o]),o++,i(r[s].subElements)};i(this.codeElements)}static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)(x(Fg))},this.\u0275cmp=qt({type:n,selectors:[["coverage-info"]],hostBindings:function(i,r){1&i&&U("beforeunload",function(){return r.onBeforeUnload()},Va)},standalone:!1,decls:1,vars:1,consts:[[3,"visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","showMethodFullCoverage","visibleMetrics"],[1,"customizebox"],["href","#",3,"click"],[1,"col-center"],[1,"slider-label"],["type","range","step","1","min","-1",3,"ngModelChange","max","ngModel"],[1,"col-right","right"],["type","button",3,"click"],[1,"icon-cog"],[1,"table-responsive"],[1,"overview","table-fixed","stripped"],[1,"column-min-200"],[1,"column90"],[1,"column105"],[1,"column100"],[1,"column70"],[1,"column98"],[1,"column112"],[1,"header"],["colspan","6",1,"center"],["colspan","4",1,"center"],[1,"center"],[1,"filterbar"],["type","search",3,"ngModelChange","ngModel","placeholder"],[3,"ngClass"],[1,"right"],["colspan","2",1,"center"],[3,"visibleChange","showLineCoverageChange","showBranchCoverageChange","showMethodCoverageChange","showMethodFullCoverageChange","visibleMetricsChange","visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","showMethodFullCoverage","visibleMetrics"],[3,"ngModelChange","ngModel"],["value",""],[3,"value"],["value","allChanges"],["value","lineCoverageIncreaseOnly"],["value","lineCoverageDecreaseOnly"],["value","branchCoverageIncreaseOnly"],["value","branchCoverageDecreaseOnly"],["value","methodCoverageIncreaseOnly"],["value","methodCoverageDecreaseOnly"],["value","fullMethodCoverageIncreaseOnly"],["value","fullMethodCoverageDecreaseOnly"],[3,"valueChange","highValueChange","value","highValue","options"],["target","_blank",3,"href"],[1,"icon-info-circled"],["codeelement-row","",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics"],["class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics","historyComparisionDate"],["codeelement-row","",1,"namespace",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics"],["class-row","",1,"namespace",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics","historyComparisionDate"]],template:function(i,r){1&i&&y(0,w8,87,62,"div"),2&i&&C(r.codeElements.length>0?0:-1)},dependencies:[Xi,Sg,Ng,As,Tg,Ls,hc,ks,rI,LU,a3,u$],encapsulation:2}))}return e(),n})();class M8{constructor(){this.assembly="",this.numberOfRiskHotspots=10,this.filter="",this.sortBy="",this.sortOrder="asc"}}const xc=(e,n,t)=>({"icon-up-dir_active":e,"icon-down-dir_active":n,"icon-up-down-dir":t}),I8=(e,n)=>({lightred:e,lightgreen:n});function T8(e,n){if(1&e&&(v(0,"option",3),D(1),_()),2&e){const t=n.$implicit;A("value",t),f(),k(t)}}function S8(e,n){if(1&e&&(v(0,"span"),D(1),_()),2&e){const t=m(2);f(),k(t.translations.top)}}function A8(e,n){1&e&&(v(0,"option",16),D(1,"20"),_())}function N8(e,n){1&e&&(v(0,"option",17),D(1,"50"),_())}function O8(e,n){1&e&&(v(0,"option",18),D(1,"100"),_())}function x8(e,n){if(1&e&&(v(0,"option",3),D(1),_()),2&e){const t=m(3);A("value",t.totalNumberOfRiskHotspots),f(),k(t.translations.all)}}function R8(e,n){if(1&e){const t=ue();v(0,"select",14),Ge("ngModelChange",function(i){B(t);const r=m(2);return ye(r.settings.numberOfRiskHotspots,i)||(r.settings.numberOfRiskHotspots=i),j(i)}),v(1,"option",15),D(2,"10"),_(),y(3,A8,2,0,"option",16),y(4,N8,2,0,"option",17),y(5,O8,2,0,"option",18),y(6,x8,2,2,"option",3),_()}if(2&e){const t=m(2);je("ngModel",t.settings.numberOfRiskHotspots),f(3),C(t.totalNumberOfRiskHotspots>10?3:-1),f(),C(t.totalNumberOfRiskHotspots>20?4:-1),f(),C(t.totalNumberOfRiskHotspots>50?5:-1),f(),C(t.totalNumberOfRiskHotspots>100?6:-1)}}function k8(e,n){1&e&&O(0,"col",11)}function F8(e,n){if(1&e){const t=ue();v(0,"th")(1,"a",12),U("click",function(i){const r=B(t).$index;return j(m(2).updateSorting(""+r,i))}),O(2,"i",13),D(3),_(),v(4,"a",19),O(5,"i",20),_()()}if(2&e){const t=n.$implicit,o=n.$index,i=m(2);f(2),A("ngClass",Ne(4,xc,i.settings.sortBy===""+o&&"asc"===i.settings.sortOrder,i.settings.sortBy===""+o&&"desc"===i.settings.sortOrder,i.settings.sortBy!==""+o)),f(),k(t.name),f(),A("href",xn(t.explanationUrl),Wn)}}function L8(e,n){if(1&e&&(v(0,"td",23),D(1),_()),2&e){const t=n.$implicit;A("ngClass",yh(2,I8,t.exceeded,!t.exceeded)),f(),k(t.value)}}function P8(e,n){if(1&e&&(v(0,"tr")(1,"td"),D(2),_(),v(3,"td")(4,"a",21),D(5),_()(),v(6,"td",22)(7,"a",21),D(8),_()(),Qe(9,L8,2,5,"td",23,Ye),_()),2&e){const t=n.$implicit,o=m(2);f(2),k(t.assembly),f(2),A("href",t.reportPath+o.queryString,Wn),f(),k(t.class),f(),A("title",t.methodName),f(),A("href",t.reportPath+o.queryString+"#file"+t.fileIndex+"_line"+t.line,Wn),f(),P(" ",t.methodShortName," "),f(),Ke(t.metrics)}}function V8(e,n){if(1&e){const t=ue();v(0,"div")(1,"div",0)(2,"div")(3,"select",1),Ge("ngModelChange",function(i){B(t);const r=m();return ye(r.settings.assembly,i)||(r.settings.assembly=i),j(i)}),U("ngModelChange",function(){return B(t),j(m().updateRiskHotpots())}),v(4,"option",2),D(5),_(),Qe(6,T8,2,2,"option",3,Ye),_()(),v(8,"div",4),y(9,S8,2,1,"span"),y(10,R8,7,5,"select",5),_(),O(11,"div",4),v(12,"div",6)(13,"span"),D(14),_(),v(15,"input",7),Ge("ngModelChange",function(i){B(t);const r=m();return ye(r.settings.filter,i)||(r.settings.filter=i),j(i)}),U("ngModelChange",function(){return B(t),j(m().updateRiskHotpots())}),_()()(),v(16,"div",8)(17,"table",9)(18,"colgroup"),O(19,"col",10)(20,"col",10)(21,"col",10),Qe(22,k8,1,0,"col",11,Ye),_(),v(24,"thead")(25,"tr")(26,"th")(27,"a",12),U("click",function(i){return B(t),j(m().updateSorting("assembly",i))}),O(28,"i",13),D(29),_()(),v(30,"th")(31,"a",12),U("click",function(i){return B(t),j(m().updateSorting("class",i))}),O(32,"i",13),D(33),_()(),v(34,"th")(35,"a",12),U("click",function(i){return B(t),j(m().updateSorting("method",i))}),O(36,"i",13),D(37),_()(),Qe(38,F8,6,8,"th",null,Ye),_()(),v(40,"tbody"),Qe(41,P8,11,6,"tr",null,Ye),function kD(e,n){const t=K();let o;const i=e+H;t.firstCreatePass?(o=function qL(e,n){if(n)for(let t=n.length-1;t>=0;t--){const o=n[t];if(e===o.name)return o}}(n,t.pipeRegistry),t.data[i]=o,o.onDestroy&&(t.destroyHooks??=[]).push(i,o.onDestroy)):o=t.data[i];const r=o.factory||(o.factory=po(o.type)),a=pt(x);try{const l=_a(!1),c=r();return _a(l),function bu(e,n,t,o){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=o}(t,w(),i,c),c}finally{pt(a)}}(43,"slice"),_()()()()}if(2&e){const t=m();f(3),je("ngModel",t.settings.assembly),f(2),k(t.translations.assembly),f(),Ke(t.assemblies),f(3),C(t.totalNumberOfRiskHotspots>10?9:-1),f(),C(t.totalNumberOfRiskHotspots>10?10:-1),f(4),P("",t.translations.filter," "),f(),je("ngModel",t.settings.filter),f(7),Ke(t.riskHotspotMetrics),f(6),A("ngClass",Ne(16,xc,"assembly"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"assembly"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"assembly"!==t.settings.sortBy)),f(),k(t.translations.assembly),f(3),A("ngClass",Ne(20,xc,"class"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"class"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"class"!==t.settings.sortBy)),f(),k(t.translations.class),f(3),A("ngClass",Ne(24,xc,"method"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"method"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"method"!==t.settings.sortBy)),f(),k(t.translations.method),f(),Ke(t.riskHotspotMetrics),f(3),Ke(function FD(e,n,t,o,i){const r=e+H,s=w(),a=function bo(e,n){return e[n]}(s,r);return function bs(e,n){return e[1].data[n].pure}(s,r)?OD(s,lt(),n,a.transform,t,o,i,a):a.transform(t,o,i)}(43,12,t.riskHotspots,0,t.settings.numberOfRiskHotspots))}}let H8=(()=>{var e;class n{constructor(o){this.queryString="",this.riskHotspotMetrics=[],this.riskHotspots=[],this.totalNumberOfRiskHotspots=0,this.assemblies=[],this.translations={},this.settings=new M8,this.window=o.nativeWindow}ngOnInit(){this.riskHotspotMetrics=this.window.riskHotspotMetrics,this.translations=this.window.translations,void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.riskHotspotsSettings&&(console.log("Risk hotspots: Restoring from history",this.window.history.state.riskHotspotsSettings),this.settings=JSON.parse(JSON.stringify(this.window.history.state.riskHotspotsSettings)));const o=window.location.href.indexOf("?");o>-1&&(this.queryString=window.location.href.substring(o)),this.updateRiskHotpots()}onDonBeforeUnlodad(){if(void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Risk hotspots: Updating history",this.settings);let o=new sI;null!==window.history.state&&(o=JSON.parse(JSON.stringify(this.window.history.state))),o.riskHotspotsSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(o,"")}}updateRiskHotpots(){const o=this.window.riskHotspots;if(this.totalNumberOfRiskHotspots=o.length,0===this.assemblies.length){let a=[];for(let l=0;l(this.\u0275fac=function(i){return new(i||n)(x(Fg))},this.\u0275cmp=qt({type:n,selectors:[["risk-hotspots"]],hostBindings:function(i,r){1&i&&U("beforeunload",function(){return r.onDonBeforeUnlodad()},Va)},standalone:!1,decls:1,vars:1,consts:[[1,"customizebox"],["name","assembly",3,"ngModelChange","ngModel"],["value",""],[3,"value"],[1,"col-center"],[3,"ngModel"],[1,"col-right"],["type","search",3,"ngModelChange","ngModel"],[1,"table-responsive"],[1,"overview","table-fixed","stripped"],[1,"column-min-200"],[1,"column105"],["href","#",3,"click"],[3,"ngClass"],[3,"ngModelChange","ngModel"],["value","10"],["value","20"],["value","50"],["value","100"],["target","_blank",3,"href"],[1,"icon-info-circled"],[3,"href"],[3,"title"],[1,"right",3,"ngClass"]],template:function(i,r){1&i&&y(0,V8,44,28,"div"),2&i&&C(r.totalNumberOfRiskHotspots>0?0:-1)},dependencies:[Xi,Sg,Ng,As,Ls,hc,ks,uE],encapsulation:2}))}return e(),n})(),B8=(()=>{var e;class n{static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)},this.\u0275mod=Qn({type:n,bootstrap:[H8,E8]}),this.\u0275inj=dn({providers:[Fg],imports:[LH,Fj,EU]}))}return e(),n})();FH().bootstrapModule(B8).catch(e=>console.error(e))}},Zo=>{Zo(Zo.s=653)}]); /* ]]> */ \ No newline at end of file diff --git a/docs/resources/reports/HtmlInline/Sample_PartialClass.html b/docs/resources/reports/HtmlInline/Sample_PartialClass.html index 7e50f8e9..2ad21789 100644 --- a/docs/resources/reports/HtmlInline/Sample_PartialClass.html +++ b/docs/resources/reports/HtmlInline/Sample_PartialClass.html @@ -7,6 +7,7 @@ Sample.PartialClass - Coverage Report -Coverage history - - - - - - - - - - - - - - 0 - 25 - 50 - 75 - 100 - - - - - - - - - - - - - -
- -

Risk Hotspots

- - -

No risk hotspots found.

-

Coverage

- -
- --------------------- - - - - - - - - - - -
Line coverageBranch coverageMethod coverageFull method coverage
NameCoveredUncoveredCoverableTotalPercentageCoveredTotalPercentageCoveredTotalPercentageCoveredTotalPercentage
Sample753310826069.4%
  
4850%
  
162466.6%
  
92437.5%
  
Sample.PartialClass1210225354.5%
  
1250%
  
3650%
  
2633.3%
  
Test.Program1501584100%
 
00
 
33100%
 
33100%
 
Test.TestClass249333872.7%
  
2450%
  
4580%
  
1520%
  
Test.TestClass22414388563.1%
  
1250%
  
61060%
  
31030%
  
-
-
-
- - +.pro-button { color: #fff; background-color: #20A0D2; background-image: linear-gradient(50deg, #1c7ed6 0%, #23b8cf 100%); padding: 10px; border-radius: 3px; font-weight: bold; display: inline-block; } +.pro-button:hover { color: #fff; background-color: #1C8EB7; background-image: linear-gradient(50deg, #1A6FBA 0%, #1EA1B5 100%); } +.pro-button-tiny { border-radius: 10px; padding: 3px 8px; } -------=_NextPart_000_0000_01D23618.54EBCBE0 -Content-Type: text/html; - charset="utf-8" -Content-Transfer-Encoding: 8bit -Content-Location: file:///Sample_PartialClass.html +th { text-align: left; } +.table-fixed { table-layout: fixed; } +.table-responsive { overflow-x: auto; } +.table-responsive::-webkit-scrollbar { height: 20px; } +.table-responsive::-webkit-scrollbar-thumb { background-color: #6f6f6f; border-radius: 20px; border: 5px solid #fff; } +.overview { border: 1px solid #c1c1c1; border-collapse: collapse; width: 100%; word-wrap: break-word; } +.overview th { border: 1px solid #c1c1c1; border-collapse: collapse; padding: 2px 4px 2px 4px; background-color: #ddd; } +.overview tr.namespace th { background-color: #dcdcdc; } +.overview thead th { background-color: #d1d1d1; } +.overview th a { color: #000; } +.overview tr.namespace a { margin-left: 15px; display: block; } +.overview td { border: 1px solid #c1c1c1; border-collapse: collapse; padding: 2px 5px 2px 5px; } +.overview tr.filterbar td { height: 60px; } +.overview tr.header th { background-color: #d1d1d1; } +.overview tr.header th:nth-child(2n+1) { background-color: #ddd; } +.overview tr.header th:first-child { border-left: 1px solid #fff; border-top: 1px solid #fff; background-color: #fff; } +.overview tbody tr:hover>td { background-color: #b0b0b0; } - - - - - - - -Sample.PartialClass - Coverage Report - -
-

< Summary

-
-
-
Information
-
-
- - - - - - - - - - - - - -
Class:Sample.PartialClass
Assembly:Sample
File(s):File 1: C:\temp\PartialClass.cs
File 2: C:\temp\PartialClass2.cs
-
-
-
-
-
-
-
Line coverage
-
-
54%
-
- - - - - - - - - - - - - - - - - - - - - -
Covered lines:12
Uncovered lines:10
Coverable lines:22
Total lines:53
Line coverage:54.5%
-
-
-
-
-
Branch coverage
-
-
50%
-
- - - - - - - - - - - - - -
Covered branches:1
Total branches:2
Branch coverage:50%
-
-
-
-
-
Method coverage
-
-
50%
-
- - - - - - - - - - - - - - - - - - - - - -
Covered methods:3
Fully covered methods:2
Total methods:6
Method coverage:50%
Full method coverage:33.3%
-
-
-
-
-

Coverage history

-
- -Coverage history - - - - - - - - - - - - - - 0 - 25 - 50 - 75 - 100 - - - - - - - - - - - - - -
- -

Metrics

-
- -------- - - - - - - - -
MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
File 1: ExecutedMethod_1()100%110100%
File 1: UnExecutedMethod_1()0%2100%
File 2: ExecutedMethod_2()100%110100%
File 2: UnExecutedMethod_2()0%2100%
-
-

File(s)

-

C:\temp\PartialClass.cs

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#LineLine coverage
 1using System;
 2
 3namespace Test
 4{
 5    partial class PartialClass
 6    {
 7        public void ExecutedMethod_1()
 18        {
 19            Console.WriteLine("Test");
 110        }
 11
 12        public void UnExecutedMethod_1()
 013        {
 014            Console.WriteLine("Test");
 015        }
 16
 17        private int someProperty;
 18
 19        public int SomeProperty
 20        {
 021            get { return this.someProperty; }
 22
 23            set
 124            {
 125                if (value < 0)
 126                {
 127                    this.someProperty = 0;
 128                }
 29                else
 030                {
 031                    this.someProperty = value;
 032                }
 133            }
 34        }
 35    }
 36}
-
-

C:\temp\PartialClass2.cs

-
- - - - - - - - - - - - - - - - - - - - - -
#LineLine coverage
 1using System;
 2
 3namespace Test
 4{
 5    partial class PartialClass
 6    {
 7        public void ExecutedMethod_2()
 18        {
 19            Console.WriteLine("Test");
 110        }
 11
 12        public void UnExecutedMethod_2()
 013        {
 014            Console.WriteLine("Test");
 015        }
 16    }
 17}
-
-
-
- - +.historychart svg { max-width: 100%; } +.ct-chart { position: relative; } +.ct-chart .ct-line { stroke-width: 2px !important; } +.ct-chart .ct-point { stroke-width: 6px !important; transition: stroke-width .2s; } +.ct-chart .ct-point:hover { stroke-width: 10px !important; } +.ct-chart .ct-series.ct-series-a .ct-line, .ct-chart .ct-series.ct-series-a .ct-point { stroke: #c00 !important;} +.ct-chart .ct-series.ct-series-b .ct-line, .ct-chart .ct-series.ct-series-b .ct-point { stroke: #1c2298 !important;} +.ct-chart .ct-series.ct-series-c .ct-line, .ct-chart .ct-series.ct-series-c .ct-point { stroke: #0aad0a !important;} +.ct-chart .ct-series.ct-series-d .ct-line, .ct-chart .ct-series.ct-series-d .ct-point { stroke: #FF6A00 !important;} -------=_NextPart_000_0000_01D23618.54EBCBE0 -Content-Type: text/html; - charset="utf-8" -Content-Transfer-Encoding: 8bit -Content-Location: file:///Sample_Program.html +.tinylinecoveragechart, .tinybranchcoveragechart, .tinymethodcoveragechart, .tinyfullmethodcoveragechart { background-color: #fff; margin-left: -3px; float: left; border: 1px solid #c1c1c1; width: 30px; height: 18px; } +.historiccoverageoffset { margin-top: 7px; } - - - - - - - -Test.Program - Coverage Report - -
-

< Summary

-
-
-
Information
-
-
- - - - - - - - - - - - - -
Class:Test.Program
Assembly:Sample
File(s):C:\temp\Program.cs
-
-
-
-
-
-
-
Line coverage
-
-
100%
-
- - - - - - - - - - - - - - - - - - - - - -
Covered lines:15
Uncovered lines:0
Coverable lines:15
Total lines:84
Line coverage:100%
-
-
-
-
-
Branch coverage
-
-
N/A
-
- - - - - - - - - - - - - -
Covered branches:0
Total branches:0
Branch coverage:N/A
-
-
-
-
-
Method coverage
-
-
100%
-
- - - - - - - - - - - - - - - - - - - - - -
Covered methods:3
Fully covered methods:3
Total methods:3
Method coverage:100%
Full method coverage:100%
-
-
-
-
-

Coverage history

-
- -Coverage history - - - - - - - - - - - - - - 0 - 25 - 50 - 75 - 100 - - - - - - - - - - -
- -

Metrics

-
- -------- - - - - - - -
MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
CallAsyncMethod()100%330100%
.ctor(...)100%110100%
SendAsync(...)100%110100%
-
-

File(s)

-

C:\temp\Program.cs

-
- - - - - - - - - - - - - - - - - - +.covered0 { width: 0px; } +.covered1 { width: 1px; } +.covered2 { width: 2px; } +.covered3 { width: 3px; } +.covered4 { width: 4px; } +.covered5 { width: 5px; } +.covered6 { width: 6px; } +.covered7 { width: 7px; } +.covered8 { width: 8px; } +.covered9 { width: 9px; } +.covered10 { width: 10px; } +.covered11 { width: 11px; } +.covered12 { width: 12px; } +.covered13 { width: 13px; } +.covered14 { width: 14px; } +.covered15 { width: 15px; } +.covered16 { width: 16px; } +.covered17 { width: 17px; } +.covered18 { width: 18px; } +.covered19 { width: 19px; } +.covered20 { width: 20px; } +.covered21 { width: 21px; } +.covered22 { width: 22px; } +.covered23 { width: 23px; } +.covered24 { width: 24px; } +.covered25 { width: 25px; } +.covered26 { width: 26px; } +.covered27 { width: 27px; } +.covered28 { width: 28px; } +.covered29 { width: 29px; } +.covered30 { width: 30px; } +.covered31 { width: 31px; } +.covered32 { width: 32px; } +.covered33 { width: 33px; } +.covered34 { width: 34px; } +.covered35 { width: 35px; } +.covered36 { width: 36px; } +.covered37 { width: 37px; } +.covered38 { width: 38px; } +.covered39 { width: 39px; } +.covered40 { width: 40px; } +.covered41 { width: 41px; } +.covered42 { width: 42px; } +.covered43 { width: 43px; } +.covered44 { width: 44px; } +.covered45 { width: 45px; } +.covered46 { width: 46px; } +.covered47 { width: 47px; } +.covered48 { width: 48px; } +.covered49 { width: 49px; } +.covered50 { width: 50px; } +.covered51 { width: 51px; } +.covered52 { width: 52px; } +.covered53 { width: 53px; } +.covered54 { width: 54px; } +.covered55 { width: 55px; } +.covered56 { width: 56px; } +.covered57 { width: 57px; } +.covered58 { width: 58px; } +.covered59 { width: 59px; } +.covered60 { width: 60px; } +.covered61 { width: 61px; } +.covered62 { width: 62px; } +.covered63 { width: 63px; } +.covered64 { width: 64px; } +.covered65 { width: 65px; } +.covered66 { width: 66px; } +.covered67 { width: 67px; } +.covered68 { width: 68px; } +.covered69 { width: 69px; } +.covered70 { width: 70px; } +.covered71 { width: 71px; } +.covered72 { width: 72px; } +.covered73 { width: 73px; } +.covered74 { width: 74px; } +.covered75 { width: 75px; } +.covered76 { width: 76px; } +.covered77 { width: 77px; } +.covered78 { width: 78px; } +.covered79 { width: 79px; } +.covered80 { width: 80px; } +.covered81 { width: 81px; } +.covered82 { width: 82px; } +.covered83 { width: 83px; } +.covered84 { width: 84px; } +.covered85 { width: 85px; } +.covered86 { width: 86px; } +.covered87 { width: 87px; } +.covered88 { width: 88px; } +.covered89 { width: 89px; } +.covered90 { width: 90px; } +.covered91 { width: 91px; } +.covered92 { width: 92px; } +.covered93 { width: 93px; } +.covered94 { width: 94px; } +.covered95 { width: 95px; } +.covered96 { width: 96px; } +.covered97 { width: 97px; } +.covered98 { width: 98px; } +.covered99 { width: 99px; } +.covered100 { width: 100px; } + + @media print { + html, body { background-color: #fff; } + .container { max-width: 100%; width: 100%; padding: 0; } + .overview colgroup col:first-child { width: 300px; } +} + +.icon-up-down-dir { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im0gMTQwOCw3NDIgcSAwLDI2IC0xOSw0NSAtMTksMTkgLTQ1LDE5IEggNDQ4IHEgLTI2LDAgLTQ1LC0xOSAtMTksLTE5IC0xOSwtNDUgMCwtMjYgMTksLTQ1IEwgODUxLDI0OSBxIDE5LC0xOSA0NSwtMTkgMjYsMCA0NSwxOSBsIDQ0OCw0NDggcSAxOSwxOSAxOSw0NSB6IiAvPjxwYXRoIGQ9Im0gMTQwOCwxMDUwIHEgMCwyNiAtMTksNDUgbCAtNDQ4LDQ0OCBxIC0xOSwxOSAtNDUsMTkgLTI2LDAgLTQ1LC0xOSBMIDQwMywxMDk1IHEgLTE5LC0xOSAtMTksLTQ1IDAsLTI2IDE5LC00NSAxOSwtMTkgNDUsLTE5IGggODk2IHEgMjYsMCA0NSwxOSAxOSwxOSAxOSw0NSB6IiAvPjwvc3ZnPg==); + background-repeat: no-repeat; + background-size: contain; + padding-left: 15px; + height: 0.9em; + display: inline-block; + position: relative; + top: 3px; +} +.icon-up-dir_active { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNjMDAiIGQ9Ik0xNDA4IDEyMTZxMCAyNi0xOSA0NXQtNDUgMTloLTg5NnEtMjYgMC00NS0xOXQtMTktNDUgMTktNDVsNDQ4LTQ0OHExOS0xOSA0NS0xOXQ0NSAxOWw0NDggNDQ4cTE5IDE5IDE5IDQ1eiIvPjwvc3ZnPg==); + background-repeat: no-repeat; + background-size: contain; + padding-left: 15px; + height: 0.9em; + display: inline-block; + position: relative; + top: 3px; +} +.icon-down-dir_active { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNjMDAiIGQ9Ik0xNDA4IDcwNHEwIDI2LTE5IDQ1bC00NDggNDQ4cS0xOSAxOS00NSAxOXQtNDUtMTlsLTQ0OC00NDhxLTE5LTE5LTE5LTQ1dDE5LTQ1IDQ1LTE5aDg5NnEyNiAwIDQ1IDE5dDE5IDQ1eiIvPjwvc3ZnPg==); + background-repeat: no-repeat; + background-size: contain; + padding-left: 15px; + height: 0.9em; + display: inline-block; + position: relative; + top: 3px; +} +.icon-info-circled { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxjaXJjbGUgY3g9Ijg5NiIgY3k9Ijg5NiIgcj0iNzUwIiBmaWxsPSIjZmZmIiAvPjxwYXRoIGZpbGw9IiMyOEE1RkYiIGQ9Ik0xMTUyIDEzNzZ2LTE2MHEwLTE0LTktMjN0LTIzLTloLTk2di01MTJxMC0xNC05LTIzdC0yMy05aC0zMjBxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloOTZ2MzIwaC05NnEtMTQgMC0yMyA5dC05IDIzdjE2MHEwIDE0IDkgMjN0MjMgOWg0NDhxMTQgMCAyMy05dDktMjN6bS0xMjgtODk2di0xNjBxMC0xNC05LTIzdC0yMy05aC0xOTJxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMtOXQ5LTIzem02NDAgNDE2cTAgMjA5LTEwMyAzODUuNXQtMjc5LjUgMjc5LjUtMzg1LjUgMTAzLTM4NS41LTEwMy0yNzkuNS0yNzkuNS0xMDMtMzg1LjUgMTAzLTM4NS41IDI3OS41LTI3OS41IDM4NS41LTEwMyAzODUuNSAxMDMgMjc5LjUgMjc5LjUgMTAzIDM4NS41eiIvPjwvc3ZnPg==); + background-repeat: no-repeat; + background-size: contain; + padding-left: 15px; + height: 0.9em; + display: inline-block; +} +.icon-plus { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNjAwIDczNnYxOTJxMCA0MC0yOCA2OHQtNjggMjhoLTQxNnY0MTZxMCA0MC0yOCA2OHQtNjggMjhoLTE5MnEtNDAgMC02OC0yOHQtMjgtNjh2LTQxNmgtNDE2cS00MCAwLTY4LTI4dC0yOC02OHYtMTkycTAtNDAgMjgtNjh0NjgtMjhoNDE2di00MTZxMC00MCAyOC02OHQ2OC0yOGgxOTJxNDAgMCA2OCAyOHQyOCA2OHY0MTZoNDE2cTQwIDAgNjggMjh0MjggNjh6Ii8+PC9zdmc+); + background-repeat: no-repeat; + background-size: contain; + padding-left: 15px; + height: 0.9em; + display: inline-block; + position: relative; + top: 3px; +} +.icon-minus { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNjMDAiIGQ9Ik0xNjAwIDczNnYxOTJxMCA0MC0yOCA2OHQtNjggMjhoLTEyMTZxLTQwIDAtNjgtMjh0LTI4LTY4di0xOTJxMC00MCAyOC02OHQ2OC0yOGgxMjE2cTQwIDAgNjggMjh0MjggNjh6Ii8+PC9zdmc+); + background-repeat: no-repeat; + background-size: contain; + padding-left: 15px; + height: 0.9em; + display: inline-block; + position: relative; + top: 3px; +} +.icon-wrench { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik00NDggMTQ3MnEwLTI2LTE5LTQ1dC00NS0xOS00NSAxOS0xOSA0NSAxOSA0NSA0NSAxOSA0NS0xOSAxOS00NXptNjQ0LTQyMGwtNjgyIDY4MnEtMzcgMzctOTAgMzctNTIgMC05MS0zN2wtMTA2LTEwOHEtMzgtMzYtMzgtOTAgMC01MyAzOC05MWw2ODEtNjgxcTM5IDk4IDExNC41IDE3My41dDE3My41IDExNC41em02MzQtNDM1cTAgMzktMjMgMTA2LTQ3IDEzNC0xNjQuNSAyMTcuNXQtMjU4LjUgODMuNXEtMTg1IDAtMzE2LjUtMTMxLjV0LTEzMS41LTMxNi41IDEzMS41LTMxNi41IDMxNi41LTEzMS41cTU4IDAgMTIxLjUgMTYuNXQxMDcuNSA0Ni41cTE2IDExIDE2IDI4dC0xNiAyOGwtMjkzIDE2OXYyMjRsMTkzIDEwN3E1LTMgNzktNDguNXQxMzUuNS04MSA3MC41LTM1LjVxMTUgMCAyMy41IDEwdDguNSAyNXoiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} +.icon-cog { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNDQ0Ljc4OCAyOTEuMWw0Mi42MTYgMjQuNTk5YzQuODY3IDIuODA5IDcuMTI2IDguNjE4IDUuNDU5IDEzLjk4NS0xMS4wNyAzNS42NDItMjkuOTcgNjcuODQyLTU0LjY4OSA5NC41ODZhMTIuMDE2IDEyLjAxNiAwIDAgMS0xNC44MzIgMi4yNTRsLTQyLjU4NC0yNC41OTVhMTkxLjU3NyAxOTEuNTc3IDAgMCAxLTYwLjc1OSAzNS4xM3Y0OS4xODJhMTIuMDEgMTIuMDEgMCAwIDEtOS4zNzcgMTEuNzE4Yy0zNC45NTYgNy44NS03Mi40OTkgOC4yNTYtMTA5LjIxOS4wMDctNS40OS0xLjIzMy05LjQwMy02LjA5Ni05LjQwMy0xMS43MjN2LTQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEtNjAuNzU5LTM1LjEzbC00Mi41ODQgMjQuNTk1YTEyLjAxNiAxMi4wMTYgMCAwIDEtMTQuODMyLTIuMjU0Yy0yNC43MTgtMjYuNzQ0LTQzLjYxOS01OC45NDQtNTQuNjg5LTk0LjU4Ni0xLjY2Ny01LjM2Ni41OTItMTEuMTc1IDUuNDU5LTEzLjk4NUw2Ny4yMTIgMjkxLjFhMTkzLjQ4IDE5My40OCAwIDAgMSAwLTcwLjE5OWwtNDIuNjE2LTI0LjU5OWMtNC44NjctMi44MDktNy4xMjYtOC42MTgtNS40NTktMTMuOTg1IDExLjA3LTM1LjY0MiAyOS45Ny02Ny44NDIgNTQuNjg5LTk0LjU4NmExMi4wMTYgMTIuMDE2IDAgMCAxIDE0LjgzMi0yLjI1NGw0Mi41ODQgMjQuNTk1YTE5MS41NzcgMTkxLjU3NyAwIDAgMSA2MC43NTktMzUuMTNWMjUuNzU5YTEyLjAxIDEyLjAxIDAgMCAxIDkuMzc3LTExLjcxOGMzNC45NTYtNy44NSA3Mi40OTktOC4yNTYgMTA5LjIxOS0uMDA3IDUuNDkgMS4yMzMgOS40MDMgNi4wOTYgOS40MDMgMTEuNzIzdjQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEgNjAuNzU5IDM1LjEzbDQyLjU4NC0yNC41OTVhMTIuMDE2IDEyLjAxNiAwIDAgMSAxNC44MzIgMi4yNTRjMjQuNzE4IDI2Ljc0NCA0My42MTkgNTguOTQ0IDU0LjY4OSA5NC41ODYgMS42NjcgNS4zNjYtLjU5MiAxMS4xNzUtNS40NTkgMTMuOTg1TDQ0NC43ODggMjIwLjlhMTkzLjQ4NSAxOTMuNDg1IDAgMCAxIDAgNzAuMnpNMzM2IDI1NmMwLTQ0LjExMi0zNS44ODgtODAtODAtODBzLTgwIDM1Ljg4OC04MCA4MCAzNS44ODggODAgODAgODAgODAtMzUuODg4IDgwLTgweiIvPjwvc3ZnPg==); + background-repeat: no-repeat; + background-size: contain; + padding-left: 16px; + height: 0.8em; + display: inline-block; +} +.icon-fork { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHN0eWxlPSJmaWxsOiNmZmYiIC8+PHBhdGggZD0iTTY3MiAxNDcycTAtNDAtMjgtNjh0LTY4LTI4LTY4IDI4LTI4IDY4IDI4IDY4IDY4IDI4IDY4LTI4IDI4LTY4em0wLTExNTJxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTY0MCAxMjhxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTk2IDBxMCA1Mi0yNiA5Ni41dC03MCA2OS41cS0yIDI4Ny0yMjYgNDE0LTY3IDM4LTIwMyA4MS0xMjggNDAtMTY5LjUgNzF0LTQxLjUgMTAwdjI2cTQ0IDI1IDcwIDY5LjV0MjYgOTYuNXEwIDgwLTU2IDEzNnQtMTM2IDU2LTEzNi01Ni01Ni0xMzZxMC01MiAyNi05Ni41dDcwLTY5LjV2LTgyMHEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnEwIDUyLTI2IDk2LjV0LTcwIDY5LjV2NDk3cTU0LTI2IDE1NC01NyA1NS0xNyA4Ny41LTI5LjV0NzAuNS0zMSA1OS0zOS41IDQwLjUtNTEgMjgtNjkuNSA4LjUtOTEuNXEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnoiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} +.icon-cube { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik04OTYgMTYyOWw2NDAtMzQ5di02MzZsLTY0MCAyMzN2NzUyem0tNjQtODY1bDY5OC0yNTQtNjk4LTI1NC02OTggMjU0em04MzItMjUydjc2OHEwIDM1LTE4IDY1dC00OSA0N2wtNzA0IDM4NHEtMjggMTYtNjEgMTZ0LTYxLTE2bC03MDQtMzg0cS0zMS0xNy00OS00N3QtMTgtNjV2LTc2OHEwLTQwIDIzLTczdDYxLTQ3bDcwNC0yNTZxMjItOCA0NC04dDQ0IDhsNzA0IDI1NnEzOCAxNCA2MSA0N3QyMyA3M3oiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} +.icon-search-plus { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiM2ZjZmNmYiIGQ9Ik0xMDg4IDgwMHY2NHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtMjI0djIyNHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtNjRxLTEzIDAtMjIuNS05LjV0LTkuNS0yMi41di0yMjRoLTIyNHEtMTMgMC0yMi41LTkuNXQtOS41LTIyLjV2LTY0cTAtMTMgOS41LTIyLjV0MjIuNS05LjVoMjI0di0yMjRxMC0xMyA5LjUtMjIuNXQyMi41LTkuNWg2NHExMyAwIDIyLjUgOS41dDkuNSAyMi41djIyNGgyMjRxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXptMTI4IDMycTAtMTg1LTEzMS41LTMxNi41dC0zMTYuNS0xMzEuNS0zMTYuNSAxMzEuNS0xMzEuNSAzMTYuNSAxMzEuNSAzMTYuNSAzMTYuNSAxMzEuNSAzMTYuNS0xMzEuNSAxMzEuNS0zMTYuNXptNTEyIDgzMnEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41cS01NCAwLTkwLTM4bC0zNDMtMzQycS0xNzkgMTI0LTM5OSAxMjQtMTQzIDAtMjczLjUtNTUuNXQtMjI1LTE1MC0xNTAtMjI1LTU1LjUtMjczLjUgNTUuNS0yNzMuNSAxNTAtMjI1IDIyNS0xNTAgMjczLjUtNTUuNSAyNzMuNSA1NS41IDIyNSAxNTAgMTUwIDIyNSA1NS41IDI3My41cTAgMjIwLTEyNCAzOTlsMzQzIDM0M3EzNyAzNyAzNyA5MHoiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} +.icon-search-minus { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiM2ZjZmNmYiIGQ9Ik0xMDg4IDgwMHY2NHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtNTc2cS0xMyAwLTIyLjUtOS41dC05LjUtMjIuNXYtNjRxMC0xMyA5LjUtMjIuNXQyMi41LTkuNWg1NzZxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXptMTI4IDMycTAtMTg1LTEzMS41LTMxNi41dC0zMTYuNS0xMzEuNS0zMTYuNSAxMzEuNS0xMzEuNSAzMTYuNSAxMzEuNSAzMTYuNSAzMTYuNSAxMzEuNSAzMTYuNS0xMzEuNSAxMzEuNS0zMTYuNXptNTEyIDgzMnEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41cS01NCAwLTkwLTM4bC0zNDMtMzQycS0xNzkgMTI0LTM5OSAxMjQtMTQzIDAtMjczLjUtNTUuNXQtMjI1LTE1MC0xNTAtMjI1LTU1LjUtMjczLjUgNTUuNS0yNzMuNSAxNTAtMjI1IDIyNS0xNTAgMjczLjUtNTUuNSAyNzMuNSA1NS41IDIyNSAxNTAgMTUwIDIyNSA1NS41IDI3My41cTAgMjIwLTEyNCAzOTlsMzQzIDM0M3EzNyAzNyAzNyA5MHoiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} +.icon-star { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNzI4IDY0N3EwIDIyLTI2IDQ4bC0zNjMgMzU0IDg2IDUwMHExIDcgMSAyMCAwIDIxLTEwLjUgMzUuNXQtMzAuNSAxNC41cS0xOSAwLTQwLTEybC00NDktMjM2LTQ0OSAyMzZxLTIyIDEyLTQwIDEyLTIxIDAtMzEuNS0xNC41dC0xMC41LTM1LjVxMC02IDItMjBsODYtNTAwLTM2NC0zNTRxLTI1LTI3LTI1LTQ4IDAtMzcgNTYtNDZsNTAyLTczIDIyNS00NTVxMTktNDEgNDktNDF0NDkgNDFsMjI1IDQ1NSA1MDIgNzNxNTYgOSA1NiA0NnoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} +.icon-sponsor { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik04OTYgMTY2NHEtMjYgMC00NC0xOGwtNjI0LTYwMnEtMTAtOC0yNy41LTI2dC01NS41LTY1LjUtNjgtOTcuNS01My41LTEyMS0yMy41LTEzOHEwLTIyMCAxMjctMzQ0dDM1MS0xMjRxNjIgMCAxMjYuNSAyMS41dDEyMCA1OCA5NS41IDY4LjUgNzYgNjhxMzYtMzYgNzYtNjh0OTUuNS02OC41IDEyMC01OCAxMjYuNS0yMS41cTIyNCAwIDM1MSAxMjR0MTI3IDM0NHEwIDIyMS0yMjkgNDUwbC02MjMgNjAwcS0xOCAxOC00NCAxOHoiIGZpbGw9IiNlYTRhYWEiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} + +.ngx-slider .ngx-slider-bar { + background: #a9a9a9 !important; +} + +.ngx-slider .ngx-slider-selection { + background: #818181 !important; +} + +.ngx-slider .ngx-slider-bubble { + padding: 3px 4px !important; + font-size: 12px !important; +} + +.ngx-slider .ngx-slider-pointer { + width: 20px !important; + height: 20px !important; + top: -8px !important; + background-color: #0075FF !important; + -webkit-border-radius: 10px !important; + -moz-border-radius: 10px !important; + border-radius: 10px !important; +} + + .ngx-slider .ngx-slider-pointer:after { + content: none !important; + } + +.ngx-slider .ngx-slider-tick.ngx-slider-selected { + background-color: #62a5f4 !important; + width: 8px !important; + height: 8px !important; + top: 1px !important; +} + + + + +:root { + color-scheme: light dark; +} + +@media (prefers-color-scheme: dark) { + @media screen { + html { + background-color: #333; + color: #fff; + } + + body { + color: #fff; + } + + h1 { + background-color: #555453; + color: #fff; + } + + .container { + background-color: #333; + box-shadow: 0 0 60px #0c0c0c; + } + + .containerrightfixed { + background-color: #3D3C3C; + border-left: 1px solid #515050; + } + + .containerrightfixed h1 { + background-color: #484747; + } + + .popup-container { + background-color: rgb(80, 80, 80, 0.6); + } + + .popup { + background-color: #333; + } + + .card-group .card { + background-color: #333; + background: radial-gradient(circle, #444 0%, #333 100%); + border: 1px solid #545454; + color: #fff; + } + + .card-group .card table tr { + border-bottom: 1px solid #545454; + } + + .card-group .card table tr:hover { + background-color: #2E2D2C; + } + + .table-responsive::-webkit-scrollbar-thumb { + background-color: #555453; + border: 5px solid #333; + } + + .overview tr:hover > td { + background-color: #2E2D2C; + } + + .overview th { + background-color: #444; + border: 1px solid #3B3A39; + } + + .overview tr.namespace th { + background-color: #444; + } + + .overview thead th { + background-color: #444; + } + + .overview th a { + color: #fff; + color: rgba(255, 255, 255, 0.95); + } + + .overview th a:hover { + color: #0078d4; + } + + .overview td { + border: 1px solid #3B3A39; + } + + .overview .coverage td { + border: none; + } + + .overview tr.header th { + background-color: #444; + } + + .overview tr.header th:nth-child(2n+1) { + background-color: #3a3a3a; + } + + .overview tr.header th:first-child { + border-left: 1px solid #333; + border-top: 1px solid #333; + background-color: #333; + } + + .stripped tr:nth-child(2n+1) { + background-color: #3c3c3c; + } + + input, select, button { + background-color: #333; + color: #fff; + border: 1px solid #A19F9D; + } + + a { + color: #fff; + color: rgba(255, 255, 255, 0.95); + } + + a:hover { + color: #0078d4; + } + + h1 a.back { + background-color: #4a4846; + } + + h1 a.button { + color: #fff; + background-color: #565656; + border-color: #c1c1c1; + } + + h1 a.button:hover { + background-color: #8d8d8d; + } + + .gray { + background-color: #484747; + } + + .lightgray { + color: #ebebeb; + } + + .lightgraybg { + background-color: #474747; + } + + .lightgreen { + background-color: #406540; + } + + .lightorange { + background-color: #ab7f36; + } + + .lightred { + background-color: #954848; + } + + .ct-label { + color: #fff !important; + fill: #fff !important; + } + + .ct-grid { + stroke: #fff !important; + } + + .ct-chart .ct-series.ct-series-a .ct-line, .ct-chart .ct-series.ct-series-a .ct-point { + stroke: #0078D4 !important; + } + + .ct-chart .ct-series.ct-series-b .ct-line, .ct-chart .ct-series.ct-series-b .ct-point { + stroke: #6dc428 !important; + } + + .ct-chart .ct-series.ct-series-c .ct-line, .ct-chart .ct-series.ct-series-c .ct-point { + stroke: #e58f1d !important; + } + + .ct-chart .ct-series.ct-series-d .ct-line, .ct-chart .ct-series.ct-series-d .ct-point { + stroke: #c71bca !important; + } + + .linecoverage { + background-color: #0078D4; + } + + .branchcoverage { + background-color: #6dc428; + } + .codeelementcoverage { + background-color: #e58f1d; + } + + .fullcodeelementcoverage { + background-color: #c71bca; + } + + .tinylinecoveragechart, .tinybranchcoveragechart, .tinymethodcoveragechart, .tinyfullmethodcoveragechart { + background-color: #333; + } + + .tinybranchcoveragechart .ct-series.ct-series-a .ct-line { + stroke: #6dc428 !important; + } + + .tinymethodcoveragechart .ct-series.ct-series-a .ct-line { + stroke: #e58f1d !important; + } + + .tinyfullmethodcoveragechart .ct-series.ct-series-a .ct-line { + stroke: #c71bca !important; + } + + .icon-up-down-dir { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNCRkJGQzAiIGQ9Im0gMTQwOCw3NDIgcSAwLDI2IC0xOSw0NSAtMTksMTkgLTQ1LDE5IEggNDQ4IHEgLTI2LDAgLTQ1LC0xOSAtMTksLTE5IC0xOSwtNDUgMCwtMjYgMTksLTQ1IEwgODUxLDI0OSBxIDE5LC0xOSA0NSwtMTkgMjYsMCA0NSwxOSBsIDQ0OCw0NDggcSAxOSwxOSAxOSw0NSB6IiAvPjxwYXRoIGZpbGw9IiNCRkJGQzAiIGQ9Im0gMTQwOCwxMDUwIHEgMCwyNiAtMTksNDUgbCAtNDQ4LDQ0OCBxIC0xOSwxOSAtNDUsMTkgLTI2LDAgLTQ1LC0xOSBMIDQwMywxMDk1IHEgLTE5LC0xOSAtMTksLTQ1IDAsLTI2IDE5LC00NSAxOSwtMTkgNDUsLTE5IGggODk2IHEgMjYsMCA0NSwxOSAxOSwxOSAxOSw0NSB6IiAvPjwvc3ZnPg==); + } + .icon-info-circled { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxjaXJjbGUgY3g9Ijg5NiIgY3k9Ijg5NiIgcj0iNzUwIiBmaWxsPSIjZmZmIiAvPjxwYXRoIGZpbGw9IiMyOEE1RkYiIGQ9Ik0xMTUyIDEzNzZ2LTE2MHEwLTE0LTktMjN0LTIzLTloLTk2di01MTJxMC0xNC05LTIzdC0yMy05aC0zMjBxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloOTZ2MzIwaC05NnEtMTQgMC0yMyA5dC05IDIzdjE2MHEwIDE0IDkgMjN0MjMgOWg0NDhxMTQgMCAyMy05dDktMjN6bS0xMjgtODk2di0xNjBxMC0xNC05LTIzdC0yMy05aC0xOTJxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMtOXQ5LTIzem02NDAgNDE2cTAgMjA5LTEwMyAzODUuNXQtMjc5LjUgMjc5LjUtMzg1LjUgMTAzLTM4NS41LTEwMy0yNzkuNS0yNzkuNS0xMDMtMzg1LjUgMTAzLTM4NS41IDI3OS41LTI3OS41IDM4NS41LTEwMyAzODUuNSAxMDMgMjc5LjUgMjc5LjUgMTAzIDM4NS41eiIvPjwvc3ZnPg==); + } + + .icon-plus { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTE2MDAgNzM2djE5MnEwIDQwLTI4IDY4dC02OCAyOGgtNDE2djQxNnEwIDQwLTI4IDY4dC02OCAyOGgtMTkycS00MCAwLTY4LTI4dC0yOC02OHYtNDE2aC00MTZxLTQwIDAtNjgtMjh0LTI4LTY4di0xOTJxMC00MCAyOC02OHQ2OC0yOGg0MTZ2LTQxNnEwLTQwIDI4LTY4dDY4LTI4aDE5MnE0MCAwIDY4IDI4dDI4IDY4djQxNmg0MTZxNDAgMCA2OCAyOHQyOCA2OHoiLz48L3N2Zz4=); + } + + .icon-minus { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTE2MDAgNzM2djE5MnEwIDQwLTI4IDY4dC02OCAyOGgtMTIxNnEtNDAgMC02OC0yOHQtMjgtNjh2LTE5MnEwLTQwIDI4LTY4dDY4LTI4aDEyMTZxNDAgMCA2OCAyOHQyOCA2OHoiLz48L3N2Zz4=); + } + + .icon-wrench { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JEQkRCRiIgZD0iTTQ0OCAxNDcycTAtMjYtMTktNDV0LTQ1LTE5LTQ1IDE5LTE5IDQ1IDE5IDQ1IDQ1IDE5IDQ1LTE5IDE5LTQ1em02NDQtNDIwbC02ODIgNjgycS0zNyAzNy05MCAzNy01MiAwLTkxLTM3bC0xMDYtMTA4cS0zOC0zNi0zOC05MCAwLTUzIDM4LTkxbDY4MS02ODFxMzkgOTggMTE0LjUgMTczLjV0MTczLjUgMTE0LjV6bTYzNC00MzVxMCAzOS0yMyAxMDYtNDcgMTM0LTE2NC41IDIxNy41dC0yNTguNSA4My41cS0xODUgMC0zMTYuNS0xMzEuNXQtMTMxLjUtMzE2LjUgMTMxLjUtMzE2LjUgMzE2LjUtMTMxLjVxNTggMCAxMjEuNSAxNi41dDEwNy41IDQ2LjVxMTYgMTEgMTYgMjh0LTE2IDI4bC0yOTMgMTY5djIyNGwxOTMgMTA3cTUtMyA3OS00OC41dDEzNS41LTgxIDcwLjUtMzUuNXExNSAwIDIzLjUgMTB0OC41IDI1eiIvPjwvc3ZnPg==); + } + + .icon-cog { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjQkRCREJGIiBkPSJNNDQ0Ljc4OCAyOTEuMWw0Mi42MTYgMjQuNTk5YzQuODY3IDIuODA5IDcuMTI2IDguNjE4IDUuNDU5IDEzLjk4NS0xMS4wNyAzNS42NDItMjkuOTcgNjcuODQyLTU0LjY4OSA5NC41ODZhMTIuMDE2IDEyLjAxNiAwIDAgMS0xNC44MzIgMi4yNTRsLTQyLjU4NC0yNC41OTVhMTkxLjU3NyAxOTEuNTc3IDAgMCAxLTYwLjc1OSAzNS4xM3Y0OS4xODJhMTIuMDEgMTIuMDEgMCAwIDEtOS4zNzcgMTEuNzE4Yy0zNC45NTYgNy44NS03Mi40OTkgOC4yNTYtMTA5LjIxOS4wMDctNS40OS0xLjIzMy05LjQwMy02LjA5Ni05LjQwMy0xMS43MjN2LTQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEtNjAuNzU5LTM1LjEzbC00Mi41ODQgMjQuNTk1YTEyLjAxNiAxMi4wMTYgMCAwIDEtMTQuODMyLTIuMjU0Yy0yNC43MTgtMjYuNzQ0LTQzLjYxOS01OC45NDQtNTQuNjg5LTk0LjU4Ni0xLjY2Ny01LjM2Ni41OTItMTEuMTc1IDUuNDU5LTEzLjk4NUw2Ny4yMTIgMjkxLjFhMTkzLjQ4IDE5My40OCAwIDAgMSAwLTcwLjE5OWwtNDIuNjE2LTI0LjU5OWMtNC44NjctMi44MDktNy4xMjYtOC42MTgtNS40NTktMTMuOTg1IDExLjA3LTM1LjY0MiAyOS45Ny02Ny44NDIgNTQuNjg5LTk0LjU4NmExMi4wMTYgMTIuMDE2IDAgMCAxIDE0LjgzMi0yLjI1NGw0Mi41ODQgMjQuNTk1YTE5MS41NzcgMTkxLjU3NyAwIDAgMSA2MC43NTktMzUuMTNWMjUuNzU5YTEyLjAxIDEyLjAxIDAgMCAxIDkuMzc3LTExLjcxOGMzNC45NTYtNy44NSA3Mi40OTktOC4yNTYgMTA5LjIxOS0uMDA3IDUuNDkgMS4yMzMgOS40MDMgNi4wOTYgOS40MDMgMTEuNzIzdjQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEgNjAuNzU5IDM1LjEzbDQyLjU4NC0yNC41OTVhMTIuMDE2IDEyLjAxNiAwIDAgMSAxNC44MzIgMi4yNTRjMjQuNzE4IDI2Ljc0NCA0My42MTkgNTguOTQ0IDU0LjY4OSA5NC41ODYgMS42NjcgNS4zNjYtLjU5MiAxMS4xNzUtNS40NTkgMTMuOTg1TDQ0NC43ODggMjIwLjlhMTkzLjQ4NSAxOTMuNDg1IDAgMCAxIDAgNzAuMnpNMzM2IDI1NmMwLTQ0LjExMi0zNS44ODgtODAtODAtODBzLTgwIDM1Ljg4OC04MCA4MCAzNS44ODggODAgODAgODAgODAtMzUuODg4IDgwLTgweiIvPjwvc3ZnPg==); + } + + .icon-fork { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTY3MiAxNDcycTAtNDAtMjgtNjh0LTY4LTI4LTY4IDI4LTI4IDY4IDI4IDY4IDY4IDI4IDY4LTI4IDI4LTY4em0wLTExNTJxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTY0MCAxMjhxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTk2IDBxMCA1Mi0yNiA5Ni41dC03MCA2OS41cS0yIDI4Ny0yMjYgNDE0LTY3IDM4LTIwMyA4MS0xMjggNDAtMTY5LjUgNzF0LTQxLjUgMTAwdjI2cTQ0IDI1IDcwIDY5LjV0MjYgOTYuNXEwIDgwLTU2IDEzNnQtMTM2IDU2LTEzNi01Ni01Ni0xMzZxMC01MiAyNi05Ni41dDcwLTY5LjV2LTgyMHEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnEwIDUyLTI2IDk2LjV0LTcwIDY5LjV2NDk3cTU0LTI2IDE1NC01NyA1NS0xNyA4Ny41LTI5LjV0NzAuNS0zMSA1OS0zOS41IDQwLjUtNTEgMjgtNjkuNSA4LjUtOTEuNXEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnoiLz48L3N2Zz4=); + } + + .icon-cube { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTg5NiAxNjI5bDY0MC0zNDl2LTYzNmwtNjQwIDIzM3Y3NTJ6bS02NC04NjVsNjk4LTI1NC02OTgtMjU0LTY5OCAyNTR6bTgzMi0yNTJ2NzY4cTAgMzUtMTggNjV0LTQ5IDQ3bC03MDQgMzg0cS0yOCAxNi02MSAxNnQtNjEtMTZsLTcwNC0zODRxLTMxLTE3LTQ5LTQ3dC0xOC02NXYtNzY4cTAtNDAgMjMtNzN0NjEtNDdsNzA0LTI1NnEyMi04IDQ0LTh0NDQgOGw3MDQgMjU2cTM4IDE0IDYxIDQ3dDIzIDczeiIvPjwvc3ZnPg==); + } + + .icon-search-plus { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTEwODggODAwdjY0cTAgMTMtOS41IDIyLjV0LTIyLjUgOS41aC0yMjR2MjI0cTAgMTMtOS41IDIyLjV0LTIyLjUgOS41aC02NHEtMTMgMC0yMi41LTkuNXQtOS41LTIyLjV2LTIyNGgtMjI0cS0xMyAwLTIyLjUtOS41dC05LjUtMjIuNXYtNjRxMC0xMyA5LjUtMjIuNXQyMi41LTkuNWgyMjR2LTIyNHEwLTEzIDkuNS0yMi41dDIyLjUtOS41aDY0cTEzIDAgMjIuNSA5LjV0OS41IDIyLjV2MjI0aDIyNHExMyAwIDIyLjUgOS41dDkuNSAyMi41em0xMjggMzJxMC0xODUtMTMxLjUtMzE2LjV0LTMxNi41LTEzMS41LTMxNi41IDEzMS41LTEzMS41IDMxNi41IDEzMS41IDMxNi41IDMxNi41IDEzMS41IDMxNi41LTEzMS41IDEzMS41LTMxNi41em01MTIgODMycTAgNTMtMzcuNSA5MC41dC05MC41IDM3LjVxLTU0IDAtOTAtMzhsLTM0My0zNDJxLTE3OSAxMjQtMzk5IDEyNC0xNDMgMC0yNzMuNS01NS41dC0yMjUtMTUwLTE1MC0yMjUtNTUuNS0yNzMuNSA1NS41LTI3My41IDE1MC0yMjUgMjI1LTE1MCAyNzMuNS01NS41IDI3My41IDU1LjUgMjI1IDE1MCAxNTAgMjI1IDU1LjUgMjczLjVxMCAyMjAtMTI0IDM5OWwzNDMgMzQzcTM3IDM3IDM3IDkweiIvPjwvc3ZnPg==); + } + + .icon-search-minus { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTEwODggODAwdjY0cTAgMTMtOS41IDIyLjV0LTIyLjUgOS41aC01NzZxLTEzIDAtMjIuNS05LjV0LTkuNS0yMi41di02NHEwLTEzIDkuNS0yMi41dDIyLjUtOS41aDU3NnExMyAwIDIyLjUgOS41dDkuNSAyMi41em0xMjggMzJxMC0xODUtMTMxLjUtMzE2LjV0LTMxNi41LTEzMS41LTMxNi41IDEzMS41LTEzMS41IDMxNi41IDEzMS41IDMxNi41IDMxNi41IDEzMS41IDMxNi41LTEzMS41IDEzMS41LTMxNi41em01MTIgODMycTAgNTMtMzcuNSA5MC41dC05MC41IDM3LjVxLTU0IDAtOTAtMzhsLTM0My0zNDJxLTE3OSAxMjQtMzk5IDEyNC0xNDMgMC0yNzMuNS01NS41dC0yMjUtMTUwLTE1MC0yMjUtNTUuNS0yNzMuNSA1NS41LTI3My41IDE1MC0yMjUgMjI1LTE1MCAyNzMuNS01NS41IDI3My41IDU1LjUgMjI1IDE1MCAxNTAgMjI1IDU1LjUgMjczLjVxMCAyMjAtMTI0IDM5OWwzNDMgMzQzcTM3IDM3IDM3IDkweiIvPjwvc3ZnPg==); + } + + .icon-star { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNzI4IDY0N3EwIDIyLTI2IDQ4bC0zNjMgMzU0IDg2IDUwMHExIDcgMSAyMCAwIDIxLTEwLjUgMzUuNXQtMzAuNSAxNC41cS0xOSAwLTQwLTEybC00NDktMjM2LTQ0OSAyMzZxLTIyIDEyLTQwIDEyLTIxIDAtMzEuNS0xNC41dC0xMC41LTM1LjVxMC02IDItMjBsODYtNTAwLTM2NC0zNTRxLTI1LTI3LTI1LTQ4IDAtMzcgNTYtNDZsNTAyLTczIDIyNS00NTVxMTktNDEgNDktNDF0NDkgNDFsMjI1IDQ1NSA1MDIgNzNxNTYgOSA1NiA0NnoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=); + } + } +} + + +.ct-double-octave:after,.ct-golden-section:after,.ct-major-eleventh:after,.ct-major-second:after,.ct-major-seventh:after,.ct-major-sixth:after,.ct-major-tenth:after,.ct-major-third:after,.ct-major-twelfth:after,.ct-minor-second:after,.ct-minor-seventh:after,.ct-minor-sixth:after,.ct-minor-third:after,.ct-octave:after,.ct-perfect-fifth:after,.ct-perfect-fourth:after,.ct-square:after{content:"";clear:both}.ct-label{fill:rgba(0,0,0,.4);color:rgba(0,0,0,.4);font-size:.75rem;line-height:1}.ct-chart-bar .ct-label,.ct-chart-line .ct-label{display:block;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.ct-chart-donut .ct-label,.ct-chart-pie .ct-label{dominant-baseline:central}.ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-vertical.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-end;-webkit-justify-content:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-label.ct-vertical.ct-end{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-end;-webkit-justify-content:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:end}.ct-grid{stroke:rgba(0,0,0,.2);stroke-width:1px;stroke-dasharray:2px}.ct-grid-background{fill:none}.ct-point{stroke-width:10px;stroke-linecap:round}.ct-line{fill:none;stroke-width:4px}.ct-area{stroke:none;fill-opacity:.1}.ct-bar{fill:none;stroke-width:10px}.ct-slice-donut{fill:none;stroke-width:60px}.ct-series-a .ct-bar,.ct-series-a .ct-line,.ct-series-a .ct-point,.ct-series-a .ct-slice-donut{stroke:#d70206}.ct-series-a .ct-area,.ct-series-a .ct-slice-donut-solid,.ct-series-a .ct-slice-pie{fill:#d70206}.ct-series-b .ct-bar,.ct-series-b .ct-line,.ct-series-b .ct-point,.ct-series-b .ct-slice-donut{stroke:#f05b4f}.ct-series-b .ct-area,.ct-series-b .ct-slice-donut-solid,.ct-series-b .ct-slice-pie{fill:#f05b4f}.ct-series-c .ct-bar,.ct-series-c .ct-line,.ct-series-c .ct-point,.ct-series-c .ct-slice-donut{stroke:#f4c63d}.ct-series-c .ct-area,.ct-series-c .ct-slice-donut-solid,.ct-series-c .ct-slice-pie{fill:#f4c63d}.ct-series-d .ct-bar,.ct-series-d .ct-line,.ct-series-d .ct-point,.ct-series-d .ct-slice-donut{stroke:#d17905}.ct-series-d .ct-area,.ct-series-d .ct-slice-donut-solid,.ct-series-d .ct-slice-pie{fill:#d17905}.ct-series-e .ct-bar,.ct-series-e .ct-line,.ct-series-e .ct-point,.ct-series-e .ct-slice-donut{stroke:#453d3f}.ct-series-e .ct-area,.ct-series-e .ct-slice-donut-solid,.ct-series-e .ct-slice-pie{fill:#453d3f}.ct-series-f .ct-bar,.ct-series-f .ct-line,.ct-series-f .ct-point,.ct-series-f .ct-slice-donut{stroke:#59922b}.ct-series-f .ct-area,.ct-series-f .ct-slice-donut-solid,.ct-series-f .ct-slice-pie{fill:#59922b}.ct-series-g .ct-bar,.ct-series-g .ct-line,.ct-series-g .ct-point,.ct-series-g .ct-slice-donut{stroke:#0544d3}.ct-series-g .ct-area,.ct-series-g .ct-slice-donut-solid,.ct-series-g .ct-slice-pie{fill:#0544d3}.ct-series-h .ct-bar,.ct-series-h .ct-line,.ct-series-h .ct-point,.ct-series-h .ct-slice-donut{stroke:#6b0392}.ct-series-h .ct-area,.ct-series-h .ct-slice-donut-solid,.ct-series-h .ct-slice-pie{fill:#6b0392}.ct-series-i .ct-bar,.ct-series-i .ct-line,.ct-series-i .ct-point,.ct-series-i .ct-slice-donut{stroke:#f05b4f}.ct-series-i .ct-area,.ct-series-i .ct-slice-donut-solid,.ct-series-i .ct-slice-pie{fill:#f05b4f}.ct-series-j .ct-bar,.ct-series-j .ct-line,.ct-series-j .ct-point,.ct-series-j .ct-slice-donut{stroke:#dda458}.ct-series-j .ct-area,.ct-series-j .ct-slice-donut-solid,.ct-series-j .ct-slice-pie{fill:#dda458}.ct-series-k .ct-bar,.ct-series-k .ct-line,.ct-series-k .ct-point,.ct-series-k .ct-slice-donut{stroke:#eacf7d}.ct-series-k .ct-area,.ct-series-k .ct-slice-donut-solid,.ct-series-k .ct-slice-pie{fill:#eacf7d}.ct-series-l .ct-bar,.ct-series-l .ct-line,.ct-series-l .ct-point,.ct-series-l .ct-slice-donut{stroke:#86797d}.ct-series-l .ct-area,.ct-series-l .ct-slice-donut-solid,.ct-series-l .ct-slice-pie{fill:#86797d}.ct-series-m .ct-bar,.ct-series-m .ct-line,.ct-series-m .ct-point,.ct-series-m .ct-slice-donut{stroke:#b2c326}.ct-series-m .ct-area,.ct-series-m .ct-slice-donut-solid,.ct-series-m .ct-slice-pie{fill:#b2c326}.ct-series-n .ct-bar,.ct-series-n .ct-line,.ct-series-n .ct-point,.ct-series-n .ct-slice-donut{stroke:#6188e2}.ct-series-n .ct-area,.ct-series-n .ct-slice-donut-solid,.ct-series-n .ct-slice-pie{fill:#6188e2}.ct-series-o .ct-bar,.ct-series-o .ct-line,.ct-series-o .ct-point,.ct-series-o .ct-slice-donut{stroke:#a748ca}.ct-series-o .ct-area,.ct-series-o .ct-slice-donut-solid,.ct-series-o .ct-slice-pie{fill:#a748ca}.ct-square{display:block;position:relative;width:100%}.ct-square:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:100%}.ct-square:after{display:table}.ct-square>svg{display:block;position:absolute;top:0;left:0}.ct-minor-second{display:block;position:relative;width:100%}.ct-minor-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:93.75%}.ct-minor-second:after{display:table}.ct-minor-second>svg{display:block;position:absolute;top:0;left:0}.ct-major-second{display:block;position:relative;width:100%}.ct-major-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:88.8888888889%}.ct-major-second:after{display:table}.ct-major-second>svg{display:block;position:absolute;top:0;left:0}.ct-minor-third{display:block;position:relative;width:100%}.ct-minor-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:83.3333333333%}.ct-minor-third:after{display:table}.ct-minor-third>svg{display:block;position:absolute;top:0;left:0}.ct-major-third{display:block;position:relative;width:100%}.ct-major-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:80%}.ct-major-third:after{display:table}.ct-major-third>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fourth{display:block;position:relative;width:100%}.ct-perfect-fourth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:75%}.ct-perfect-fourth:after{display:table}.ct-perfect-fourth>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fifth{display:block;position:relative;width:100%}.ct-perfect-fifth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:66.6666666667%}.ct-perfect-fifth:after{display:table}.ct-perfect-fifth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-sixth{display:block;position:relative;width:100%}.ct-minor-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:62.5%}.ct-minor-sixth:after{display:table}.ct-minor-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-golden-section{display:block;position:relative;width:100%}.ct-golden-section:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:61.804697157%}.ct-golden-section:after{display:table}.ct-golden-section>svg{display:block;position:absolute;top:0;left:0}.ct-major-sixth{display:block;position:relative;width:100%}.ct-major-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:60%}.ct-major-sixth:after{display:table}.ct-major-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-seventh{display:block;position:relative;width:100%}.ct-minor-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:56.25%}.ct-minor-seventh:after{display:table}.ct-minor-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-seventh{display:block;position:relative;width:100%}.ct-major-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:53.3333333333%}.ct-major-seventh:after{display:table}.ct-major-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-octave{display:block;position:relative;width:100%}.ct-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:50%}.ct-octave:after{display:table}.ct-octave>svg{display:block;position:absolute;top:0;left:0}.ct-major-tenth{display:block;position:relative;width:100%}.ct-major-tenth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:40%}.ct-major-tenth:after{display:table}.ct-major-tenth>svg{display:block;position:absolute;top:0;left:0}.ct-major-eleventh{display:block;position:relative;width:100%}.ct-major-eleventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:37.5%}.ct-major-eleventh:after{display:table}.ct-major-eleventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-twelfth{display:block;position:relative;width:100%}.ct-major-twelfth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:33.3333333333%}.ct-major-twelfth:after{display:table}.ct-major-twelfth>svg{display:block;position:absolute;top:0;left:0}.ct-double-octave{display:block;position:relative;width:100%}.ct-double-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:25%}.ct-double-octave:after{display:table}.ct-double-octave>svg{display:block;position:absolute;top:0;left:0} + +
+

SummaryStarSponsor

+
+
+
Information
+
+
+
#LineLine coverage
 1using System.Net.Http;
 2using System.Threading;
 3using System.Threading.Tasks;
 4using Microsoft.VisualStudio.TestTools.UnitTesting;
 5
 6namespace Test
 7{
 8    [TestClass]
 9    public class Program
 10    {
 11        static void Main(string[] args)
 12        {
 13            new TestClass().SampleFunction();
 14
 15            new TestClass2("Test").ExecutedMethod();
+ + + + + + + + + + + + + + + + +
Parser:OpenCover
Assemblies:1
Classes:4
Files:5
+
+
+
+
+
Line coverage
+
+
69%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:75
Uncovered lines:33
Coverable lines:108
Total lines:260
Line coverage:69.4%
+
+
+
+
+
Branch coverage
+
+
50%
+
+ + + + + + + + + + + + + +
Covered branches:4
Total branches:8
Branch coverage:50%
+
+
+
+
+
Method coverage
+
+
66%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered methods:16
Fully covered methods:12
Total methods:24
Method coverage:66.6%
Full method coverage:50%
+
+
+
+ +

Coverage history

+
+ +Coverage history + + + + + + + + + + + + + + 0 + 25 + 50 + 75 + 100 + + +01.02.2022 - 20:50:35 +Line coverage: 53.6% (67/125) +Branch coverage: 50% (30/60) +Method coverage: 58.3% (14/24) +Full method coverage 25% (6/24) +Total lines: 26002.02.2022 - 20:50:35 +Line coverage: 56% (70/125) +Branch coverage: 43.3% (26/60) +Method coverage: 45.8% (11/24) +Full method coverage 25% (6/24) +Total lines: 26003.02.2022 - 20:50:35 +Line coverage: 57.6% (72/125) +Branch coverage: 46.6% (28/60) +Method coverage: 50% (12/24) +Full method coverage 29.1% (7/24) +Total lines: 26004.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 48.3% (29/60) +Method coverage: 54.1% (13/24) +Full method coverage 33.3% (8/24) +Total lines: 26005.02.2022 - 20:50:35 +Line coverage: 56% (70/125) +Branch coverage: 50% (30/60) +Method coverage: 54.1% (13/24) +Full method coverage 33.3% (8/24) +Total lines: 26006.02.2022 - 20:50:35 +Line coverage: 57.6% (72/125) +Branch coverage: 50% (30/60) +Method coverage: 62.5% (15/24) +Full method coverage 37.5% (9/24) +Total lines: 26007.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 50% (30/60) +Method coverage: 66.6% (16/24) +Full method coverage 37.5% (9/24) +Total lines: 26009.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 45% (27/60) +Method coverage: 66.6% (16/24) +Full method coverage 37.5% (9/24) +Total lines: 26015.10.2025 - 20:25:03 +Line coverage: 69.4% (75/108) +Branch coverage: 50% (4/8) +Method coverage: 66.6% (16/24) +Full method coverage 50% (12/24) +Total lines: 260 + + +01.02.2022 - 20:50:35 +Line coverage: 53.6% (67/125) +Branch coverage: 50% (30/60) +Method coverage: 58.3% (14/24) +Full method coverage 25% (6/24) +Total lines: 26002.02.2022 - 20:50:35 +Line coverage: 56% (70/125) +Branch coverage: 43.3% (26/60) +Method coverage: 45.8% (11/24) +Full method coverage 25% (6/24) +Total lines: 26003.02.2022 - 20:50:35 +Line coverage: 57.6% (72/125) +Branch coverage: 46.6% (28/60) +Method coverage: 50% (12/24) +Full method coverage 29.1% (7/24) +Total lines: 26004.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 48.3% (29/60) +Method coverage: 54.1% (13/24) +Full method coverage 33.3% (8/24) +Total lines: 26005.02.2022 - 20:50:35 +Line coverage: 56% (70/125) +Branch coverage: 50% (30/60) +Method coverage: 54.1% (13/24) +Full method coverage 33.3% (8/24) +Total lines: 26006.02.2022 - 20:50:35 +Line coverage: 57.6% (72/125) +Branch coverage: 50% (30/60) +Method coverage: 62.5% (15/24) +Full method coverage 37.5% (9/24) +Total lines: 26007.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 50% (30/60) +Method coverage: 66.6% (16/24) +Full method coverage 37.5% (9/24) +Total lines: 26009.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 45% (27/60) +Method coverage: 66.6% (16/24) +Full method coverage 37.5% (9/24) +Total lines: 26015.10.2025 - 20:25:03 +Line coverage: 69.4% (75/108) +Branch coverage: 50% (4/8) +Method coverage: 66.6% (16/24) +Full method coverage 50% (12/24) +Total lines: 260 + + +01.02.2022 - 20:50:35 +Line coverage: 53.6% (67/125) +Branch coverage: 50% (30/60) +Method coverage: 58.3% (14/24) +Full method coverage 25% (6/24) +Total lines: 26002.02.2022 - 20:50:35 +Line coverage: 56% (70/125) +Branch coverage: 43.3% (26/60) +Method coverage: 45.8% (11/24) +Full method coverage 25% (6/24) +Total lines: 26003.02.2022 - 20:50:35 +Line coverage: 57.6% (72/125) +Branch coverage: 46.6% (28/60) +Method coverage: 50% (12/24) +Full method coverage 29.1% (7/24) +Total lines: 26004.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 48.3% (29/60) +Method coverage: 54.1% (13/24) +Full method coverage 33.3% (8/24) +Total lines: 26005.02.2022 - 20:50:35 +Line coverage: 56% (70/125) +Branch coverage: 50% (30/60) +Method coverage: 54.1% (13/24) +Full method coverage 33.3% (8/24) +Total lines: 26006.02.2022 - 20:50:35 +Line coverage: 57.6% (72/125) +Branch coverage: 50% (30/60) +Method coverage: 62.5% (15/24) +Full method coverage 37.5% (9/24) +Total lines: 26007.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 50% (30/60) +Method coverage: 66.6% (16/24) +Full method coverage 37.5% (9/24) +Total lines: 26009.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 45% (27/60) +Method coverage: 66.6% (16/24) +Full method coverage 37.5% (9/24) +Total lines: 26015.10.2025 - 20:25:03 +Line coverage: 69.4% (75/108) +Branch coverage: 50% (4/8) +Method coverage: 66.6% (16/24) +Full method coverage 50% (12/24) +Total lines: 260 + + +01.02.2022 - 20:50:35 +Line coverage: 53.6% (67/125) +Branch coverage: 50% (30/60) +Method coverage: 58.3% (14/24) +Full method coverage 25% (6/24) +Total lines: 26002.02.2022 - 20:50:35 +Line coverage: 56% (70/125) +Branch coverage: 43.3% (26/60) +Method coverage: 45.8% (11/24) +Full method coverage 25% (6/24) +Total lines: 26003.02.2022 - 20:50:35 +Line coverage: 57.6% (72/125) +Branch coverage: 46.6% (28/60) +Method coverage: 50% (12/24) +Full method coverage 29.1% (7/24) +Total lines: 26004.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 48.3% (29/60) +Method coverage: 54.1% (13/24) +Full method coverage 33.3% (8/24) +Total lines: 26005.02.2022 - 20:50:35 +Line coverage: 56% (70/125) +Branch coverage: 50% (30/60) +Method coverage: 54.1% (13/24) +Full method coverage 33.3% (8/24) +Total lines: 26006.02.2022 - 20:50:35 +Line coverage: 57.6% (72/125) +Branch coverage: 50% (30/60) +Method coverage: 62.5% (15/24) +Full method coverage 37.5% (9/24) +Total lines: 26007.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 50% (30/60) +Method coverage: 66.6% (16/24) +Full method coverage 37.5% (9/24) +Total lines: 26009.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 45% (27/60) +Method coverage: 66.6% (16/24) +Full method coverage 37.5% (9/24) +Total lines: 26015.10.2025 - 20:25:03 +Line coverage: 69.4% (75/108) +Branch coverage: 50% (4/8) +Method coverage: 66.6% (16/24) +Full method coverage 50% (12/24) +Total lines: 260 + +
+ +

Risk Hotspots

+ + +

No risk hotspots found.

+

Coverage

+ +
+ +++++++++++++++++++++ + + + + + + + + + + +
Line coverageBranch coverageMethod coverageFull method coverage
NameCoveredUncoveredCoverableTotalPercentageCoveredTotalPercentageCoveredTotalPercentageCoveredTotalPercentage
Sample753310826069.4%
  
4850%
  
162466.6%
  
122450%
  
Sample.PartialClass12102253
54.5%
  
12
50%
  
36
50%
  
26
33.3%
  
Test.Program1501584
100%
 
00
 
33
100%
 
33
100%
 
Test.TestClass249333872.7%
  
2450%
  
4580%
  
3560%
  
Test.TestClass224143885
63.1%
  
12
50%
  
610
60%
  
410
40%
  
+
+
+ + + + +------=_NextPart_000_0000_01D23618.54EBCBE0 +Content-Type: text/html; + charset="utf-8" +Content-Transfer-Encoding: 8bit +Content-Location: file:///Sample_PartialClass.html + + + + + + + + +Sample.PartialClass - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Sample.PartialClass
Assembly:Sample
File(s):File 1: C:\temp\PartialClass.cs
File 2: C:\temp\PartialClass2.cs
+
+
+
+
+
+
+
Line coverage
+
+
54%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:12
Uncovered lines:10
Coverable lines:22
Total lines:53
Line coverage:54.5%
+
+
+
+
+
Branch coverage
+
+
50%
+
+ + + + + + + + + + + + + +
Covered branches:1
Total branches:2
Branch coverage:50%
+
+
+
+
+
Method coverage
+
+
50%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered methods:3
Fully covered methods:2
Total methods:6
Method coverage:50%
Full method coverage:33.3%
+
+
+
+
+

Coverage history

+
+ +Coverage history + + + + + + + + + + + + + + 0 + 25 + 50 + 75 + 100 + + +01.02.2022 - 20:50:35 +Line coverage: 40.9% (9/22) +Branch coverage: 50% (10/20) +Method coverage: 50% (3/6) +Full method coverage 33.3% (2/6) +Total lines: 5302.02.2022 - 20:50:35 +Line coverage: 54.5% (12/22) +Branch coverage: 40% (8/20) +Method coverage: 33.3% (2/6) +Full method coverage 33.3% (2/6) +Total lines: 5303.02.2022 - 20:50:35 +Line coverage: 59% (13/22) +Branch coverage: 40% (8/20) +Method coverage: 50% (3/6) +Full method coverage 50% (3/6) +Total lines: 5304.02.2022 - 20:50:35 +Line coverage: 59% (13/22) +Branch coverage: 45% (9/20) +Method coverage: 66.6% (4/6) +Full method coverage 50% (3/6) +Total lines: 5305.02.2022 - 20:50:35 +Line coverage: 45.4% (10/22) +Branch coverage: 45% (9/20) +Method coverage: 66.6% (4/6) +Full method coverage 50% (3/6) +Total lines: 5306.02.2022 - 20:50:35 +Line coverage: 50% (11/22) +Branch coverage: 45% (9/20) +Method coverage: 66.6% (4/6) +Full method coverage 50% (3/6) +Total lines: 5307.02.2022 - 20:50:35 +Line coverage: 50% (11/22) +Branch coverage: 45% (9/20) +Method coverage: 83.3% (5/6) +Full method coverage 50% (3/6) +Total lines: 5308.02.2022 - 20:50:35 +Line coverage: 59% (13/22) +Branch coverage: 45% (9/20) +Method coverage: 83.3% (5/6) +Full method coverage 50% (3/6) +Total lines: 5315.10.2025 - 20:25:03 +Line coverage: 54.5% (12/22) +Branch coverage: 50% (1/2) +Method coverage: 50% (3/6) +Full method coverage 33.3% (2/6) +Total lines: 53 + + +01.02.2022 - 20:50:35 +Line coverage: 40.9% (9/22) +Branch coverage: 50% (10/20) +Method coverage: 50% (3/6) +Full method coverage 33.3% (2/6) +Total lines: 5302.02.2022 - 20:50:35 +Line coverage: 54.5% (12/22) +Branch coverage: 40% (8/20) +Method coverage: 33.3% (2/6) +Full method coverage 33.3% (2/6) +Total lines: 5303.02.2022 - 20:50:35 +Line coverage: 59% (13/22) +Branch coverage: 40% (8/20) +Method coverage: 50% (3/6) +Full method coverage 50% (3/6) +Total lines: 5304.02.2022 - 20:50:35 +Line coverage: 59% (13/22) +Branch coverage: 45% (9/20) +Method coverage: 66.6% (4/6) +Full method coverage 50% (3/6) +Total lines: 5305.02.2022 - 20:50:35 +Line coverage: 45.4% (10/22) +Branch coverage: 45% (9/20) +Method coverage: 66.6% (4/6) +Full method coverage 50% (3/6) +Total lines: 5306.02.2022 - 20:50:35 +Line coverage: 50% (11/22) +Branch coverage: 45% (9/20) +Method coverage: 66.6% (4/6) +Full method coverage 50% (3/6) +Total lines: 5307.02.2022 - 20:50:35 +Line coverage: 50% (11/22) +Branch coverage: 45% (9/20) +Method coverage: 83.3% (5/6) +Full method coverage 50% (3/6) +Total lines: 5308.02.2022 - 20:50:35 +Line coverage: 59% (13/22) +Branch coverage: 45% (9/20) +Method coverage: 83.3% (5/6) +Full method coverage 50% (3/6) +Total lines: 5315.10.2025 - 20:25:03 +Line coverage: 54.5% (12/22) +Branch coverage: 50% (1/2) +Method coverage: 50% (3/6) +Full method coverage 33.3% (2/6) +Total lines: 53 + + +01.02.2022 - 20:50:35 +Line coverage: 40.9% (9/22) +Branch coverage: 50% (10/20) +Method coverage: 50% (3/6) +Full method coverage 33.3% (2/6) +Total lines: 5302.02.2022 - 20:50:35 +Line coverage: 54.5% (12/22) +Branch coverage: 40% (8/20) +Method coverage: 33.3% (2/6) +Full method coverage 33.3% (2/6) +Total lines: 5303.02.2022 - 20:50:35 +Line coverage: 59% (13/22) +Branch coverage: 40% (8/20) +Method coverage: 50% (3/6) +Full method coverage 50% (3/6) +Total lines: 5304.02.2022 - 20:50:35 +Line coverage: 59% (13/22) +Branch coverage: 45% (9/20) +Method coverage: 66.6% (4/6) +Full method coverage 50% (3/6) +Total lines: 5305.02.2022 - 20:50:35 +Line coverage: 45.4% (10/22) +Branch coverage: 45% (9/20) +Method coverage: 66.6% (4/6) +Full method coverage 50% (3/6) +Total lines: 5306.02.2022 - 20:50:35 +Line coverage: 50% (11/22) +Branch coverage: 45% (9/20) +Method coverage: 66.6% (4/6) +Full method coverage 50% (3/6) +Total lines: 5307.02.2022 - 20:50:35 +Line coverage: 50% (11/22) +Branch coverage: 45% (9/20) +Method coverage: 83.3% (5/6) +Full method coverage 50% (3/6) +Total lines: 5308.02.2022 - 20:50:35 +Line coverage: 59% (13/22) +Branch coverage: 45% (9/20) +Method coverage: 83.3% (5/6) +Full method coverage 50% (3/6) +Total lines: 5315.10.2025 - 20:25:03 +Line coverage: 54.5% (12/22) +Branch coverage: 50% (1/2) +Method coverage: 50% (3/6) +Full method coverage 33.3% (2/6) +Total lines: 53 + + +01.02.2022 - 20:50:35 +Line coverage: 40.9% (9/22) +Branch coverage: 50% (10/20) +Method coverage: 50% (3/6) +Full method coverage 33.3% (2/6) +Total lines: 5302.02.2022 - 20:50:35 +Line coverage: 54.5% (12/22) +Branch coverage: 40% (8/20) +Method coverage: 33.3% (2/6) +Full method coverage 33.3% (2/6) +Total lines: 5303.02.2022 - 20:50:35 +Line coverage: 59% (13/22) +Branch coverage: 40% (8/20) +Method coverage: 50% (3/6) +Full method coverage 50% (3/6) +Total lines: 5304.02.2022 - 20:50:35 +Line coverage: 59% (13/22) +Branch coverage: 45% (9/20) +Method coverage: 66.6% (4/6) +Full method coverage 50% (3/6) +Total lines: 5305.02.2022 - 20:50:35 +Line coverage: 45.4% (10/22) +Branch coverage: 45% (9/20) +Method coverage: 66.6% (4/6) +Full method coverage 50% (3/6) +Total lines: 5306.02.2022 - 20:50:35 +Line coverage: 50% (11/22) +Branch coverage: 45% (9/20) +Method coverage: 66.6% (4/6) +Full method coverage 50% (3/6) +Total lines: 5307.02.2022 - 20:50:35 +Line coverage: 50% (11/22) +Branch coverage: 45% (9/20) +Method coverage: 83.3% (5/6) +Full method coverage 50% (3/6) +Total lines: 5308.02.2022 - 20:50:35 +Line coverage: 59% (13/22) +Branch coverage: 45% (9/20) +Method coverage: 83.3% (5/6) +Full method coverage 50% (3/6) +Total lines: 5315.10.2025 - 20:25:03 +Line coverage: 54.5% (12/22) +Branch coverage: 50% (1/2) +Method coverage: 50% (3/6) +Full method coverage 33.3% (2/6) +Total lines: 53 + +
+ +

Metrics

+
+ ++++++++ + + + + + + + +
MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
File 1: ExecutedMethod_1()100%110100%
File 1: UnExecutedMethod_1()0%2100%
File 2: ExecutedMethod_2()100%110100%
File 2: UnExecutedMethod_2()0%2100%
+
+

File(s)

+

C:\temp\PartialClass.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using System;
 2
 3namespace Test
 4{
 5    partial class PartialClass
 6    {
 7        public void ExecutedMethod_1()
 18        {
 19            Console.WriteLine("Test");
 110        }
 11
 12        public void UnExecutedMethod_1()
 013        {
 014            Console.WriteLine("Test");
 015        }
 16
 17        private int someProperty;
 18
 19        public int SomeProperty
 20        {
 021            get { return this.someProperty; }
 22
 23            set
 124            {
 125                if (value < 0)
 126                {
 127                    this.someProperty = 0;
 128                }
 29                else
 030                {
 031                    this.someProperty = value;
 032                }
 133            }
 34        }
 35    }
 36}
+
+

C:\temp\PartialClass2.cs

+
+ + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using System;
 2
 3namespace Test
 4{
 5    partial class PartialClass
 6    {
 7        public void ExecutedMethod_2()
 18        {
 19            Console.WriteLine("Test");
 110        }
 11
 12        public void UnExecutedMethod_2()
 013        {
 014            Console.WriteLine("Test");
 015        }
 16    }
 17}
+
+
+
+ + + +------=_NextPart_000_0000_01D23618.54EBCBE0 +Content-Type: text/html; + charset="utf-8" +Content-Transfer-Encoding: 8bit +Content-Location: file:///Sample_Program.html + + + + + + + + +Test.Program - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Test.Program
Assembly:Sample
File(s):C:\temp\Program.cs
+
+
+
+
+
+
+
Line coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:15
Uncovered lines:0
Coverable lines:15
Total lines:84
Line coverage:100%
+
+
+
+
+
Branch coverage
+
+
N/A
+
+ + + + + + + + + + + + + +
Covered branches:0
Total branches:0
Branch coverage:N/A
+
+
+
+
+
Method coverage
+
+
100%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered methods:3
Fully covered methods:3
Total methods:3
Method coverage:100%
Full method coverage:100%
+
+
+
+
+

Coverage history

+
+ +Coverage history + + + + + + + + + + + + + + 0 + 25 + 50 + 75 + 100 + + +01.02.2022 - 20:50:35 +Line coverage: 79.5% (35/44) +Method coverage: 66.6% (4/6) +Full method coverage 0% (0/6) +Total lines: 8404.02.2022 - 20:50:35 +Line coverage: 79.5% (35/44) +Method coverage: 66.6% (4/6) +Full method coverage 16.6% (1/6) +Total lines: 8406.02.2022 - 20:50:35 +Line coverage: 79.5% (35/44) +Method coverage: 66.6% (4/6) +Full method coverage 33.3% (2/6) +Total lines: 8415.10.2025 - 20:25:03 +Line coverage: 100% (15/15) +Method coverage: 100% (3/3) +Full method coverage 100% (3/3) +Total lines: 84 + + +01.02.2022 - 20:50:35 +Line coverage: 79.5% (35/44) +Method coverage: 66.6% (4/6) +Full method coverage 0% (0/6) +Total lines: 8404.02.2022 - 20:50:35 +Line coverage: 79.5% (35/44) +Method coverage: 66.6% (4/6) +Full method coverage 16.6% (1/6) +Total lines: 8406.02.2022 - 20:50:35 +Line coverage: 79.5% (35/44) +Method coverage: 66.6% (4/6) +Full method coverage 33.3% (2/6) +Total lines: 8415.10.2025 - 20:25:03 +Line coverage: 100% (15/15) +Method coverage: 100% (3/3) +Full method coverage 100% (3/3) +Total lines: 84 + + +01.02.2022 - 20:50:35 +Line coverage: 79.5% (35/44) +Method coverage: 66.6% (4/6) +Full method coverage 0% (0/6) +Total lines: 8404.02.2022 - 20:50:35 +Line coverage: 79.5% (35/44) +Method coverage: 66.6% (4/6) +Full method coverage 16.6% (1/6) +Total lines: 8406.02.2022 - 20:50:35 +Line coverage: 79.5% (35/44) +Method coverage: 66.6% (4/6) +Full method coverage 33.3% (2/6) +Total lines: 8415.10.2025 - 20:25:03 +Line coverage: 100% (15/15) +Method coverage: 100% (3/3) +Full method coverage 100% (3/3) +Total lines: 84 + +
+ +

Metrics

+
+ ++++++++ + + + + + + +
MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
CallAsyncMethod()100%330100%
.ctor(...)100%110100%
SendAsync(...)100%110100%
+
+

File(s)

+

C:\temp\Program.cs

+
+ + + + + + + + + + + + + + + + + + @@ -904,7 +4328,7 @@ var historyChartData06b3a4e745e34fdca037d9b6220d512d = {
#LineLine coverage
 1using System.Net.Http;
 2using System.Threading;
 3using System.Threading.Tasks;
 4using Microsoft.VisualStudio.TestTools.UnitTesting;
 5
 6namespace Test
 7{
 8    [TestClass]
 9    public class Program
 10    {
 11        static void Main(string[] args)
 12        {
 13            new TestClass().SampleFunction();
 14
 15            new TestClass2("Test").ExecutedMethod();
 16            new TestClass2("Test").SampleFunction("Munich");
 17
 18            new PartialClass().ExecutedMethod_1();
-
+

Methods/Properties

@@ -913,7 +4337,216 @@ var historyChartData06b3a4e745e34fdca037d9b6220d512d = { SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken)

- + ------=_NextPart_000_0000_01D23618.54EBCBE0 @@ -930,935 +4563,1144 @@ Content-Location: file:///Sample_TestClass.html Test.TestClass - Coverage Report - -
-

< Summary

-
-
-
Information
-
-
- - - - - - - - - - - - - -
Class:Test.TestClass
Assembly:Sample
File(s):C:\temp\TestClass.cs
-
-
-
-
-
-
-
Line coverage
-
-
72%
-
- - - - - - - - - - - - - - - - - - - - - -
Covered lines:24
Uncovered lines:9
Coverable lines:33
Total lines:38
Line coverage:72.7%
-
-
-
-
-
Branch coverage
-
-
50%
-
- - - - - - - - - - - - - -
Covered branches:2
Total branches:4
Branch coverage:50%
-
-
-
-
-
Method coverage
-
-
80%
-
- - - - - - - - - - - - - - - - - - - - - -
Covered methods:4
Fully covered methods:1
Total methods:5
Method coverage:80%
Full method coverage:20%
-
-
-
-
-

Coverage history

-
- -Coverage history - - - - - - - - - - - - - - 0 - 25 - 50 - 75 - 100 - - - - - - - - - - - - - -
- -

Metrics

-
- ------- - - - - - - - - -
MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
SampleFunction()50%4480%
ParentMethod()100%11100%
NestedLocalFunction(System.String)100%11100%
MethodWithLambda()100%11100%
SampleFunction()100%110%
-
-

File(s)

-

C:\temp\TestClass.cs

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#LineLine coverage
 1using System;
 2
 3namespace Test
 4{
 5    class TestClass
 6    {
 7        public void SampleFunction()
 8        {
 29            string test = string.Format(
 210                "{0} {1}",
 211                 "Hello",
 212                 "World");
 213
 14            Console.WriteLine(test);
 215            int i = 10;
 216
 17            if (i > 0 || i > 1)
 218            {
 219                Console.WriteLine(i + " is greater that 0");
 220            }
 221            else
 22            {
 023                Console.WriteLine(i + " is not greater that 0");
 024            }
 025        }
 226
 27        public class NestedClass
 28        {
 229            public void SampleFunction()
 230            {
 31                Console.WriteLine(
 232                    "{0} {1}",
 33                     "Hello",
 34                     "World");
 235            }
 236        }
 237    }
 238}
-
-
-
- - +.icon-up-down-dir { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im0gMTQwOCw3NDIgcSAwLDI2IC0xOSw0NSAtMTksMTkgLTQ1LDE5IEggNDQ4IHEgLTI2LDAgLTQ1LC0xOSAtMTksLTE5IC0xOSwtNDUgMCwtMjYgMTksLTQ1IEwgODUxLDI0OSBxIDE5LC0xOSA0NSwtMTkgMjYsMCA0NSwxOSBsIDQ0OCw0NDggcSAxOSwxOSAxOSw0NSB6IiAvPjxwYXRoIGQ9Im0gMTQwOCwxMDUwIHEgMCwyNiAtMTksNDUgbCAtNDQ4LDQ0OCBxIC0xOSwxOSAtNDUsMTkgLTI2LDAgLTQ1LC0xOSBMIDQwMywxMDk1IHEgLTE5LC0xOSAtMTksLTQ1IDAsLTI2IDE5LC00NSAxOSwtMTkgNDUsLTE5IGggODk2IHEgMjYsMCA0NSwxOSAxOSwxOSAxOSw0NSB6IiAvPjwvc3ZnPg==); + background-repeat: no-repeat; + background-size: contain; + padding-left: 15px; + height: 0.9em; + display: inline-block; + position: relative; + top: 3px; +} +.icon-up-dir_active { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNjMDAiIGQ9Ik0xNDA4IDEyMTZxMCAyNi0xOSA0NXQtNDUgMTloLTg5NnEtMjYgMC00NS0xOXQtMTktNDUgMTktNDVsNDQ4LTQ0OHExOS0xOSA0NS0xOXQ0NSAxOWw0NDggNDQ4cTE5IDE5IDE5IDQ1eiIvPjwvc3ZnPg==); + background-repeat: no-repeat; + background-size: contain; + padding-left: 15px; + height: 0.9em; + display: inline-block; + position: relative; + top: 3px; +} +.icon-down-dir_active { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNjMDAiIGQ9Ik0xNDA4IDcwNHEwIDI2LTE5IDQ1bC00NDggNDQ4cS0xOSAxOS00NSAxOXQtNDUtMTlsLTQ0OC00NDhxLTE5LTE5LTE5LTQ1dDE5LTQ1IDQ1LTE5aDg5NnEyNiAwIDQ1IDE5dDE5IDQ1eiIvPjwvc3ZnPg==); + background-repeat: no-repeat; + background-size: contain; + padding-left: 15px; + height: 0.9em; + display: inline-block; + position: relative; + top: 3px; +} +.icon-info-circled { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxjaXJjbGUgY3g9Ijg5NiIgY3k9Ijg5NiIgcj0iNzUwIiBmaWxsPSIjZmZmIiAvPjxwYXRoIGZpbGw9IiMyOEE1RkYiIGQ9Ik0xMTUyIDEzNzZ2LTE2MHEwLTE0LTktMjN0LTIzLTloLTk2di01MTJxMC0xNC05LTIzdC0yMy05aC0zMjBxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloOTZ2MzIwaC05NnEtMTQgMC0yMyA5dC05IDIzdjE2MHEwIDE0IDkgMjN0MjMgOWg0NDhxMTQgMCAyMy05dDktMjN6bS0xMjgtODk2di0xNjBxMC0xNC05LTIzdC0yMy05aC0xOTJxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMtOXQ5LTIzem02NDAgNDE2cTAgMjA5LTEwMyAzODUuNXQtMjc5LjUgMjc5LjUtMzg1LjUgMTAzLTM4NS41LTEwMy0yNzkuNS0yNzkuNS0xMDMtMzg1LjUgMTAzLTM4NS41IDI3OS41LTI3OS41IDM4NS41LTEwMyAzODUuNSAxMDMgMjc5LjUgMjc5LjUgMTAzIDM4NS41eiIvPjwvc3ZnPg==); + background-repeat: no-repeat; + background-size: contain; + padding-left: 15px; + height: 0.9em; + display: inline-block; +} +.icon-plus { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNjAwIDczNnYxOTJxMCA0MC0yOCA2OHQtNjggMjhoLTQxNnY0MTZxMCA0MC0yOCA2OHQtNjggMjhoLTE5MnEtNDAgMC02OC0yOHQtMjgtNjh2LTQxNmgtNDE2cS00MCAwLTY4LTI4dC0yOC02OHYtMTkycTAtNDAgMjgtNjh0NjgtMjhoNDE2di00MTZxMC00MCAyOC02OHQ2OC0yOGgxOTJxNDAgMCA2OCAyOHQyOCA2OHY0MTZoNDE2cTQwIDAgNjggMjh0MjggNjh6Ii8+PC9zdmc+); + background-repeat: no-repeat; + background-size: contain; + padding-left: 15px; + height: 0.9em; + display: inline-block; + position: relative; + top: 3px; +} +.icon-minus { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNjMDAiIGQ9Ik0xNjAwIDczNnYxOTJxMCA0MC0yOCA2OHQtNjggMjhoLTEyMTZxLTQwIDAtNjgtMjh0LTI4LTY4di0xOTJxMC00MCAyOC02OHQ2OC0yOGgxMjE2cTQwIDAgNjggMjh0MjggNjh6Ii8+PC9zdmc+); + background-repeat: no-repeat; + background-size: contain; + padding-left: 15px; + height: 0.9em; + display: inline-block; + position: relative; + top: 3px; +} +.icon-wrench { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik00NDggMTQ3MnEwLTI2LTE5LTQ1dC00NS0xOS00NSAxOS0xOSA0NSAxOSA0NSA0NSAxOSA0NS0xOSAxOS00NXptNjQ0LTQyMGwtNjgyIDY4MnEtMzcgMzctOTAgMzctNTIgMC05MS0zN2wtMTA2LTEwOHEtMzgtMzYtMzgtOTAgMC01MyAzOC05MWw2ODEtNjgxcTM5IDk4IDExNC41IDE3My41dDE3My41IDExNC41em02MzQtNDM1cTAgMzktMjMgMTA2LTQ3IDEzNC0xNjQuNSAyMTcuNXQtMjU4LjUgODMuNXEtMTg1IDAtMzE2LjUtMTMxLjV0LTEzMS41LTMxNi41IDEzMS41LTMxNi41IDMxNi41LTEzMS41cTU4IDAgMTIxLjUgMTYuNXQxMDcuNSA0Ni41cTE2IDExIDE2IDI4dC0xNiAyOGwtMjkzIDE2OXYyMjRsMTkzIDEwN3E1LTMgNzktNDguNXQxMzUuNS04MSA3MC41LTM1LjVxMTUgMCAyMy41IDEwdDguNSAyNXoiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} +.icon-cog { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNDQ0Ljc4OCAyOTEuMWw0Mi42MTYgMjQuNTk5YzQuODY3IDIuODA5IDcuMTI2IDguNjE4IDUuNDU5IDEzLjk4NS0xMS4wNyAzNS42NDItMjkuOTcgNjcuODQyLTU0LjY4OSA5NC41ODZhMTIuMDE2IDEyLjAxNiAwIDAgMS0xNC44MzIgMi4yNTRsLTQyLjU4NC0yNC41OTVhMTkxLjU3NyAxOTEuNTc3IDAgMCAxLTYwLjc1OSAzNS4xM3Y0OS4xODJhMTIuMDEgMTIuMDEgMCAwIDEtOS4zNzcgMTEuNzE4Yy0zNC45NTYgNy44NS03Mi40OTkgOC4yNTYtMTA5LjIxOS4wMDctNS40OS0xLjIzMy05LjQwMy02LjA5Ni05LjQwMy0xMS43MjN2LTQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEtNjAuNzU5LTM1LjEzbC00Mi41ODQgMjQuNTk1YTEyLjAxNiAxMi4wMTYgMCAwIDEtMTQuODMyLTIuMjU0Yy0yNC43MTgtMjYuNzQ0LTQzLjYxOS01OC45NDQtNTQuNjg5LTk0LjU4Ni0xLjY2Ny01LjM2Ni41OTItMTEuMTc1IDUuNDU5LTEzLjk4NUw2Ny4yMTIgMjkxLjFhMTkzLjQ4IDE5My40OCAwIDAgMSAwLTcwLjE5OWwtNDIuNjE2LTI0LjU5OWMtNC44NjctMi44MDktNy4xMjYtOC42MTgtNS40NTktMTMuOTg1IDExLjA3LTM1LjY0MiAyOS45Ny02Ny44NDIgNTQuNjg5LTk0LjU4NmExMi4wMTYgMTIuMDE2IDAgMCAxIDE0LjgzMi0yLjI1NGw0Mi41ODQgMjQuNTk1YTE5MS41NzcgMTkxLjU3NyAwIDAgMSA2MC43NTktMzUuMTNWMjUuNzU5YTEyLjAxIDEyLjAxIDAgMCAxIDkuMzc3LTExLjcxOGMzNC45NTYtNy44NSA3Mi40OTktOC4yNTYgMTA5LjIxOS0uMDA3IDUuNDkgMS4yMzMgOS40MDMgNi4wOTYgOS40MDMgMTEuNzIzdjQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEgNjAuNzU5IDM1LjEzbDQyLjU4NC0yNC41OTVhMTIuMDE2IDEyLjAxNiAwIDAgMSAxNC44MzIgMi4yNTRjMjQuNzE4IDI2Ljc0NCA0My42MTkgNTguOTQ0IDU0LjY4OSA5NC41ODYgMS42NjcgNS4zNjYtLjU5MiAxMS4xNzUtNS40NTkgMTMuOTg1TDQ0NC43ODggMjIwLjlhMTkzLjQ4NSAxOTMuNDg1IDAgMCAxIDAgNzAuMnpNMzM2IDI1NmMwLTQ0LjExMi0zNS44ODgtODAtODAtODBzLTgwIDM1Ljg4OC04MCA4MCAzNS44ODggODAgODAgODAgODAtMzUuODg4IDgwLTgweiIvPjwvc3ZnPg==); + background-repeat: no-repeat; + background-size: contain; + padding-left: 16px; + height: 0.8em; + display: inline-block; +} +.icon-fork { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHN0eWxlPSJmaWxsOiNmZmYiIC8+PHBhdGggZD0iTTY3MiAxNDcycTAtNDAtMjgtNjh0LTY4LTI4LTY4IDI4LTI4IDY4IDI4IDY4IDY4IDI4IDY4LTI4IDI4LTY4em0wLTExNTJxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTY0MCAxMjhxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTk2IDBxMCA1Mi0yNiA5Ni41dC03MCA2OS41cS0yIDI4Ny0yMjYgNDE0LTY3IDM4LTIwMyA4MS0xMjggNDAtMTY5LjUgNzF0LTQxLjUgMTAwdjI2cTQ0IDI1IDcwIDY5LjV0MjYgOTYuNXEwIDgwLTU2IDEzNnQtMTM2IDU2LTEzNi01Ni01Ni0xMzZxMC01MiAyNi05Ni41dDcwLTY5LjV2LTgyMHEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnEwIDUyLTI2IDk2LjV0LTcwIDY5LjV2NDk3cTU0LTI2IDE1NC01NyA1NS0xNyA4Ny41LTI5LjV0NzAuNS0zMSA1OS0zOS41IDQwLjUtNTEgMjgtNjkuNSA4LjUtOTEuNXEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnoiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} +.icon-cube { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik04OTYgMTYyOWw2NDAtMzQ5di02MzZsLTY0MCAyMzN2NzUyem0tNjQtODY1bDY5OC0yNTQtNjk4LTI1NC02OTggMjU0em04MzItMjUydjc2OHEwIDM1LTE4IDY1dC00OSA0N2wtNzA0IDM4NHEtMjggMTYtNjEgMTZ0LTYxLTE2bC03MDQtMzg0cS0zMS0xNy00OS00N3QtMTgtNjV2LTc2OHEwLTQwIDIzLTczdDYxLTQ3bDcwNC0yNTZxMjItOCA0NC04dDQ0IDhsNzA0IDI1NnEzOCAxNCA2MSA0N3QyMyA3M3oiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} +.icon-search-plus { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiM2ZjZmNmYiIGQ9Ik0xMDg4IDgwMHY2NHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtMjI0djIyNHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtNjRxLTEzIDAtMjIuNS05LjV0LTkuNS0yMi41di0yMjRoLTIyNHEtMTMgMC0yMi41LTkuNXQtOS41LTIyLjV2LTY0cTAtMTMgOS41LTIyLjV0MjIuNS05LjVoMjI0di0yMjRxMC0xMyA5LjUtMjIuNXQyMi41LTkuNWg2NHExMyAwIDIyLjUgOS41dDkuNSAyMi41djIyNGgyMjRxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXptMTI4IDMycTAtMTg1LTEzMS41LTMxNi41dC0zMTYuNS0xMzEuNS0zMTYuNSAxMzEuNS0xMzEuNSAzMTYuNSAxMzEuNSAzMTYuNSAzMTYuNSAxMzEuNSAzMTYuNS0xMzEuNSAxMzEuNS0zMTYuNXptNTEyIDgzMnEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41cS01NCAwLTkwLTM4bC0zNDMtMzQycS0xNzkgMTI0LTM5OSAxMjQtMTQzIDAtMjczLjUtNTUuNXQtMjI1LTE1MC0xNTAtMjI1LTU1LjUtMjczLjUgNTUuNS0yNzMuNSAxNTAtMjI1IDIyNS0xNTAgMjczLjUtNTUuNSAyNzMuNSA1NS41IDIyNSAxNTAgMTUwIDIyNSA1NS41IDI3My41cTAgMjIwLTEyNCAzOTlsMzQzIDM0M3EzNyAzNyAzNyA5MHoiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} +.icon-search-minus { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiM2ZjZmNmYiIGQ9Ik0xMDg4IDgwMHY2NHEwIDEzLTkuNSAyMi41dC0yMi41IDkuNWgtNTc2cS0xMyAwLTIyLjUtOS41dC05LjUtMjIuNXYtNjRxMC0xMyA5LjUtMjIuNXQyMi41LTkuNWg1NzZxMTMgMCAyMi41IDkuNXQ5LjUgMjIuNXptMTI4IDMycTAtMTg1LTEzMS41LTMxNi41dC0zMTYuNS0xMzEuNS0zMTYuNSAxMzEuNS0xMzEuNSAzMTYuNSAxMzEuNSAzMTYuNSAzMTYuNSAxMzEuNSAzMTYuNS0xMzEuNSAxMzEuNS0zMTYuNXptNTEyIDgzMnEwIDUzLTM3LjUgOTAuNXQtOTAuNSAzNy41cS01NCAwLTkwLTM4bC0zNDMtMzQycS0xNzkgMTI0LTM5OSAxMjQtMTQzIDAtMjczLjUtNTUuNXQtMjI1LTE1MC0xNTAtMjI1LTU1LjUtMjczLjUgNTUuNS0yNzMuNSAxNTAtMjI1IDIyNS0xNTAgMjczLjUtNTUuNSAyNzMuNSA1NS41IDIyNSAxNTAgMTUwIDIyNSA1NS41IDI3My41cTAgMjIwLTEyNCAzOTlsMzQzIDM0M3EzNyAzNyAzNyA5MHoiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} +.icon-star { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNzI4IDY0N3EwIDIyLTI2IDQ4bC0zNjMgMzU0IDg2IDUwMHExIDcgMSAyMCAwIDIxLTEwLjUgMzUuNXQtMzAuNSAxNC41cS0xOSAwLTQwLTEybC00NDktMjM2LTQ0OSAyMzZxLTIyIDEyLTQwIDEyLTIxIDAtMzEuNS0xNC41dC0xMC41LTM1LjVxMC02IDItMjBsODYtNTAwLTM2NC0zNTRxLTI1LTI3LTI1LTQ4IDAtMzcgNTYtNDZsNTAyLTczIDIyNS00NTVxMTktNDEgNDktNDF0NDkgNDFsMjI1IDQ1NSA1MDIgNzNxNTYgOSA1NiA0NnoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} +.icon-sponsor { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik04OTYgMTY2NHEtMjYgMC00NC0xOGwtNjI0LTYwMnEtMTAtOC0yNy41LTI2dC01NS41LTY1LjUtNjgtOTcuNS01My41LTEyMS0yMy41LTEzOHEwLTIyMCAxMjctMzQ0dDM1MS0xMjRxNjIgMCAxMjYuNSAyMS41dDEyMCA1OCA5NS41IDY4LjUgNzYgNjhxMzYtMzYgNzYtNjh0OTUuNS02OC41IDEyMC01OCAxMjYuNS0yMS41cTIyNCAwIDM1MSAxMjR0MTI3IDM0NHEwIDIyMS0yMjkgNDUwbC02MjMgNjAwcS0xOCAxOC00NCAxOHoiIGZpbGw9IiNlYTRhYWEiLz48L3N2Zz4=); + background-repeat: no-repeat; + background-size: contain; + padding-left: 20px; + height: 0.9em; + display: inline-block; +} -------=_NextPart_000_0000_01D23618.54EBCBE0 -Content-Type: text/html; - charset="utf-8" -Content-Transfer-Encoding: 8bit -Content-Location: file:///Sample_TestClass2.html +.ngx-slider .ngx-slider-bar { + background: #a9a9a9 !important; +} - - - - - - - -Test.TestClass2 - Coverage Report - -
-

< Summary

-
-
-
Information
-
-
- - - - - - - - - - - - - -
Class:Test.TestClass2
Assembly:Sample
File(s):C:\temp\TestClass2.cs
-
-
-
-
-
-
-
Line coverage
-
-
63%
-
- - - - - - - - - - - - - - - - - - - - - -
Covered lines:24
Uncovered lines:14
Coverable lines:38
Total lines:85
Line coverage:63.1%
-
-
-
-
-
Branch coverage
-
-
50%
-
- - - - - - - - - - - - - -
Covered branches:1
Total branches:2
Branch coverage:50%
-
-
-
-
-
Method coverage
-
-
60%
-
- - - - - - - - - - - - - - - - - - - - - -
Covered methods:6
Fully covered methods:3
Total methods:10
Method coverage:60%
Full method coverage:30%
-
-
-
-
-

Coverage history

-
- -Coverage history - - - - - - - - - - - - - - 0 - 25 - 50 - 75 - 100 - - - - - - - - - - - - - -
- -

Metrics

-
- -------- - - - - - - - - - -
MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
.ctor()0%2100%
.ctor(...)100%110100%
ExecutedMethod()100%110100%
UnExecutedMethod()0%2100%
SampleFunction(...)66.67%552100%
DoSomething(...)0%2100%
-
-

File(s)

-

C:\temp\TestClass2.cs

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#LineLine coverage
 1using System;
 2using System.Collections.Generic;
 3using System.Linq;
 4
 5namespace Test
 6{
 7    class TestClass2
 8    {
 9        private string name;
 10
 211        private Dictionary<string, int> dict = new Dictionary<string, int>();
 12
 313        public string ExecutedProperty { get; set; }
 14
 015        public string UnExecutedProperty { get; set; }
 16
 017        public TestClass2()
 018        {
 019            this.name = "Nobody";
 020            this.ExecutedProperty = "Nobody";
 021        }
 22
 223        public TestClass2(string name)
 224        {
 225            this.name = name;
 226            this.ExecutedProperty = name + name;
 227        }
 28
 29        public void ExecutedMethod()
 130        {
 131            Console.WriteLine(this.name);
 132            Console.WriteLine(this.ExecutedProperty);
 133        }
 34
 35        public void UnExecutedMethod()
 036        {
 037            Console.WriteLine(this.name);
 038            Console.WriteLine(this.ExecutedProperty);
 039        }
 40
 41        public void SampleFunction(string city)
 142        {
 143            int[] values = new int[] { 0, 1, 2, 3 };
 44
 545            var doubled = values.Select(i => i * 2);
 46
 1147            foreach (var item in doubled)
 448            {
 449                Console.WriteLine(item);
 450            }
 51
 152            string[] cities = new string[] { "Berlin", "Munich", "Paris" };
 53
 454            if (cities.SingleOrDefault(c => c.Equals(city, StringComparison.OrdinalIgnoreCase)) != null)
 155            {
 156                Console.WriteLine("Found " + city);
 157            }
 158        }
 59
 60        public string DoSomething(string value,
 61            string[] stringArray,
 62            Guid id,
 63            IEnumerable<string> stringEnumerable,
 64            IList<string> stringList,
 65            decimal dec,
 66            int i,
 67            Dictionary<string, int> dict,
 68            out int g,
 69            float fff,
 70            double dou,
 71            bool bo,
 72            byte by,
 73            char ch,
 74            object o,
 75            sbyte sby,
 76            short sh,
 77            uint ui,
 78            ulong ul,
 79            ushort usho)
 080        {
 081            g = 0;
 082            return null;
 083        }
 84    }
 85}
-
-
-
- - -------=_NextPart_000_0000_01D23618.54EBCBE0 -Content-Type: application/javascript; - charset="utf-8" -Content-Transfer-Encoding: 8bit -Content-Location: file:///main.js + .overview th { + background-color: #444; + border: 1px solid #3B3A39; + } -/* Chartist.js 0.11.4 - * Copyright © 2019 Gion Kunz - * Free to use under either the WTFPL license or the MIT license. - * https://raw.githubusercontent.com/gionkunz/chartist-js/master/LICENSE-WTFPL - * https://raw.githubusercontent.com/gionkunz/chartist-js/master/LICENSE-MIT - */ + .overview tr.namespace th { + background-color: #444; + } -!function (e, t) { "function" == typeof define && define.amd ? define("Chartist", [], (function () { return e.Chartist = t() })) : "object" == typeof module && module.exports ? module.exports = t() : e.Chartist = t() }(this, (function () { var e = { version: "0.11.4" }; return function (e, t) { "use strict"; var i = e.window, n = e.document; t.namespaces = { svg: "http://www.w3.org/2000/svg", xmlns: "http://www.w3.org/2000/xmlns/", xhtml: "http://www.w3.org/1999/xhtml", xlink: "http://www.w3.org/1999/xlink", ct: "http://gionkunz.github.com/chartist-js/ct" }, t.noop = function (e) { return e }, t.alphaNumerate = function (e) { return String.fromCharCode(97 + e % 26) }, t.extend = function (e) { var i, n, s, r; for (e = e || {}, i = 1; i < arguments.length; i++)for (var a in n = arguments[i], r = Object.getPrototypeOf(e), n) "__proto__" === a || "constructor" === a || null !== r && a in r || (s = n[a], e[a] = "object" != typeof s || null === s || s instanceof Array ? s : t.extend(e[a], s)); return e }, t.replaceAll = function (e, t, i) { return e.replace(new RegExp(t, "g"), i) }, t.ensureUnit = function (e, t) { return "number" == typeof e && (e += t), e }, t.quantity = function (e) { if ("string" == typeof e) { var t = /^(\d+)\s*(.*)$/g.exec(e); return { value: +t[1], unit: t[2] || void 0 } } return { value: e } }, t.querySelector = function (e) { return e instanceof Node ? e : n.querySelector(e) }, t.times = function (e) { return Array.apply(null, new Array(e)) }, t.sum = function (e, t) { return e + (t || 0) }, t.mapMultiply = function (e) { return function (t) { return t * e } }, t.mapAdd = function (e) { return function (t) { return t + e } }, t.serialMap = function (e, i) { var n = [], s = Math.max.apply(null, e.map((function (e) { return e.length }))); return t.times(s).forEach((function (t, s) { var r = e.map((function (e) { return e[s] })); n[s] = i.apply(null, r) })), n }, t.roundWithPrecision = function (e, i) { var n = Math.pow(10, i || t.precision); return Math.round(e * n) / n }, t.precision = 8, t.escapingMap = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }, t.serialize = function (e) { return null == e ? e : ("number" == typeof e ? e = "" + e : "object" == typeof e && (e = JSON.stringify({ data: e })), Object.keys(t.escapingMap).reduce((function (e, i) { return t.replaceAll(e, i, t.escapingMap[i]) }), e)) }, t.deserialize = function (e) { if ("string" != typeof e) return e; e = Object.keys(t.escapingMap).reduce((function (e, i) { return t.replaceAll(e, t.escapingMap[i], i) }), e); try { e = void 0 !== (e = JSON.parse(e)).data ? e.data : e } catch (e) { } return e }, t.createSvg = function (e, i, n, s) { var r; return i = i || "100%", n = n || "100%", Array.prototype.slice.call(e.querySelectorAll("svg")).filter((function (e) { return e.getAttributeNS(t.namespaces.xmlns, "ct") })).forEach((function (t) { e.removeChild(t) })), (r = new t.Svg("svg").attr({ width: i, height: n }).addClass(s))._node.style.width = i, r._node.style.height = n, e.appendChild(r._node), r }, t.normalizeData = function (e, i, n) { var s, r = { raw: e, normalized: {} }; return r.normalized.series = t.getDataArray({ series: e.series || [] }, i, n), s = r.normalized.series.every((function (e) { return e instanceof Array })) ? Math.max.apply(null, r.normalized.series.map((function (e) { return e.length }))) : r.normalized.series.length, r.normalized.labels = (e.labels || []).slice(), Array.prototype.push.apply(r.normalized.labels, t.times(Math.max(0, s - r.normalized.labels.length)).map((function () { return "" }))), i && t.reverseData(r.normalized), r }, t.safeHasProperty = function (e, t) { return null !== e && "object" == typeof e && e.hasOwnProperty(t) }, t.isDataHoleValue = function (e) { return null == e || "number" == typeof e && isNaN(e) }, t.reverseData = function (e) { e.labels.reverse(), e.series.reverse(); for (var t = 0; t < e.series.length; t++)"object" == typeof e.series[t] && void 0 !== e.series[t].data ? e.series[t].data.reverse() : e.series[t] instanceof Array && e.series[t].reverse() }, t.getDataArray = function (e, i, n) { return e.series.map((function e(i) { if (t.safeHasProperty(i, "value")) return e(i.value); if (t.safeHasProperty(i, "data")) return e(i.data); if (i instanceof Array) return i.map(e); if (!t.isDataHoleValue(i)) { if (n) { var s = {}; return "string" == typeof n ? s[n] = t.getNumberOrUndefined(i) : s.y = t.getNumberOrUndefined(i), s.x = i.hasOwnProperty("x") ? t.getNumberOrUndefined(i.x) : s.x, s.y = i.hasOwnProperty("y") ? t.getNumberOrUndefined(i.y) : s.y, s } return t.getNumberOrUndefined(i) } })) }, t.normalizePadding = function (e, t) { return t = t || 0, "number" == typeof e ? { top: e, right: e, bottom: e, left: e } : { top: "number" == typeof e.top ? e.top : t, right: "number" == typeof e.right ? e.right : t, bottom: "number" == typeof e.bottom ? e.bottom : t, left: "number" == typeof e.left ? e.left : t } }, t.getMetaData = function (e, t) { var i = e.data ? e.data[t] : e[t]; return i ? i.meta : void 0 }, t.orderOfMagnitude = function (e) { return Math.floor(Math.log(Math.abs(e)) / Math.LN10) }, t.projectLength = function (e, t, i) { return t / i.range * e }, t.getAvailableHeight = function (e, i) { return Math.max((t.quantity(i.height).value || e.height()) - (i.chartPadding.top + i.chartPadding.bottom) - i.axisX.offset, 0) }, t.getHighLow = function (e, i, n) { var s = { high: void 0 === (i = t.extend({}, i, n ? i["axis" + n.toUpperCase()] : {})).high ? -Number.MAX_VALUE : +i.high, low: void 0 === i.low ? Number.MAX_VALUE : +i.low }, r = void 0 === i.high, a = void 0 === i.low; return (r || a) && function e(t) { if (void 0 !== t) if (t instanceof Array) for (var i = 0; i < t.length; i++)e(t[i]); else { var o = n ? +t[n] : +t; r && o > s.high && (s.high = o), a && o < s.low && (s.low = o) } }(e), (i.referenceValue || 0 === i.referenceValue) && (s.high = Math.max(i.referenceValue, s.high), s.low = Math.min(i.referenceValue, s.low)), s.high <= s.low && (0 === s.low ? s.high = 1 : s.low < 0 ? s.high = 0 : (s.high > 0 || (s.high = 1), s.low = 0)), s }, t.isNumeric = function (e) { return null !== e && isFinite(e) }, t.isFalseyButZero = function (e) { return !e && 0 !== e }, t.getNumberOrUndefined = function (e) { return t.isNumeric(e) ? +e : void 0 }, t.isMultiValue = function (e) { return "object" == typeof e && ("x" in e || "y" in e) }, t.getMultiValue = function (e, i) { return t.isMultiValue(e) ? t.getNumberOrUndefined(e[i || "y"]) : t.getNumberOrUndefined(e) }, t.rho = function (e) { if (1 === e) return e; function t(e, i) { return e % i == 0 ? i : t(i, e % i) } function i(e) { return e * e + 1 } var n, s = 2, r = 2; if (e % 2 == 0) return 2; do { s = i(s) % e, r = i(i(r)) % e, n = t(Math.abs(s - r), e) } while (1 === n); return n }, t.getBounds = function (e, i, n, s) { var r, a, o, l = 0, h = { high: i.high, low: i.low }; h.valueRange = h.high - h.low, h.oom = t.orderOfMagnitude(h.valueRange), h.step = Math.pow(10, h.oom), h.min = Math.floor(h.low / h.step) * h.step, h.max = Math.ceil(h.high / h.step) * h.step, h.range = h.max - h.min, h.numberOfSteps = Math.round(h.range / h.step); var u = t.projectLength(e, h.step, h) < n, c = s ? t.rho(h.range) : 0; if (s && t.projectLength(e, 1, h) >= n) h.step = 1; else if (s && c < h.step && t.projectLength(e, c, h) >= n) h.step = c; else for (; ;) { if (u && t.projectLength(e, h.step, h) <= n) h.step *= 2; else { if (u || !(t.projectLength(e, h.step / 2, h) >= n)) break; if (h.step /= 2, s && h.step % 1 != 0) { h.step *= 2; break } } if (l++ > 1e3) throw new Error("Exceeded maximum number of iterations while optimizing scale step!") } var d = 2221e-19; function p(e, t) { return e === (e += t) && (e *= 1 + (t > 0 ? d : -d)), e } for (h.step = Math.max(h.step, d), a = h.min, o = h.max; a + h.step <= h.low;)a = p(a, h.step); for (; o - h.step >= h.high;)o = p(o, -h.step); h.min = a, h.max = o, h.range = h.max - h.min; var f = []; for (r = h.min; r <= h.max; r = p(r, h.step)) { var m = t.roundWithPrecision(r); m !== f[f.length - 1] && f.push(m) } return h.values = f, h }, t.polarToCartesian = function (e, t, i, n) { var s = (n - 90) * Math.PI / 180; return { x: e + i * Math.cos(s), y: t + i * Math.sin(s) } }, t.createChartRect = function (e, i, n) { var s = !(!i.axisX && !i.axisY), r = s ? i.axisY.offset : 0, a = s ? i.axisX.offset : 0, o = e.width() || t.quantity(i.width).value || 0, l = e.height() || t.quantity(i.height).value || 0, h = t.normalizePadding(i.chartPadding, n); o = Math.max(o, r + h.left + h.right), l = Math.max(l, a + h.top + h.bottom); var u = { padding: h, width: function () { return this.x2 - this.x1 }, height: function () { return this.y1 - this.y2 } }; return s ? ("start" === i.axisX.position ? (u.y2 = h.top + a, u.y1 = Math.max(l - h.bottom, u.y2 + 1)) : (u.y2 = h.top, u.y1 = Math.max(l - h.bottom - a, u.y2 + 1)), "start" === i.axisY.position ? (u.x1 = h.left + r, u.x2 = Math.max(o - h.right, u.x1 + 1)) : (u.x1 = h.left, u.x2 = Math.max(o - h.right - r, u.x1 + 1))) : (u.x1 = h.left, u.x2 = Math.max(o - h.right, u.x1 + 1), u.y2 = h.top, u.y1 = Math.max(l - h.bottom, u.y2 + 1)), u }, t.createGrid = function (e, i, n, s, r, a, o, l) { var h = {}; h[n.units.pos + "1"] = e, h[n.units.pos + "2"] = e, h[n.counterUnits.pos + "1"] = s, h[n.counterUnits.pos + "2"] = s + r; var u = a.elem("line", h, o.join(" ")); l.emit("draw", t.extend({ type: "grid", axis: n, index: i, group: a, element: u }, h)) }, t.createGridBackground = function (e, t, i, n) { var s = e.elem("rect", { x: t.x1, y: t.y2, width: t.width(), height: t.height() }, i, !0); n.emit("draw", { type: "gridBackground", group: e, element: s }) }, t.createLabel = function (e, i, s, r, a, o, l, h, u, c, d) { var p, f = {}; if (f[a.units.pos] = e + l[a.units.pos], f[a.counterUnits.pos] = l[a.counterUnits.pos], f[a.units.len] = i, f[a.counterUnits.len] = Math.max(0, o - 10), c) { var m = n.createElement("span"); m.className = u.join(" "), m.setAttribute("xmlns", t.namespaces.xhtml), m.innerText = r[s], m.style[a.units.len] = Math.round(f[a.units.len]) + "px", m.style[a.counterUnits.len] = Math.round(f[a.counterUnits.len]) + "px", p = h.foreignObject(m, t.extend({ style: "overflow: visible;" }, f)) } else p = h.elem("text", f, u.join(" ")).text(r[s]); d.emit("draw", t.extend({ type: "label", axis: a, index: s, group: h, element: p, text: r[s] }, f)) }, t.getSeriesOption = function (e, t, i) { if (e.name && t.series && t.series[e.name]) { var n = t.series[e.name]; return n.hasOwnProperty(i) ? n[i] : t[i] } return t[i] }, t.optionsProvider = function (e, n, s) { var r, a, o = t.extend({}, e), l = []; function h(e) { var l = r; if (r = t.extend({}, o), n) for (a = 0; a < n.length; a++) { i.matchMedia(n[a][0]).matches && (r = t.extend(r, n[a][1])) } s && e && s.emit("optionsChanged", { previousOptions: l, currentOptions: r }) } if (!i.matchMedia) throw "window.matchMedia not found! Make sure you're using a polyfill."; if (n) for (a = 0; a < n.length; a++) { var u = i.matchMedia(n[a][0]); u.addListener(h), l.push(u) } return h(), { removeMediaQueryListeners: function () { l.forEach((function (e) { e.removeListener(h) })) }, getCurrentOptions: function () { return t.extend({}, r) } } }, t.splitIntoSegments = function (e, i, n) { n = t.extend({}, { increasingX: !1, fillHoles: !1 }, n); for (var s = [], r = !0, a = 0; a < e.length; a += 2)void 0 === t.getMultiValue(i[a / 2].value) ? n.fillHoles || (r = !0) : (n.increasingX && a >= 2 && e[a] <= e[a - 2] && (r = !0), r && (s.push({ pathCoordinates: [], valueData: [] }), r = !1), s[s.length - 1].pathCoordinates.push(e[a], e[a + 1]), s[s.length - 1].valueData.push(i[a / 2])); return s } }(this || global, e), function (e, t) { "use strict"; t.Interpolation = {}, t.Interpolation.none = function (e) { return e = t.extend({}, { fillHoles: !1 }, e), function (i, n) { for (var s = new t.Svg.Path, r = !0, a = 0; a < i.length; a += 2) { var o = i[a], l = i[a + 1], h = n[a / 2]; void 0 !== t.getMultiValue(h.value) ? (r ? s.move(o, l, !1, h) : s.line(o, l, !1, h), r = !1) : e.fillHoles || (r = !0) } return s } }, t.Interpolation.simple = function (e) { e = t.extend({}, { divisor: 2, fillHoles: !1 }, e); var i = 1 / Math.max(1, e.divisor); return function (n, s) { for (var r, a, o, l = new t.Svg.Path, h = 0; h < n.length; h += 2) { var u = n[h], c = n[h + 1], d = (u - r) * i, p = s[h / 2]; void 0 !== p.value ? (void 0 === o ? l.move(u, c, !1, p) : l.curve(r + d, a, u - d, c, u, c, !1, p), r = u, a = c, o = p) : e.fillHoles || (r = u = o = void 0) } return l } }, t.Interpolation.cardinal = function (e) { e = t.extend({}, { tension: 1, fillHoles: !1 }, e); var i = Math.min(1, Math.max(0, e.tension)), n = 1 - i; return function s(r, a) { var o = t.splitIntoSegments(r, a, { fillHoles: e.fillHoles }); if (o.length) { if (o.length > 1) { var l = []; return o.forEach((function (e) { l.push(s(e.pathCoordinates, e.valueData)) })), t.Svg.Path.join(l) } if (r = o[0].pathCoordinates, a = o[0].valueData, r.length <= 4) return t.Interpolation.none()(r, a); for (var h = (new t.Svg.Path).move(r[0], r[1], !1, a[0]), u = 0, c = r.length; c - 2 > u; u += 2) { var d = [{ x: +r[u - 2], y: +r[u - 1] }, { x: +r[u], y: +r[u + 1] }, { x: +r[u + 2], y: +r[u + 3] }, { x: +r[u + 4], y: +r[u + 5] }]; c - 4 === u ? d[3] = d[2] : u || (d[0] = { x: +r[u], y: +r[u + 1] }), h.curve(i * (-d[0].x + 6 * d[1].x + d[2].x) / 6 + n * d[2].x, i * (-d[0].y + 6 * d[1].y + d[2].y) / 6 + n * d[2].y, i * (d[1].x + 6 * d[2].x - d[3].x) / 6 + n * d[2].x, i * (d[1].y + 6 * d[2].y - d[3].y) / 6 + n * d[2].y, d[2].x, d[2].y, !1, a[(u + 2) / 2]) } return h } return t.Interpolation.none()([]) } }, t.Interpolation.monotoneCubic = function (e) { return e = t.extend({}, { fillHoles: !1 }, e), function i(n, s) { var r = t.splitIntoSegments(n, s, { fillHoles: e.fillHoles, increasingX: !0 }); if (r.length) { if (r.length > 1) { var a = []; return r.forEach((function (e) { a.push(i(e.pathCoordinates, e.valueData)) })), t.Svg.Path.join(a) } if (n = r[0].pathCoordinates, s = r[0].valueData, n.length <= 4) return t.Interpolation.none()(n, s); var o, l, h = [], u = [], c = n.length / 2, d = [], p = [], f = [], m = []; for (o = 0; o < c; o++)h[o] = n[2 * o], u[o] = n[2 * o + 1]; for (o = 0; o < c - 1; o++)f[o] = u[o + 1] - u[o], m[o] = h[o + 1] - h[o], p[o] = f[o] / m[o]; for (d[0] = p[0], d[c - 1] = p[c - 2], o = 1; o < c - 1; o++)0 === p[o] || 0 === p[o - 1] || p[o - 1] > 0 != p[o] > 0 ? d[o] = 0 : (d[o] = 3 * (m[o - 1] + m[o]) / ((2 * m[o] + m[o - 1]) / p[o - 1] + (m[o] + 2 * m[o - 1]) / p[o]), isFinite(d[o]) || (d[o] = 0)); for (l = (new t.Svg.Path).move(h[0], u[0], !1, s[0]), o = 0; o < c - 1; o++)l.curve(h[o] + m[o] / 3, u[o] + d[o] * m[o] / 3, h[o + 1] - m[o] / 3, u[o + 1] - d[o + 1] * m[o] / 3, h[o + 1], u[o + 1], !1, s[o + 1]); return l } return t.Interpolation.none()([]) } }, t.Interpolation.step = function (e) { return e = t.extend({}, { postpone: !0, fillHoles: !1 }, e), function (i, n) { for (var s, r, a, o = new t.Svg.Path, l = 0; l < i.length; l += 2) { var h = i[l], u = i[l + 1], c = n[l / 2]; void 0 !== c.value ? (void 0 === a ? o.move(h, u, !1, c) : (e.postpone ? o.line(h, r, !1, a) : o.line(s, u, !1, c), o.line(h, u, !1, c)), s = h, r = u, a = c) : e.fillHoles || (s = r = a = void 0) } return o } } }(this || global, e), function (e, t) { "use strict"; t.EventEmitter = function () { var e = []; return { addEventHandler: function (t, i) { e[t] = e[t] || [], e[t].push(i) }, removeEventHandler: function (t, i) { e[t] && (i ? (e[t].splice(e[t].indexOf(i), 1), 0 === e[t].length && delete e[t]) : delete e[t]) }, emit: function (t, i) { e[t] && e[t].forEach((function (e) { e(i) })), e["*"] && e["*"].forEach((function (e) { e(t, i) })) } } } }(this || global, e), function (e, t) { "use strict"; t.Class = { extend: function (e, i) { var n = i || this.prototype || t.Class, s = Object.create(n); t.Class.cloneDefinitions(s, e); var r = function () { var e, i = s.constructor || function () { }; return e = this === t ? Object.create(s) : this, i.apply(e, Array.prototype.slice.call(arguments, 0)), e }; return r.prototype = s, r.super = n, r.extend = this.extend, r }, cloneDefinitions: function () { var e = function (e) { var t = []; if (e.length) for (var i = 0; i < e.length; i++)t.push(e[i]); return t }(arguments), t = e[0]; return e.splice(1, e.length - 1).forEach((function (e) { Object.getOwnPropertyNames(e).forEach((function (i) { delete t[i], Object.defineProperty(t, i, Object.getOwnPropertyDescriptor(e, i)) })) })), t } } }(this || global, e), function (e, t) { "use strict"; var i = e.window; function n() { i.addEventListener("resize", this.resizeListener), this.optionsProvider = t.optionsProvider(this.options, this.responsiveOptions, this.eventEmitter), this.eventEmitter.addEventHandler("optionsChanged", function () { this.update() }.bind(this)), this.options.plugins && this.options.plugins.forEach(function (e) { e instanceof Array ? e[0](this, e[1]) : e(this) }.bind(this)), this.eventEmitter.emit("data", { type: "initial", data: this.data }), this.createChart(this.optionsProvider.getCurrentOptions()), this.initializeTimeoutId = void 0 } t.Base = t.Class.extend({ constructor: function (e, i, s, r, a) { this.container = t.querySelector(e), this.data = i || {}, this.data.labels = this.data.labels || [], this.data.series = this.data.series || [], this.defaultOptions = s, this.options = r, this.responsiveOptions = a, this.eventEmitter = t.EventEmitter(), this.supportsForeignObject = t.Svg.isSupported("Extensibility"), this.supportsAnimations = t.Svg.isSupported("AnimationEventsAttribute"), this.resizeListener = function () { this.update() }.bind(this), this.container && (this.container.__chartist__ && this.container.__chartist__.detach(), this.container.__chartist__ = this), this.initializeTimeoutId = setTimeout(n.bind(this), 0) }, optionsProvider: void 0, container: void 0, svg: void 0, eventEmitter: void 0, createChart: function () { throw new Error("Base chart type can't be instantiated!") }, update: function (e, i, n) { return e && (this.data = e || {}, this.data.labels = this.data.labels || [], this.data.series = this.data.series || [], this.eventEmitter.emit("data", { type: "update", data: this.data })), i && (this.options = t.extend({}, n ? this.options : this.defaultOptions, i), this.initializeTimeoutId || (this.optionsProvider.removeMediaQueryListeners(), this.optionsProvider = t.optionsProvider(this.options, this.responsiveOptions, this.eventEmitter))), this.initializeTimeoutId || this.createChart(this.optionsProvider.getCurrentOptions()), this }, detach: function () { return this.initializeTimeoutId ? i.clearTimeout(this.initializeTimeoutId) : (i.removeEventListener("resize", this.resizeListener), this.optionsProvider.removeMediaQueryListeners()), this }, on: function (e, t) { return this.eventEmitter.addEventHandler(e, t), this }, off: function (e, t) { return this.eventEmitter.removeEventHandler(e, t), this }, version: t.version, supportsForeignObject: !1 }) }(this || global, e), function (e, t) { "use strict"; var i = e.document; t.Svg = t.Class.extend({ constructor: function (e, n, s, r, a) { e instanceof Element ? this._node = e : (this._node = i.createElementNS(t.namespaces.svg, e), "svg" === e && this.attr({ "xmlns:ct": t.namespaces.ct })), n && this.attr(n), s && this.addClass(s), r && (a && r._node.firstChild ? r._node.insertBefore(this._node, r._node.firstChild) : r._node.appendChild(this._node)) }, attr: function (e, i) { return "string" == typeof e ? i ? this._node.getAttributeNS(i, e) : this._node.getAttribute(e) : (Object.keys(e).forEach(function (i) { if (void 0 !== e[i]) if (-1 !== i.indexOf(":")) { var n = i.split(":"); this._node.setAttributeNS(t.namespaces[n[0]], i, e[i]) } else this._node.setAttribute(i, e[i]) }.bind(this)), this) }, elem: function (e, i, n, s) { return new t.Svg(e, i, n, this, s) }, parent: function () { return this._node.parentNode instanceof SVGElement ? new t.Svg(this._node.parentNode) : null }, root: function () { for (var e = this._node; "svg" !== e.nodeName;)e = e.parentNode; return new t.Svg(e) }, querySelector: function (e) { var i = this._node.querySelector(e); return i ? new t.Svg(i) : null }, querySelectorAll: function (e) { var i = this._node.querySelectorAll(e); return i.length ? new t.Svg.List(i) : null }, getNode: function () { return this._node }, foreignObject: function (e, n, s, r) { if ("string" == typeof e) { var a = i.createElement("div"); a.innerHTML = e, e = a.firstChild } e.setAttribute("xmlns", t.namespaces.xmlns); var o = this.elem("foreignObject", n, s, r); return o._node.appendChild(e), o }, text: function (e) { return this._node.appendChild(i.createTextNode(e)), this }, empty: function () { for (; this._node.firstChild;)this._node.removeChild(this._node.firstChild); return this }, remove: function () { return this._node.parentNode.removeChild(this._node), this.parent() }, replace: function (e) { return this._node.parentNode.replaceChild(e._node, this._node), e }, append: function (e, t) { return t && this._node.firstChild ? this._node.insertBefore(e._node, this._node.firstChild) : this._node.appendChild(e._node), this }, classes: function () { return this._node.getAttribute("class") ? this._node.getAttribute("class").trim().split(/\s+/) : [] }, addClass: function (e) { return this._node.setAttribute("class", this.classes(this._node).concat(e.trim().split(/\s+/)).filter((function (e, t, i) { return i.indexOf(e) === t })).join(" ")), this }, removeClass: function (e) { var t = e.trim().split(/\s+/); return this._node.setAttribute("class", this.classes(this._node).filter((function (e) { return -1 === t.indexOf(e) })).join(" ")), this }, removeAllClasses: function () { return this._node.setAttribute("class", ""), this }, height: function () { return this._node.getBoundingClientRect().height }, width: function () { return this._node.getBoundingClientRect().width }, animate: function (e, i, n) { return void 0 === i && (i = !0), Object.keys(e).forEach(function (s) { function r(e, i) { var r, a, o, l = {}; e.easing && (o = e.easing instanceof Array ? e.easing : t.Svg.Easing[e.easing], delete e.easing), e.begin = t.ensureUnit(e.begin, "ms"), e.dur = t.ensureUnit(e.dur, "ms"), o && (e.calcMode = "spline", e.keySplines = o.join(" "), e.keyTimes = "0;1"), i && (e.fill = "freeze", l[s] = e.from, this.attr(l), a = t.quantity(e.begin || 0).value, e.begin = "indefinite"), r = this.elem("animate", t.extend({ attributeName: s }, e)), i && setTimeout(function () { try { r._node.beginElement() } catch (t) { l[s] = e.to, this.attr(l), r.remove() } }.bind(this), a), n && r._node.addEventListener("beginEvent", function () { n.emit("animationBegin", { element: this, animate: r._node, params: e }) }.bind(this)), r._node.addEventListener("endEvent", function () { n && n.emit("animationEnd", { element: this, animate: r._node, params: e }), i && (l[s] = e.to, this.attr(l), r.remove()) }.bind(this)) } e[s] instanceof Array ? e[s].forEach(function (e) { r.bind(this)(e, !1) }.bind(this)) : r.bind(this)(e[s], i) }.bind(this)), this } }), t.Svg.isSupported = function (e) { return i.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#" + e, "1.1") }; t.Svg.Easing = { easeInSine: [.47, 0, .745, .715], easeOutSine: [.39, .575, .565, 1], easeInOutSine: [.445, .05, .55, .95], easeInQuad: [.55, .085, .68, .53], easeOutQuad: [.25, .46, .45, .94], easeInOutQuad: [.455, .03, .515, .955], easeInCubic: [.55, .055, .675, .19], easeOutCubic: [.215, .61, .355, 1], easeInOutCubic: [.645, .045, .355, 1], easeInQuart: [.895, .03, .685, .22], easeOutQuart: [.165, .84, .44, 1], easeInOutQuart: [.77, 0, .175, 1], easeInQuint: [.755, .05, .855, .06], easeOutQuint: [.23, 1, .32, 1], easeInOutQuint: [.86, 0, .07, 1], easeInExpo: [.95, .05, .795, .035], easeOutExpo: [.19, 1, .22, 1], easeInOutExpo: [1, 0, 0, 1], easeInCirc: [.6, .04, .98, .335], easeOutCirc: [.075, .82, .165, 1], easeInOutCirc: [.785, .135, .15, .86], easeInBack: [.6, -.28, .735, .045], easeOutBack: [.175, .885, .32, 1.275], easeInOutBack: [.68, -.55, .265, 1.55] }, t.Svg.List = t.Class.extend({ constructor: function (e) { var i = this; this.svgElements = []; for (var n = 0; n < e.length; n++)this.svgElements.push(new t.Svg(e[n])); Object.keys(t.Svg.prototype).filter((function (e) { return -1 === ["constructor", "parent", "querySelector", "querySelectorAll", "replace", "append", "classes", "height", "width"].indexOf(e) })).forEach((function (e) { i[e] = function () { var n = Array.prototype.slice.call(arguments, 0); return i.svgElements.forEach((function (i) { t.Svg.prototype[e].apply(i, n) })), i } })) } }) }(this || global, e), function (e, t) { "use strict"; var i = { m: ["x", "y"], l: ["x", "y"], c: ["x1", "y1", "x2", "y2", "x", "y"], a: ["rx", "ry", "xAr", "lAf", "sf", "x", "y"] }, n = { accuracy: 3 }; function s(e, i, n, s, r, a) { var o = t.extend({ command: r ? e.toLowerCase() : e.toUpperCase() }, i, a ? { data: a } : {}); n.splice(s, 0, o) } function r(e, t) { e.forEach((function (n, s) { i[n.command.toLowerCase()].forEach((function (i, r) { t(n, i, s, r, e) })) })) } t.Svg.Path = t.Class.extend({ constructor: function (e, i) { this.pathElements = [], this.pos = 0, this.close = e, this.options = t.extend({}, n, i) }, position: function (e) { return void 0 !== e ? (this.pos = Math.max(0, Math.min(this.pathElements.length, e)), this) : this.pos }, remove: function (e) { return this.pathElements.splice(this.pos, e), this }, move: function (e, t, i, n) { return s("M", { x: +e, y: +t }, this.pathElements, this.pos++, i, n), this }, line: function (e, t, i, n) { return s("L", { x: +e, y: +t }, this.pathElements, this.pos++, i, n), this }, curve: function (e, t, i, n, r, a, o, l) { return s("C", { x1: +e, y1: +t, x2: +i, y2: +n, x: +r, y: +a }, this.pathElements, this.pos++, o, l), this }, arc: function (e, t, i, n, r, a, o, l, h) { return s("A", { rx: +e, ry: +t, xAr: +i, lAf: +n, sf: +r, x: +a, y: +o }, this.pathElements, this.pos++, l, h), this }, scale: function (e, t) { return r(this.pathElements, (function (i, n) { i[n] *= "x" === n[0] ? e : t })), this }, translate: function (e, t) { return r(this.pathElements, (function (i, n) { i[n] += "x" === n[0] ? e : t })), this }, transform: function (e) { return r(this.pathElements, (function (t, i, n, s, r) { var a = e(t, i, n, s, r); (a || 0 === a) && (t[i] = a) })), this }, parse: function (e) { var n = e.replace(/([A-Za-z])([0-9])/g, "$1 $2").replace(/([0-9])([A-Za-z])/g, "$1 $2").split(/[\s,]+/).reduce((function (e, t) { return t.match(/[A-Za-z]/) && e.push([]), e[e.length - 1].push(t), e }), []); "Z" === n[n.length - 1][0].toUpperCase() && n.pop(); var s = n.map((function (e) { var n = e.shift(), s = i[n.toLowerCase()]; return t.extend({ command: n }, s.reduce((function (t, i, n) { return t[i] = +e[n], t }), {})) })), r = [this.pos, 0]; return Array.prototype.push.apply(r, s), Array.prototype.splice.apply(this.pathElements, r), this.pos += s.length, this }, stringify: function () { var e = Math.pow(10, this.options.accuracy); return this.pathElements.reduce(function (t, n) { var s = i[n.command.toLowerCase()].map(function (t) { return this.options.accuracy ? Math.round(n[t] * e) / e : n[t] }.bind(this)); return t + n.command + s.join(",") }.bind(this), "") + (this.close ? "Z" : "") }, clone: function (e) { var i = new t.Svg.Path(e || this.close); return i.pos = this.pos, i.pathElements = this.pathElements.slice().map((function (e) { return t.extend({}, e) })), i.options = t.extend({}, this.options), i }, splitByCommand: function (e) { var i = [new t.Svg.Path]; return this.pathElements.forEach((function (n) { n.command === e.toUpperCase() && 0 !== i[i.length - 1].pathElements.length && i.push(new t.Svg.Path), i[i.length - 1].pathElements.push(n) })), i } }), t.Svg.Path.elementDescriptions = i, t.Svg.Path.join = function (e, i, n) { for (var s = new t.Svg.Path(i, n), r = 0; r < e.length; r++)for (var a = e[r], o = 0; o < a.pathElements.length; o++)s.pathElements.push(a.pathElements[o]); return s } }(this || global, e), function (e, t) { "use strict"; e.window, e.document; var i = { x: { pos: "x", len: "width", dir: "horizontal", rectStart: "x1", rectEnd: "x2", rectOffset: "y2" }, y: { pos: "y", len: "height", dir: "vertical", rectStart: "y2", rectEnd: "y1", rectOffset: "x1" } }; t.Axis = t.Class.extend({ constructor: function (e, t, n, s) { this.units = e, this.counterUnits = e === i.x ? i.y : i.x, this.chartRect = t, this.axisLength = t[e.rectEnd] - t[e.rectStart], this.gridOffset = t[e.rectOffset], this.ticks = n, this.options = s }, createGridAndLabels: function (e, i, n, s, r) { var a = s["axis" + this.units.pos.toUpperCase()], o = this.ticks.map(this.projectValue.bind(this)), l = this.ticks.map(a.labelInterpolationFnc); o.forEach(function (h, u) { var c, d = { x: 0, y: 0 }; c = o[u + 1] ? o[u + 1] - h : Math.max(this.axisLength - h, 30), t.isFalseyButZero(l[u]) && "" !== l[u] || ("x" === this.units.pos ? (h = this.chartRect.x1 + h, d.x = s.axisX.labelOffset.x, "start" === s.axisX.position ? d.y = this.chartRect.padding.top + s.axisX.labelOffset.y + (n ? 5 : 20) : d.y = this.chartRect.y1 + s.axisX.labelOffset.y + (n ? 5 : 20)) : (h = this.chartRect.y1 - h, d.y = s.axisY.labelOffset.y - (n ? c : 0), "start" === s.axisY.position ? d.x = n ? this.chartRect.padding.left + s.axisY.labelOffset.x : this.chartRect.x1 - 10 : d.x = this.chartRect.x2 + s.axisY.labelOffset.x + 10), a.showGrid && t.createGrid(h, u, this, this.gridOffset, this.chartRect[this.counterUnits.len](), e, [s.classNames.grid, s.classNames[this.units.dir]], r), a.showLabel && t.createLabel(h, c, u, l, this, a.offset, d, i, [s.classNames.label, s.classNames[this.units.dir], "start" === a.position ? s.classNames[a.position] : s.classNames.end], n, r)) }.bind(this)) }, projectValue: function (e, t, i) { throw new Error("Base axis can't be instantiated!") } }), t.Axis.units = i }(this || global, e), function (e, t) { "use strict"; e.window, e.document; t.AutoScaleAxis = t.Axis.extend({ constructor: function (e, i, n, s) { var r = s.highLow || t.getHighLow(i, s, e.pos); this.bounds = t.getBounds(n[e.rectEnd] - n[e.rectStart], r, s.scaleMinSpace || 20, s.onlyInteger), this.range = { min: this.bounds.min, max: this.bounds.max }, t.AutoScaleAxis.super.constructor.call(this, e, n, this.bounds.values, s) }, projectValue: function (e) { return this.axisLength * (+t.getMultiValue(e, this.units.pos) - this.bounds.min) / this.bounds.range } }) }(this || global, e), function (e, t) { "use strict"; e.window, e.document; t.FixedScaleAxis = t.Axis.extend({ constructor: function (e, i, n, s) { var r = s.highLow || t.getHighLow(i, s, e.pos); this.divisor = s.divisor || 1, this.ticks = s.ticks || t.times(this.divisor).map(function (e, t) { return r.low + (r.high - r.low) / this.divisor * t }.bind(this)), this.ticks.sort((function (e, t) { return e - t })), this.range = { min: r.low, max: r.high }, t.FixedScaleAxis.super.constructor.call(this, e, n, this.ticks, s), this.stepLength = this.axisLength / this.divisor }, projectValue: function (e) { return this.axisLength * (+t.getMultiValue(e, this.units.pos) - this.range.min) / (this.range.max - this.range.min) } }) }(this || global, e), function (e, t) { "use strict"; e.window, e.document; t.StepAxis = t.Axis.extend({ constructor: function (e, i, n, s) { t.StepAxis.super.constructor.call(this, e, n, s.ticks, s); var r = Math.max(1, s.ticks.length - (s.stretch ? 1 : 0)); this.stepLength = this.axisLength / r }, projectValue: function (e, t) { return this.stepLength * t } }) }(this || global, e), function (e, t) { "use strict"; e.window, e.document; var i = { axisX: { offset: 30, position: "end", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: t.noop, type: void 0 }, axisY: { offset: 40, position: "start", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: t.noop, type: void 0, scaleMinSpace: 20, onlyInteger: !1 }, width: void 0, height: void 0, showLine: !0, showPoint: !0, showArea: !1, areaBase: 0, lineSmooth: !0, showGridBackground: !1, low: void 0, high: void 0, chartPadding: { top: 15, right: 15, bottom: 5, left: 10 }, fullWidth: !1, reverseData: !1, classNames: { chart: "ct-chart-line", label: "ct-label", labelGroup: "ct-labels", series: "ct-series", line: "ct-line", point: "ct-point", area: "ct-area", grid: "ct-grid", gridGroup: "ct-grids", gridBackground: "ct-grid-background", vertical: "ct-vertical", horizontal: "ct-horizontal", start: "ct-start", end: "ct-end" } }; t.Line = t.Base.extend({ constructor: function (e, n, s, r) { t.Line.super.constructor.call(this, e, n, i, t.extend({}, i, s), r) }, createChart: function (e) { var n = t.normalizeData(this.data, e.reverseData, !0); this.svg = t.createSvg(this.container, e.width, e.height, e.classNames.chart); var s, r, a = this.svg.elem("g").addClass(e.classNames.gridGroup), o = this.svg.elem("g"), l = this.svg.elem("g").addClass(e.classNames.labelGroup), h = t.createChartRect(this.svg, e, i.padding); s = void 0 === e.axisX.type ? new t.StepAxis(t.Axis.units.x, n.normalized.series, h, t.extend({}, e.axisX, { ticks: n.normalized.labels, stretch: e.fullWidth })) : e.axisX.type.call(t, t.Axis.units.x, n.normalized.series, h, e.axisX), r = void 0 === e.axisY.type ? new t.AutoScaleAxis(t.Axis.units.y, n.normalized.series, h, t.extend({}, e.axisY, { high: t.isNumeric(e.high) ? e.high : e.axisY.high, low: t.isNumeric(e.low) ? e.low : e.axisY.low })) : e.axisY.type.call(t, t.Axis.units.y, n.normalized.series, h, e.axisY), s.createGridAndLabels(a, l, this.supportsForeignObject, e, this.eventEmitter), r.createGridAndLabels(a, l, this.supportsForeignObject, e, this.eventEmitter), e.showGridBackground && t.createGridBackground(a, h, e.classNames.gridBackground, this.eventEmitter), n.raw.series.forEach(function (i, a) { var l = o.elem("g"); l.attr({ "ct:series-name": i.name, "ct:meta": t.serialize(i.meta) }), l.addClass([e.classNames.series, i.className || e.classNames.series + "-" + t.alphaNumerate(a)].join(" ")); var u = [], c = []; n.normalized.series[a].forEach(function (e, o) { var l = { x: h.x1 + s.projectValue(e, o, n.normalized.series[a]), y: h.y1 - r.projectValue(e, o, n.normalized.series[a]) }; u.push(l.x, l.y), c.push({ value: e, valueIndex: o, meta: t.getMetaData(i, o) }) }.bind(this)); var d = { lineSmooth: t.getSeriesOption(i, e, "lineSmooth"), showPoint: t.getSeriesOption(i, e, "showPoint"), showLine: t.getSeriesOption(i, e, "showLine"), showArea: t.getSeriesOption(i, e, "showArea"), areaBase: t.getSeriesOption(i, e, "areaBase") }, p = ("function" == typeof d.lineSmooth ? d.lineSmooth : d.lineSmooth ? t.Interpolation.monotoneCubic() : t.Interpolation.none())(u, c); if (d.showPoint && p.pathElements.forEach(function (n) { var o = l.elem("line", { x1: n.x, y1: n.y, x2: n.x + .01, y2: n.y }, e.classNames.point).attr({ "ct:value": [n.data.value.x, n.data.value.y].filter(t.isNumeric).join(","), "ct:meta": t.serialize(n.data.meta) }); this.eventEmitter.emit("draw", { type: "point", value: n.data.value, index: n.data.valueIndex, meta: n.data.meta, series: i, seriesIndex: a, axisX: s, axisY: r, group: l, element: o, x: n.x, y: n.y }) }.bind(this)), d.showLine) { var f = l.elem("path", { d: p.stringify() }, e.classNames.line, !0); this.eventEmitter.emit("draw", { type: "line", values: n.normalized.series[a], path: p.clone(), chartRect: h, index: a, series: i, seriesIndex: a, seriesMeta: i.meta, axisX: s, axisY: r, group: l, element: f }) } if (d.showArea && r.range) { var m = Math.max(Math.min(d.areaBase, r.range.max), r.range.min), g = h.y1 - r.projectValue(m); p.splitByCommand("M").filter((function (e) { return e.pathElements.length > 1 })).map((function (e) { var t = e.pathElements[0], i = e.pathElements[e.pathElements.length - 1]; return e.clone(!0).position(0).remove(1).move(t.x, g).line(t.x, t.y).position(e.pathElements.length + 1).line(i.x, g) })).forEach(function (t) { var o = l.elem("path", { d: t.stringify() }, e.classNames.area, !0); this.eventEmitter.emit("draw", { type: "area", values: n.normalized.series[a], path: t.clone(), series: i, seriesIndex: a, axisX: s, axisY: r, chartRect: h, index: a, group: l, element: o }) }.bind(this)) } }.bind(this)), this.eventEmitter.emit("created", { bounds: r.bounds, chartRect: h, axisX: s, axisY: r, svg: this.svg, options: e }) } }) }(this || global, e), function (e, t) { "use strict"; e.window, e.document; var i = { axisX: { offset: 30, position: "end", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: t.noop, scaleMinSpace: 30, onlyInteger: !1 }, axisY: { offset: 40, position: "start", labelOffset: { x: 0, y: 0 }, showLabel: !0, showGrid: !0, labelInterpolationFnc: t.noop, scaleMinSpace: 20, onlyInteger: !1 }, width: void 0, height: void 0, high: void 0, low: void 0, referenceValue: 0, chartPadding: { top: 15, right: 15, bottom: 5, left: 10 }, seriesBarDistance: 15, stackBars: !1, stackMode: "accumulate", horizontalBars: !1, distributeSeries: !1, reverseData: !1, showGridBackground: !1, classNames: { chart: "ct-chart-bar", horizontalBars: "ct-horizontal-bars", label: "ct-label", labelGroup: "ct-labels", series: "ct-series", bar: "ct-bar", grid: "ct-grid", gridGroup: "ct-grids", gridBackground: "ct-grid-background", vertical: "ct-vertical", horizontal: "ct-horizontal", start: "ct-start", end: "ct-end" } }; t.Bar = t.Base.extend({ constructor: function (e, n, s, r) { t.Bar.super.constructor.call(this, e, n, i, t.extend({}, i, s), r) }, createChart: function (e) { var n, s; e.distributeSeries ? (n = t.normalizeData(this.data, e.reverseData, e.horizontalBars ? "x" : "y")).normalized.series = n.normalized.series.map((function (e) { return [e] })) : n = t.normalizeData(this.data, e.reverseData, e.horizontalBars ? "x" : "y"), this.svg = t.createSvg(this.container, e.width, e.height, e.classNames.chart + (e.horizontalBars ? " " + e.classNames.horizontalBars : "")); var r = this.svg.elem("g").addClass(e.classNames.gridGroup), a = this.svg.elem("g"), o = this.svg.elem("g").addClass(e.classNames.labelGroup); if (e.stackBars && 0 !== n.normalized.series.length) { var l = t.serialMap(n.normalized.series, (function () { return Array.prototype.slice.call(arguments).map((function (e) { return e })).reduce((function (e, t) { return { x: e.x + (t && t.x) || 0, y: e.y + (t && t.y) || 0 } }), { x: 0, y: 0 }) })); s = t.getHighLow([l], e, e.horizontalBars ? "x" : "y") } else s = t.getHighLow(n.normalized.series, e, e.horizontalBars ? "x" : "y"); s.high = +e.high || (0 === e.high ? 0 : s.high), s.low = +e.low || (0 === e.low ? 0 : s.low); var h, u, c, d, p, f = t.createChartRect(this.svg, e, i.padding); u = e.distributeSeries && e.stackBars ? n.normalized.labels.slice(0, 1) : n.normalized.labels, e.horizontalBars ? (h = d = void 0 === e.axisX.type ? new t.AutoScaleAxis(t.Axis.units.x, n.normalized.series, f, t.extend({}, e.axisX, { highLow: s, referenceValue: 0 })) : e.axisX.type.call(t, t.Axis.units.x, n.normalized.series, f, t.extend({}, e.axisX, { highLow: s, referenceValue: 0 })), c = p = void 0 === e.axisY.type ? new t.StepAxis(t.Axis.units.y, n.normalized.series, f, { ticks: u }) : e.axisY.type.call(t, t.Axis.units.y, n.normalized.series, f, e.axisY)) : (c = d = void 0 === e.axisX.type ? new t.StepAxis(t.Axis.units.x, n.normalized.series, f, { ticks: u }) : e.axisX.type.call(t, t.Axis.units.x, n.normalized.series, f, e.axisX), h = p = void 0 === e.axisY.type ? new t.AutoScaleAxis(t.Axis.units.y, n.normalized.series, f, t.extend({}, e.axisY, { highLow: s, referenceValue: 0 })) : e.axisY.type.call(t, t.Axis.units.y, n.normalized.series, f, t.extend({}, e.axisY, { highLow: s, referenceValue: 0 }))); var m = e.horizontalBars ? f.x1 + h.projectValue(0) : f.y1 - h.projectValue(0), g = []; c.createGridAndLabels(r, o, this.supportsForeignObject, e, this.eventEmitter), h.createGridAndLabels(r, o, this.supportsForeignObject, e, this.eventEmitter), e.showGridBackground && t.createGridBackground(r, f, e.classNames.gridBackground, this.eventEmitter), n.raw.series.forEach(function (i, s) { var r, o, l = s - (n.raw.series.length - 1) / 2; r = e.distributeSeries && !e.stackBars ? c.axisLength / n.normalized.series.length / 2 : e.distributeSeries && e.stackBars ? c.axisLength / 2 : c.axisLength / n.normalized.series[s].length / 2, (o = a.elem("g")).attr({ "ct:series-name": i.name, "ct:meta": t.serialize(i.meta) }), o.addClass([e.classNames.series, i.className || e.classNames.series + "-" + t.alphaNumerate(s)].join(" ")), n.normalized.series[s].forEach(function (a, u) { var v, x, y, b; if (b = e.distributeSeries && !e.stackBars ? s : e.distributeSeries && e.stackBars ? 0 : u, v = e.horizontalBars ? { x: f.x1 + h.projectValue(a && a.x ? a.x : 0, u, n.normalized.series[s]), y: f.y1 - c.projectValue(a && a.y ? a.y : 0, b, n.normalized.series[s]) } : { x: f.x1 + c.projectValue(a && a.x ? a.x : 0, b, n.normalized.series[s]), y: f.y1 - h.projectValue(a && a.y ? a.y : 0, u, n.normalized.series[s]) }, c instanceof t.StepAxis && (c.options.stretch || (v[c.units.pos] += r * (e.horizontalBars ? -1 : 1)), v[c.units.pos] += e.stackBars || e.distributeSeries ? 0 : l * e.seriesBarDistance * (e.horizontalBars ? -1 : 1)), y = g[u] || m, g[u] = y - (m - v[c.counterUnits.pos]), void 0 !== a) { var w = {}; w[c.units.pos + "1"] = v[c.units.pos], w[c.units.pos + "2"] = v[c.units.pos], !e.stackBars || "accumulate" !== e.stackMode && e.stackMode ? (w[c.counterUnits.pos + "1"] = m, w[c.counterUnits.pos + "2"] = v[c.counterUnits.pos]) : (w[c.counterUnits.pos + "1"] = y, w[c.counterUnits.pos + "2"] = g[u]), w.x1 = Math.min(Math.max(w.x1, f.x1), f.x2), w.x2 = Math.min(Math.max(w.x2, f.x1), f.x2), w.y1 = Math.min(Math.max(w.y1, f.y2), f.y1), w.y2 = Math.min(Math.max(w.y2, f.y2), f.y1); var E = t.getMetaData(i, u); x = o.elem("line", w, e.classNames.bar).attr({ "ct:value": [a.x, a.y].filter(t.isNumeric).join(","), "ct:meta": t.serialize(E) }), this.eventEmitter.emit("draw", t.extend({ type: "bar", value: a, index: u, meta: E, series: i, seriesIndex: s, axisX: d, axisY: p, chartRect: f, group: o, element: x }, w)) } }.bind(this)) }.bind(this)), this.eventEmitter.emit("created", { bounds: h.bounds, chartRect: f, axisX: d, axisY: p, svg: this.svg, options: e }) } }) }(this || global, e), function (e, t) { "use strict"; e.window, e.document; var i = { width: void 0, height: void 0, chartPadding: 5, classNames: { chartPie: "ct-chart-pie", chartDonut: "ct-chart-donut", series: "ct-series", slicePie: "ct-slice-pie", sliceDonut: "ct-slice-donut", sliceDonutSolid: "ct-slice-donut-solid", label: "ct-label" }, startAngle: 0, total: void 0, donut: !1, donutSolid: !1, donutWidth: 60, showLabel: !0, labelOffset: 0, labelPosition: "inside", labelInterpolationFnc: t.noop, labelDirection: "neutral", reverseData: !1, ignoreEmptyValues: !1 }; function n(e, t, i) { var n = t.x > e.x; return n && "explode" === i || !n && "implode" === i ? "start" : n && "implode" === i || !n && "explode" === i ? "end" : "middle" } t.Pie = t.Base.extend({ constructor: function (e, n, s, r) { t.Pie.super.constructor.call(this, e, n, i, t.extend({}, i, s), r) }, createChart: function (e) { var s, r, a, o, l, h = t.normalizeData(this.data), u = [], c = e.startAngle; this.svg = t.createSvg(this.container, e.width, e.height, e.donut ? e.classNames.chartDonut : e.classNames.chartPie), r = t.createChartRect(this.svg, e, i.padding), a = Math.min(r.width() / 2, r.height() / 2), l = e.total || h.normalized.series.reduce((function (e, t) { return e + t }), 0); var d = t.quantity(e.donutWidth); "%" === d.unit && (d.value *= a / 100), a -= e.donut && !e.donutSolid ? d.value / 2 : 0, o = "outside" === e.labelPosition || e.donut && !e.donutSolid ? a : "center" === e.labelPosition ? 0 : e.donutSolid ? a - d.value / 2 : a / 2, o += e.labelOffset; var p = { x: r.x1 + r.width() / 2, y: r.y2 + r.height() / 2 }, f = 1 === h.raw.series.filter((function (e) { return e.hasOwnProperty("value") ? 0 !== e.value : 0 !== e })).length; h.raw.series.forEach(function (e, t) { u[t] = this.svg.elem("g", null, null) }.bind(this)), e.showLabel && (s = this.svg.elem("g", null, null)), h.raw.series.forEach(function (i, r) { if (0 !== h.normalized.series[r] || !e.ignoreEmptyValues) { u[r].attr({ "ct:series-name": i.name }), u[r].addClass([e.classNames.series, i.className || e.classNames.series + "-" + t.alphaNumerate(r)].join(" ")); var m = l > 0 ? c + h.normalized.series[r] / l * 360 : 0, g = Math.max(0, c - (0 === r || f ? 0 : .2)); m - g >= 359.99 && (m = g + 359.99); var v, x, y, b = t.polarToCartesian(p.x, p.y, a, g), w = t.polarToCartesian(p.x, p.y, a, m), E = new t.Svg.Path(!e.donut || e.donutSolid).move(w.x, w.y).arc(a, a, 0, m - c > 180, 0, b.x, b.y); e.donut ? e.donutSolid && (y = a - d.value, v = t.polarToCartesian(p.x, p.y, y, c - (0 === r || f ? 0 : .2)), x = t.polarToCartesian(p.x, p.y, y, m), E.line(v.x, v.y), E.arc(y, y, 0, m - c > 180, 1, x.x, x.y)) : E.line(p.x, p.y); var S = e.classNames.slicePie; e.donut && (S = e.classNames.sliceDonut, e.donutSolid && (S = e.classNames.sliceDonutSolid)); var A = u[r].elem("path", { d: E.stringify() }, S); if (A.attr({ "ct:value": h.normalized.series[r], "ct:meta": t.serialize(i.meta) }), e.donut && !e.donutSolid && (A._node.style.strokeWidth = d.value + "px"), this.eventEmitter.emit("draw", { type: "slice", value: h.normalized.series[r], totalDataSum: l, index: r, meta: i.meta, series: i, group: u[r], element: A, path: E.clone(), center: p, radius: a, startAngle: c, endAngle: m }), e.showLabel) { var z, M; z = 1 === h.raw.series.length ? { x: p.x, y: p.y } : t.polarToCartesian(p.x, p.y, o, c + (m - c) / 2), M = h.normalized.labels && !t.isFalseyButZero(h.normalized.labels[r]) ? h.normalized.labels[r] : h.normalized.series[r]; var O = e.labelInterpolationFnc(M, r); if (O || 0 === O) { var C = s.elem("text", { dx: z.x, dy: z.y, "text-anchor": n(p, z, e.labelDirection) }, e.classNames.label).text("" + O); this.eventEmitter.emit("draw", { type: "label", index: r, group: s, element: C, text: "" + O, x: z.x, y: z.y }) } } c = m } }.bind(this)), this.eventEmitter.emit("created", { chartRect: r, svg: this.svg, options: e }) }, determineAnchorPosition: n }) }(this || global, e), e })); + .overview thead th { + background-color: #444; + } -var i, l, selectedLine = null; + .overview th a { + color: #fff; + color: rgba(255, 255, 255, 0.95); + } -/* Navigate to hash without browser history entry */ -var navigateToHash = function () { - if (window.history !== undefined && window.history.replaceState !== undefined) { - window.history.replaceState(undefined, undefined, this.getAttribute("href")); - } -}; + .overview th a:hover { + color: #0078d4; + } -var hashLinks = document.getElementsByClassName('navigatetohash'); -for (i = 0, l = hashLinks.length; i < l; i++) { - hashLinks[i].addEventListener('click', navigateToHash); -} + .overview td { + border: 1px solid #3B3A39; + } -/* Switch test method */ -var switchTestMethod = function () { - var method = this.getAttribute("value"); - console.log("Selected test method: " + method); + .overview .coverage td { + border: none; + } - var lines, i, l, coverageData, lineAnalysis, cells; + .overview tr.header th { + background-color: #444; + } - lines = document.querySelectorAll('.lineAnalysis tr'); + .overview tr.header th:nth-child(2n+1) { + background-color: #3a3a3a; + } - for (i = 1, l = lines.length; i < l; i++) { - coverageData = JSON.parse(lines[i].getAttribute('data-coverage').replace(/'/g, '"')); - lineAnalysis = coverageData[method]; - cells = lines[i].querySelectorAll('td'); - if (lineAnalysis === undefined) { - lineAnalysis = coverageData.AllTestMethods; - if (lineAnalysis.LVS !== 'gray') { - cells[0].setAttribute('class', 'red'); - cells[1].innerText = cells[1].textContent = '0'; - cells[4].setAttribute('class', 'lightred'); + .overview tr.header th:first-child { + border-left: 1px solid #333; + border-top: 1px solid #333; + background-color: #333; } - } else { - cells[0].setAttribute('class', lineAnalysis.LVS); - cells[1].innerText = cells[1].textContent = lineAnalysis.VC; - cells[4].setAttribute('class', 'light' + lineAnalysis.LVS); + + .stripped tr:nth-child(2n+1) { + background-color: #3c3c3c; } - } -}; -var testMethods = document.getElementsByClassName('switchtestmethod'); -for (i = 0, l = testMethods.length; i < l; i++) { - testMethods[i].addEventListener('change', switchTestMethod); -} + input, select, button { + background-color: #333; + color: #fff; + border: 1px solid #A19F9D; + } -/* Highlight test method by line */ -var toggleLine = function () { - if (selectedLine === this) { - selectedLine = null; - } else { - selectedLine = null; - unhighlightTestMethods(); - highlightTestMethods.call(this); - selectedLine = this; - } - -}; -var highlightTestMethods = function () { - if (selectedLine !== null) { - return; - } + a { + color: #fff; + color: rgba(255, 255, 255, 0.95); + } - var lineAnalysis; - var coverageData = JSON.parse(this.getAttribute('data-coverage').replace(/'/g, '"')); - var testMethods = document.getElementsByClassName('testmethod'); + a:hover { + color: #0078d4; + } - for (i = 0, l = testMethods.length; i < l; i++) { - lineAnalysis = coverageData[testMethods[i].id]; - if (lineAnalysis === undefined) { - testMethods[i].className = testMethods[i].className.replace(/\s*light.+/g, ""); - } else { - testMethods[i].className += ' light' + lineAnalysis.LVS; + h1 a.back { + background-color: #4a4846; } - } -}; -var unhighlightTestMethods = function () { - if (selectedLine !== null) { - return; - } - var testMethods = document.getElementsByClassName('testmethod'); - for (i = 0, l = testMethods.length; i < l; i++) { - testMethods[i].className = testMethods[i].className.replace(/\s*light.+/g, ""); - } -}; -var coverableLines = document.getElementsByClassName('coverableline'); -for (i = 0, l = coverableLines.length; i < l; i++) { - coverableLines[i].addEventListener('click', toggleLine); - coverableLines[i].addEventListener('mouseenter', highlightTestMethods); - coverableLines[i].addEventListener('mouseleave', unhighlightTestMethods); -} + h1 a.button { + color: #fff; + background-color: #565656; + border-color: #c1c1c1; + } -/* History charts */ -var renderChart = function (chart) { - // Remove current children (e.g. PNG placeholder) - while (chart.firstChild) { - chart.firstChild.remove(); - } + h1 a.button:hover { + background-color: #8d8d8d; + } - var chartData = window[chart.getAttribute('data-data')]; - var options = { - axisY: { - type: undefined, - onlyInteger: true - }, - lineSmooth: false, - low: 0, - high: 100, - scaleMinSpace: 20, - onlyInteger: true, - fullWidth: true - }; - var lineChart = new Chartist.Line(chart, { - labels: [], - series: chartData.series - }, options); + .gray { + background-color: #484747; + } - /* Zoom */ - var zoomButtonDiv = document.createElement("div"); - zoomButtonDiv.className = "toggleZoom"; - var zoomButtonLink = document.createElement("a"); - zoomButtonLink.setAttribute("href", ""); - var zoomButtonText = document.createElement("i"); - zoomButtonText.className = "icon-search-plus"; + .lightgray { + color: #ebebeb; + } - zoomButtonLink.appendChild(zoomButtonText); - zoomButtonDiv.appendChild(zoomButtonLink); + .lightgraybg { + background-color: #474747; + } - chart.appendChild(zoomButtonDiv); + .lightgreen { + background-color: #406540; + } - zoomButtonDiv.addEventListener('click', function (event) { - event.preventDefault(); + .lightorange { + background-color: #ab7f36; + } - if (options.axisY.type === undefined) { - options.axisY.type = Chartist.AutoScaleAxis; - zoomButtonText.className = "icon-search-minus"; - } else { - options.axisY.type = undefined; - zoomButtonText.className = "icon-search-plus"; + .lightred { + background-color: #954848; } - lineChart.update(null, options); - }); + .ct-label { + color: #fff !important; + fill: #fff !important; + } - var tooltip = document.createElement("div"); - tooltip.className = "tooltip"; + .ct-grid { + stroke: #fff !important; + } - chart.appendChild(tooltip); + .ct-chart .ct-series.ct-series-a .ct-line, .ct-chart .ct-series.ct-series-a .ct-point { + stroke: #0078D4 !important; + } - /* Tooltips */ - var showToolTip = function () { - var index = this.getAttribute('ct:meta'); + .ct-chart .ct-series.ct-series-b .ct-line, .ct-chart .ct-series.ct-series-b .ct-point { + stroke: #6dc428 !important; + } - tooltip.innerHTML = chartData.tooltips[index]; - tooltip.style.display = 'block'; - }; + .ct-chart .ct-series.ct-series-c .ct-line, .ct-chart .ct-series.ct-series-c .ct-point { + stroke: #e58f1d !important; + } - var moveToolTip = function (event) { - var box = chart.getBoundingClientRect(); - var left = event.pageX - box.left - window.pageXOffset; - var top = event.pageY - box.top - window.pageYOffset; + .ct-chart .ct-series.ct-series-d .ct-line, .ct-chart .ct-series.ct-series-d .ct-point { + stroke: #c71bca !important; + } - left = left + 20; - top = top - tooltip.offsetHeight / 2; + .linecoverage { + background-color: #0078D4; + } - if (left + tooltip.offsetWidth > box.width) { - left -= tooltip.offsetWidth + 40; + .branchcoverage { + background-color: #6dc428; + } + .codeelementcoverage { + background-color: #e58f1d; } - if (top < 0) { - top = 0; + .fullcodeelementcoverage { + background-color: #c71bca; } - if (top + tooltip.offsetHeight > box.height) { - top = box.height - tooltip.offsetHeight; + .tinylinecoveragechart, .tinybranchcoveragechart, .tinymethodcoveragechart, .tinyfullmethodcoveragechart { + background-color: #333; } - tooltip.style.left = left + 'px'; - tooltip.style.top = top + 'px'; - }; + .tinybranchcoveragechart .ct-series.ct-series-a .ct-line { + stroke: #6dc428 !important; + } - var hideToolTip = function () { - tooltip.style.display = 'none'; - }; - chart.addEventListener('mousemove', moveToolTip); + .tinymethodcoveragechart .ct-series.ct-series-a .ct-line { + stroke: #e58f1d !important; + } - lineChart.on('created', function () { - var chartPoints = chart.getElementsByClassName('ct-point'); - for (i = 0, l = chartPoints.length; i < l; i++) { - chartPoints[i].addEventListener('mousemove', showToolTip); - chartPoints[i].addEventListener('mouseout', hideToolTip); + .tinyfullmethodcoveragechart .ct-series.ct-series-a .ct-line { + stroke: #c71bca !important; + } + + .icon-up-down-dir { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNCRkJGQzAiIGQ9Im0gMTQwOCw3NDIgcSAwLDI2IC0xOSw0NSAtMTksMTkgLTQ1LDE5IEggNDQ4IHEgLTI2LDAgLTQ1LC0xOSAtMTksLTE5IC0xOSwtNDUgMCwtMjYgMTksLTQ1IEwgODUxLDI0OSBxIDE5LC0xOSA0NSwtMTkgMjYsMCA0NSwxOSBsIDQ0OCw0NDggcSAxOSwxOSAxOSw0NSB6IiAvPjxwYXRoIGZpbGw9IiNCRkJGQzAiIGQ9Im0gMTQwOCwxMDUwIHEgMCwyNiAtMTksNDUgbCAtNDQ4LDQ0OCBxIC0xOSwxOSAtNDUsMTkgLTI2LDAgLTQ1LC0xOSBMIDQwMywxMDk1IHEgLTE5LC0xOSAtMTksLTQ1IDAsLTI2IDE5LC00NSAxOSwtMTkgNDUsLTE5IGggODk2IHEgMjYsMCA0NSwxOSAxOSwxOSAxOSw0NSB6IiAvPjwvc3ZnPg==); + } + .icon-info-circled { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxjaXJjbGUgY3g9Ijg5NiIgY3k9Ijg5NiIgcj0iNzUwIiBmaWxsPSIjZmZmIiAvPjxwYXRoIGZpbGw9IiMyOEE1RkYiIGQ9Ik0xMTUyIDEzNzZ2LTE2MHEwLTE0LTktMjN0LTIzLTloLTk2di01MTJxMC0xNC05LTIzdC0yMy05aC0zMjBxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloOTZ2MzIwaC05NnEtMTQgMC0yMyA5dC05IDIzdjE2MHEwIDE0IDkgMjN0MjMgOWg0NDhxMTQgMCAyMy05dDktMjN6bS0xMjgtODk2di0xNjBxMC0xNC05LTIzdC0yMy05aC0xOTJxLTE0IDAtMjMgOXQtOSAyM3YxNjBxMCAxNCA5IDIzdDIzIDloMTkycTE0IDAgMjMtOXQ5LTIzem02NDAgNDE2cTAgMjA5LTEwMyAzODUuNXQtMjc5LjUgMjc5LjUtMzg1LjUgMTAzLTM4NS41LTEwMy0yNzkuNS0yNzkuNS0xMDMtMzg1LjUgMTAzLTM4NS41IDI3OS41LTI3OS41IDM4NS41LTEwMyAzODUuNSAxMDMgMjc5LjUgMjc5LjUgMTAzIDM4NS41eiIvPjwvc3ZnPg==); } - }); -}; -var charts = document.getElementsByClassName('historychart'); -for (i = 0, l = charts.length; i < l; i++) { - renderChart(charts[i]); -} + .icon-plus { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTE2MDAgNzM2djE5MnEwIDQwLTI4IDY4dC02OCAyOGgtNDE2djQxNnEwIDQwLTI4IDY4dC02OCAyOGgtMTkycS00MCAwLTY4LTI4dC0yOC02OHYtNDE2aC00MTZxLTQwIDAtNjgtMjh0LTI4LTY4di0xOTJxMC00MCAyOC02OHQ2OC0yOGg0MTZ2LTQxNnEwLTQwIDI4LTY4dDY4LTI4aDE5MnE0MCAwIDY4IDI4dDI4IDY4djQxNmg0MTZxNDAgMCA2OCAyOHQyOCA2OHoiLz48L3N2Zz4=); + } + + .icon-minus { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTE2MDAgNzM2djE5MnEwIDQwLTI4IDY4dC02OCAyOGgtMTIxNnEtNDAgMC02OC0yOHQtMjgtNjh2LTE5MnEwLTQwIDI4LTY4dDY4LTI4aDEyMTZxNDAgMCA2OCAyOHQyOCA2OHoiLz48L3N2Zz4=); + } + + .icon-wrench { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JEQkRCRiIgZD0iTTQ0OCAxNDcycTAtMjYtMTktNDV0LTQ1LTE5LTQ1IDE5LTE5IDQ1IDE5IDQ1IDQ1IDE5IDQ1LTE5IDE5LTQ1em02NDQtNDIwbC02ODIgNjgycS0zNyAzNy05MCAzNy01MiAwLTkxLTM3bC0xMDYtMTA4cS0zOC0zNi0zOC05MCAwLTUzIDM4LTkxbDY4MS02ODFxMzkgOTggMTE0LjUgMTczLjV0MTczLjUgMTE0LjV6bTYzNC00MzVxMCAzOS0yMyAxMDYtNDcgMTM0LTE2NC41IDIxNy41dC0yNTguNSA4My41cS0xODUgMC0zMTYuNS0xMzEuNXQtMTMxLjUtMzE2LjUgMTMxLjUtMzE2LjUgMzE2LjUtMTMxLjVxNTggMCAxMjEuNSAxNi41dDEwNy41IDQ2LjVxMTYgMTEgMTYgMjh0LTE2IDI4bC0yOTMgMTY5djIyNGwxOTMgMTA3cTUtMyA3OS00OC41dDEzNS41LTgxIDcwLjUtMzUuNXExNSAwIDIzLjUgMTB0OC41IDI1eiIvPjwvc3ZnPg==); + } -var assemblies = [ - { - "name": "Sample", - "classes": [ - { "name": "Sample.PartialClass", "rp": "file:///Sample_PartialClass.html", "cl": 12, "ucl": 10, "cal": 22, "tl": 53, "cb": 1, "tb": 2, "cm": 3, "fcm": 2, "tm": 6, "lch": [40.9,54.5,59,59,45.4,50,50,59,54.5], "bch": [50,40,40,45,45,45,45,45,50], "mch": [50,33.3,50,66.6,66.6,66.6,83.3,83.3,50], "mfch": [33.3,33.3,50,50,50,50,50,50,33.3], "hc": [{ "et": "01.02.2022 - 20:50:35", "cl": 9, "ucl": 13, "cal": 22, "tl": 53, "lcq": 40.9, "cb": 10, "tb": 20, "bcq": 50, "cm": 3, "fcm": 2, "tm": 6, "mcq": 50, "mfcq": 33.3 }, { "et": "02.02.2022 - 20:50:35", "cl": 12, "ucl": 10, "cal": 22, "tl": 53, "lcq": 54.5, "cb": 8, "tb": 20, "bcq": 40, "cm": 2, "fcm": 2, "tm": 6, "mcq": 33.3, "mfcq": 33.3 }, { "et": "03.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 8, "tb": 20, "bcq": 40, "cm": 3, "fcm": 3, "tm": 6, "mcq": 50, "mfcq": 50 }, { "et": "04.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 9, "tb": 20, "bcq": 45, "cm": 4, "fcm": 3, "tm": 6, "mcq": 66.6, "mfcq": 50 }, { "et": "05.02.2022 - 20:50:35", "cl": 10, "ucl": 12, "cal": 22, "tl": 53, "lcq": 45.4, "cb": 9, "tb": 20, "bcq": 45, "cm": 4, "fcm": 3, "tm": 6, "mcq": 66.6, "mfcq": 50 }, { "et": "06.02.2022 - 20:50:35", "cl": 11, "ucl": 11, "cal": 22, "tl": 53, "lcq": 50, "cb": 9, "tb": 20, "bcq": 45, "cm": 4, "fcm": 3, "tm": 6, "mcq": 66.6, "mfcq": 50 }, { "et": "07.02.2022 - 20:50:35", "cl": 11, "ucl": 11, "cal": 22, "tl": 53, "lcq": 50, "cb": 9, "tb": 20, "bcq": 45, "cm": 5, "fcm": 3, "tm": 6, "mcq": 83.3, "mfcq": 50 }, { "et": "08.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 9, "tb": 20, "bcq": 45, "cm": 5, "fcm": 3, "tm": 6, "mcq": 83.3, "mfcq": 50 }, { "et": "09.02.2022 - 20:50:35", "cl": 13, "ucl": 9, "cal": 22, "tl": 53, "lcq": 59, "cb": 9, "tb": 20, "bcq": 45, "cm": 5, "fcm": 3, "tm": 6, "mcq": 83.3, "mfcq": 50 }, { "et": "09.02.2025 - 18:56:53", "cl": 12, "ucl": 10, "cal": 22, "tl": 53, "lcq": 54.5, "cb": 1, "tb": 2, "bcq": 50, "cm": 3, "fcm": 2, "tm": 6, "mcq": 50, "mfcq": 33.3 }], "metrics": { "cc": 1, "npth": 0, "seq": 0, "bcov": 0, "crp": 2 } }, - { "name": "Test.Program", "rp": "file:///Sample_Program.html", "cl": 15, "ucl": 0, "cal": 15, "tl": 84, "cb": 0, "tb": 0, "cm": 3, "fcm": 3, "tm": 3, "lch": [79.5,100], "bch": [], "mch": [66.6,100], "mfch": [0,100], "hc": [{ "et": "01.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 0, "tm": 6, "mcq": 66.6, "mfcq": 0 }, { "et": "02.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 0, "tm": 6, "mcq": 66.6, "mfcq": 0 }, { "et": "03.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 0, "tm": 6, "mcq": 66.6, "mfcq": 0 }, { "et": "04.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 1, "tm": 6, "mcq": 66.6, "mfcq": 16.6 }, { "et": "05.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 1, "tm": 6, "mcq": 66.6, "mfcq": 16.6 }, { "et": "06.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "07.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "08.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "09.02.2022 - 20:50:35", "cl": 35, "ucl": 9, "cal": 44, "tl": 84, "lcq": 79.5, "cb": 0, "tb": 0, "bcq": 0, "cm": 4, "fcm": 2, "tm": 6, "mcq": 66.6, "mfcq": 33.3 }, { "et": "09.02.2025 - 18:56:53", "cl": 15, "ucl": 0, "cal": 15, "tl": 84, "lcq": 100, "cb": 0, "tb": 0, "bcq": 0, "cm": 3, "fcm": 3, "tm": 3, "mcq": 100, "mfcq": 100 }], "metrics": { "cc": 3, "npth": 0, "seq": 100, "bcov": 100, "crp": 3 } }, - { "name": "Test.TestClass", "rp": "file:///Sample_TestClass.html", "cl": 24, "ucl": 9, "cal": 33, "tl": 38, "cb": 2, "tb": 4, "cm": 4, "fcm": 1, "tm": 5, "lch": [72.7], "bch": [50], "mch": [80], "mfch": [20], "hc": [{ "et": "09.02.2025 - 18:56:53", "cl": 24, "ucl": 9, "cal": 33, "tl": 38, "lcq": 72.7, "cb": 2, "tb": 4, "bcq": 50, "cm": 4, "fcm": 1, "tm": 5, "mcq": 80, "mfcq": 20 }], "metrics": { "cc": 4, "npth": 4, "seq": 0, "bcov": 50 } }, - { "name": "Test.TestClass2", "rp": "file:///Sample_TestClass2.html", "cl": 24, "ucl": 14, "cal": 38, "tl": 85, "cb": 1, "tb": 2, "cm": 6, "fcm": 3, "tm": 10, "lch": [39.4,39.4,42.1,44.7,39.4,63.1], "bch": [50,40,40,40,40,50], "mch": [60,40,40,60,60,60], "mfch": [40,40,40,40,40,30], "hc": [{ "et": "01.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 10, "tb": 20, "bcq": 50, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "02.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "03.02.2022 - 20:50:35", "cl": 16, "ucl": 22, "cal": 38, "tl": 85, "lcq": 42.1, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "04.02.2022 - 20:50:35", "cl": 16, "ucl": 22, "cal": 38, "tl": 85, "lcq": 42.1, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "05.02.2022 - 20:50:35", "cl": 16, "ucl": 22, "cal": 38, "tl": 85, "lcq": 42.1, "cb": 8, "tb": 20, "bcq": 40, "cm": 4, "fcm": 4, "tm": 10, "mcq": 40, "mfcq": 40 }, { "et": "06.02.2022 - 20:50:35", "cl": 17, "ucl": 21, "cal": 38, "tl": 85, "lcq": 44.7, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "07.02.2022 - 20:50:35", "cl": 17, "ucl": 21, "cal": 38, "tl": 85, "lcq": 44.7, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "08.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "09.02.2022 - 20:50:35", "cl": 15, "ucl": 23, "cal": 38, "tl": 85, "lcq": 39.4, "cb": 8, "tb": 20, "bcq": 40, "cm": 6, "fcm": 4, "tm": 10, "mcq": 60, "mfcq": 40 }, { "et": "09.02.2025 - 18:56:53", "cl": 24, "ucl": 14, "cal": 38, "tl": 85, "lcq": 63.1, "cb": 1, "tb": 2, "bcq": 50, "cm": 6, "fcm": 3, "tm": 10, "mcq": 60, "mfcq": 30 }], "metrics": { "cc": 5, "npth": 2, "seq": 0, "bcov": 0, "crp": 5 } }, - ]}, -]; + .icon-cog { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjQkRCREJGIiBkPSJNNDQ0Ljc4OCAyOTEuMWw0Mi42MTYgMjQuNTk5YzQuODY3IDIuODA5IDcuMTI2IDguNjE4IDUuNDU5IDEzLjk4NS0xMS4wNyAzNS42NDItMjkuOTcgNjcuODQyLTU0LjY4OSA5NC41ODZhMTIuMDE2IDEyLjAxNiAwIDAgMS0xNC44MzIgMi4yNTRsLTQyLjU4NC0yNC41OTVhMTkxLjU3NyAxOTEuNTc3IDAgMCAxLTYwLjc1OSAzNS4xM3Y0OS4xODJhMTIuMDEgMTIuMDEgMCAwIDEtOS4zNzcgMTEuNzE4Yy0zNC45NTYgNy44NS03Mi40OTkgOC4yNTYtMTA5LjIxOS4wMDctNS40OS0xLjIzMy05LjQwMy02LjA5Ni05LjQwMy0xMS43MjN2LTQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEtNjAuNzU5LTM1LjEzbC00Mi41ODQgMjQuNTk1YTEyLjAxNiAxMi4wMTYgMCAwIDEtMTQuODMyLTIuMjU0Yy0yNC43MTgtMjYuNzQ0LTQzLjYxOS01OC45NDQtNTQuNjg5LTk0LjU4Ni0xLjY2Ny01LjM2Ni41OTItMTEuMTc1IDUuNDU5LTEzLjk4NUw2Ny4yMTIgMjkxLjFhMTkzLjQ4IDE5My40OCAwIDAgMSAwLTcwLjE5OWwtNDIuNjE2LTI0LjU5OWMtNC44NjctMi44MDktNy4xMjYtOC42MTgtNS40NTktMTMuOTg1IDExLjA3LTM1LjY0MiAyOS45Ny02Ny44NDIgNTQuNjg5LTk0LjU4NmExMi4wMTYgMTIuMDE2IDAgMCAxIDE0LjgzMi0yLjI1NGw0Mi41ODQgMjQuNTk1YTE5MS41NzcgMTkxLjU3NyAwIDAgMSA2MC43NTktMzUuMTNWMjUuNzU5YTEyLjAxIDEyLjAxIDAgMCAxIDkuMzc3LTExLjcxOGMzNC45NTYtNy44NSA3Mi40OTktOC4yNTYgMTA5LjIxOS0uMDA3IDUuNDkgMS4yMzMgOS40MDMgNi4wOTYgOS40MDMgMTEuNzIzdjQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEgNjAuNzU5IDM1LjEzbDQyLjU4NC0yNC41OTVhMTIuMDE2IDEyLjAxNiAwIDAgMSAxNC44MzIgMi4yNTRjMjQuNzE4IDI2Ljc0NCA0My42MTkgNTguOTQ0IDU0LjY4OSA5NC41ODYgMS42NjcgNS4zNjYtLjU5MiAxMS4xNzUtNS40NTkgMTMuOTg1TDQ0NC43ODggMjIwLjlhMTkzLjQ4NSAxOTMuNDg1IDAgMCAxIDAgNzAuMnpNMzM2IDI1NmMwLTQ0LjExMi0zNS44ODgtODAtODAtODBzLTgwIDM1Ljg4OC04MCA4MCAzNS44ODggODAgODAgODAgODAtMzUuODg4IDgwLTgweiIvPjwvc3ZnPg==); + } -var metrics = [{ "name": "Cyclomatic complexity", "abbreviation": "cc", "explanationUrl": "https://en.wikipedia.org/wiki/Cyclomatic_complexity" }, { "name": "NPath complexity", "abbreviation": "npth", "explanationUrl": "https://modess.io/npath-complexity-cyclomatic-complexity-explained" }, { "name": "Sequence coverage", "abbreviation": "seq", "explanationUrl": "https://en.wikipedia.org/wiki/Code_coverage" }, { "name": "Branch coverage", "abbreviation": "bcov", "explanationUrl": "https://en.wikipedia.org/wiki/Code_coverage" }, { "name": "Crap Score", "abbreviation": "crp", "explanationUrl": "https://googletesting.blogspot.de/2011/02/this-code-is-crap.html" }]; + .icon-fork { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTY3MiAxNDcycTAtNDAtMjgtNjh0LTY4LTI4LTY4IDI4LTI4IDY4IDI4IDY4IDY4IDI4IDY4LTI4IDI4LTY4em0wLTExNTJxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTY0MCAxMjhxMC00MC0yOC02OHQtNjgtMjgtNjggMjgtMjggNjggMjggNjggNjggMjggNjgtMjggMjgtNjh6bTk2IDBxMCA1Mi0yNiA5Ni41dC03MCA2OS41cS0yIDI4Ny0yMjYgNDE0LTY3IDM4LTIwMyA4MS0xMjggNDAtMTY5LjUgNzF0LTQxLjUgMTAwdjI2cTQ0IDI1IDcwIDY5LjV0MjYgOTYuNXEwIDgwLTU2IDEzNnQtMTM2IDU2LTEzNi01Ni01Ni0xMzZxMC01MiAyNi05Ni41dDcwLTY5LjV2LTgyMHEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnEwIDUyLTI2IDk2LjV0LTcwIDY5LjV2NDk3cTU0LTI2IDE1NC01NyA1NS0xNyA4Ny41LTI5LjV0NzAuNS0zMSA1OS0zOS41IDQwLjUtNTEgMjgtNjkuNSA4LjUtOTEuNXEtNDQtMjUtNzAtNjkuNXQtMjYtOTYuNXEwLTgwIDU2LTEzNnQxMzYtNTYgMTM2IDU2IDU2IDEzNnoiLz48L3N2Zz4=); + } -var historicCoverageExecutionTimes = ["09.02.2022 - 20:50:35", "08.02.2022 - 20:50:35", "07.02.2022 - 20:50:35", "06.02.2022 - 20:50:35", "05.02.2022 - 20:50:35", "04.02.2022 - 20:50:35", "03.02.2022 - 20:50:35", "02.02.2022 - 20:50:35", "01.02.2022 - 20:50:35"]; + .icon-cube { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTg5NiAxNjI5bDY0MC0zNDl2LTYzNmwtNjQwIDIzM3Y3NTJ6bS02NC04NjVsNjk4LTI1NC02OTgtMjU0LTY5OCAyNTR6bTgzMi0yNTJ2NzY4cTAgMzUtMTggNjV0LTQ5IDQ3bC03MDQgMzg0cS0yOCAxNi02MSAxNnQtNjEtMTZsLTcwNC0zODRxLTMxLTE3LTQ5LTQ3dC0xOC02NXYtNzY4cTAtNDAgMjMtNzN0NjEtNDdsNzA0LTI1NnEyMi04IDQ0LTh0NDQgOGw3MDQgMjU2cTM4IDE0IDYxIDQ3dDIzIDczeiIvPjwvc3ZnPg==); + } -var riskHotspotMetrics = [ -]; + .icon-search-plus { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTEwODggODAwdjY0cTAgMTMtOS41IDIyLjV0LTIyLjUgOS41aC0yMjR2MjI0cTAgMTMtOS41IDIyLjV0LTIyLjUgOS41aC02NHEtMTMgMC0yMi41LTkuNXQtOS41LTIyLjV2LTIyNGgtMjI0cS0xMyAwLTIyLjUtOS41dC05LjUtMjIuNXYtNjRxMC0xMyA5LjUtMjIuNXQyMi41LTkuNWgyMjR2LTIyNHEwLTEzIDkuNS0yMi41dDIyLjUtOS41aDY0cTEzIDAgMjIuNSA5LjV0OS41IDIyLjV2MjI0aDIyNHExMyAwIDIyLjUgOS41dDkuNSAyMi41em0xMjggMzJxMC0xODUtMTMxLjUtMzE2LjV0LTMxNi41LTEzMS41LTMxNi41IDEzMS41LTEzMS41IDMxNi41IDEzMS41IDMxNi41IDMxNi41IDEzMS41IDMxNi41LTEzMS41IDEzMS41LTMxNi41em01MTIgODMycTAgNTMtMzcuNSA5MC41dC05MC41IDM3LjVxLTU0IDAtOTAtMzhsLTM0My0zNDJxLTE3OSAxMjQtMzk5IDEyNC0xNDMgMC0yNzMuNS01NS41dC0yMjUtMTUwLTE1MC0yMjUtNTUuNS0yNzMuNSA1NS41LTI3My41IDE1MC0yMjUgMjI1LTE1MCAyNzMuNS01NS41IDI3My41IDU1LjUgMjI1IDE1MCAxNTAgMjI1IDU1LjUgMjczLjVxMCAyMjAtMTI0IDM5OWwzNDMgMzQzcTM3IDM3IDM3IDkweiIvPjwvc3ZnPg==); + } -var riskHotspots = [ -]; + .icon-search-minus { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHdpZHRoPSIxNzkyIiBoZWlnaHQ9IjE3OTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI0JGQkZDMCIgZD0iTTEwODggODAwdjY0cTAgMTMtOS41IDIyLjV0LTIyLjUgOS41aC01NzZxLTEzIDAtMjIuNS05LjV0LTkuNS0yMi41di02NHEwLTEzIDkuNS0yMi41dDIyLjUtOS41aDU3NnExMyAwIDIyLjUgOS41dDkuNSAyMi41em0xMjggMzJxMC0xODUtMTMxLjUtMzE2LjV0LTMxNi41LTEzMS41LTMxNi41IDEzMS41LTEzMS41IDMxNi41IDEzMS41IDMxNi41IDMxNi41IDEzMS41IDMxNi41LTEzMS41IDEzMS41LTMxNi41em01MTIgODMycTAgNTMtMzcuNSA5MC41dC05MC41IDM3LjVxLTU0IDAtOTAtMzhsLTM0My0zNDJxLTE3OSAxMjQtMzk5IDEyNC0xNDMgMC0yNzMuNS01NS41dC0yMjUtMTUwLTE1MC0yMjUtNTUuNS0yNzMuNSA1NS41LTI3My41IDE1MC0yMjUgMjI1LTE1MCAyNzMuNS01NS41IDI3My41IDU1LjUgMjI1IDE1MCAxNTAgMjI1IDU1LjUgMjczLjVxMCAyMjAtMTI0IDM5OWwzNDMgMzQzcTM3IDM3IDM3IDkweiIvPjwvc3ZnPg==); + } -var branchCoverageAvailable = true; -var methodCoverageAvailable = true; -var maximumDecimalPlacesForCoverageQuotas = 1; + .icon-star { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNzI4IDY0N3EwIDIyLTI2IDQ4bC0zNjMgMzU0IDg2IDUwMHExIDcgMSAyMCAwIDIxLTEwLjUgMzUuNXQtMzAuNSAxNC41cS0xOSAwLTQwLTEybC00NDktMjM2LTQ0OSAyMzZxLTIyIDEyLTQwIDEyLTIxIDAtMzEuNS0xNC41dC0xMC41LTM1LjVxMC02IDItMjBsODYtNTAwLTM2NC0zNTRxLTI1LTI3LTI1LTQ4IDAtMzcgNTYtNDZsNTAyLTczIDIyNS00NTVxMTktNDEgNDktNDF0NDkgNDFsMjI1IDQ1NSA1MDIgNzNxNTYgOSA1NiA0NnoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=); + } + } +} -var translations = { -'top': 'Top:', -'all': 'All', -'assembly': 'Assembly', -'class': 'Class', -'method': 'Method', -'lineCoverage': 'Line coverage', -'noGrouping': 'No grouping', -'byAssembly': 'By assembly', -'byNamespace': 'By namespace, Level:', -'all': 'All', -'collapseAll': 'Collapse all', -'expandAll': 'Expand all', -'grouping': 'Grouping:', -'filter': 'Filter:', -'name': 'Name', -'covered': 'Covered', -'uncovered': 'Uncovered', -'coverable': 'Coverable', -'total': 'Total', -'coverage': 'Line coverage', -'branchCoverage': 'Branch coverage', -'methodCoverage': 'Method coverage', -'fullMethodCoverage': 'Full method coverage', -'percentage': 'Percentage', -'history': 'Coverage history', -'compareHistory': 'Compare with:', -'date': 'Date', -'allChanges': 'All changes', -'selectCoverageTypes': 'Select coverage types', -'selectCoverageTypesAndMetrics': 'Select coverage types & metrics', -'coverageTypes': 'Coverage types', -'metrics': 'Metrics', -'methodCoverageProVersion': 'Feature is only available for sponsors', -'lineCoverageIncreaseOnly': 'Line coverage: Increase only', -'lineCoverageDecreaseOnly': 'Line coverage: Decrease only', -'branchCoverageIncreaseOnly': 'Branch coverage: Increase only', -'branchCoverageDecreaseOnly': 'Branch coverage: Decrease only', -'methodCoverageIncreaseOnly': 'Method coverage: Increase only', -'methodCoverageDecreaseOnly': 'Method coverage: Decrease only', -'fullMethodCoverageIncreaseOnly': 'Full method coverage: Increase only', -'fullMethodCoverageDecreaseOnly': 'Full method coverage: Decrease only' -}; +.ct-double-octave:after,.ct-golden-section:after,.ct-major-eleventh:after,.ct-major-second:after,.ct-major-seventh:after,.ct-major-sixth:after,.ct-major-tenth:after,.ct-major-third:after,.ct-major-twelfth:after,.ct-minor-second:after,.ct-minor-seventh:after,.ct-minor-sixth:after,.ct-minor-third:after,.ct-octave:after,.ct-perfect-fifth:after,.ct-perfect-fourth:after,.ct-square:after{content:"";clear:both}.ct-label{fill:rgba(0,0,0,.4);color:rgba(0,0,0,.4);font-size:.75rem;line-height:1}.ct-chart-bar .ct-label,.ct-chart-line .ct-label{display:block;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.ct-chart-donut .ct-label,.ct-chart-pie .ct-label{dominant-baseline:central}.ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-label.ct-vertical.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-end;-webkit-justify-content:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-label.ct-vertical.ct-end{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start{-webkit-box-align:flex-end;-webkit-align-items:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end{-webkit-box-align:flex-start;-webkit-align-items:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:start}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-end;-webkit-justify-content:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;text-align:right;text-anchor:end}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:flex-start;-webkit-justify-content:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;text-align:left;text-anchor:end}.ct-grid{stroke:rgba(0,0,0,.2);stroke-width:1px;stroke-dasharray:2px}.ct-grid-background{fill:none}.ct-point{stroke-width:10px;stroke-linecap:round}.ct-line{fill:none;stroke-width:4px}.ct-area{stroke:none;fill-opacity:.1}.ct-bar{fill:none;stroke-width:10px}.ct-slice-donut{fill:none;stroke-width:60px}.ct-series-a .ct-bar,.ct-series-a .ct-line,.ct-series-a .ct-point,.ct-series-a .ct-slice-donut{stroke:#d70206}.ct-series-a .ct-area,.ct-series-a .ct-slice-donut-solid,.ct-series-a .ct-slice-pie{fill:#d70206}.ct-series-b .ct-bar,.ct-series-b .ct-line,.ct-series-b .ct-point,.ct-series-b .ct-slice-donut{stroke:#f05b4f}.ct-series-b .ct-area,.ct-series-b .ct-slice-donut-solid,.ct-series-b .ct-slice-pie{fill:#f05b4f}.ct-series-c .ct-bar,.ct-series-c .ct-line,.ct-series-c .ct-point,.ct-series-c .ct-slice-donut{stroke:#f4c63d}.ct-series-c .ct-area,.ct-series-c .ct-slice-donut-solid,.ct-series-c .ct-slice-pie{fill:#f4c63d}.ct-series-d .ct-bar,.ct-series-d .ct-line,.ct-series-d .ct-point,.ct-series-d .ct-slice-donut{stroke:#d17905}.ct-series-d .ct-area,.ct-series-d .ct-slice-donut-solid,.ct-series-d .ct-slice-pie{fill:#d17905}.ct-series-e .ct-bar,.ct-series-e .ct-line,.ct-series-e .ct-point,.ct-series-e .ct-slice-donut{stroke:#453d3f}.ct-series-e .ct-area,.ct-series-e .ct-slice-donut-solid,.ct-series-e .ct-slice-pie{fill:#453d3f}.ct-series-f .ct-bar,.ct-series-f .ct-line,.ct-series-f .ct-point,.ct-series-f .ct-slice-donut{stroke:#59922b}.ct-series-f .ct-area,.ct-series-f .ct-slice-donut-solid,.ct-series-f .ct-slice-pie{fill:#59922b}.ct-series-g .ct-bar,.ct-series-g .ct-line,.ct-series-g .ct-point,.ct-series-g .ct-slice-donut{stroke:#0544d3}.ct-series-g .ct-area,.ct-series-g .ct-slice-donut-solid,.ct-series-g .ct-slice-pie{fill:#0544d3}.ct-series-h .ct-bar,.ct-series-h .ct-line,.ct-series-h .ct-point,.ct-series-h .ct-slice-donut{stroke:#6b0392}.ct-series-h .ct-area,.ct-series-h .ct-slice-donut-solid,.ct-series-h .ct-slice-pie{fill:#6b0392}.ct-series-i .ct-bar,.ct-series-i .ct-line,.ct-series-i .ct-point,.ct-series-i .ct-slice-donut{stroke:#f05b4f}.ct-series-i .ct-area,.ct-series-i .ct-slice-donut-solid,.ct-series-i .ct-slice-pie{fill:#f05b4f}.ct-series-j .ct-bar,.ct-series-j .ct-line,.ct-series-j .ct-point,.ct-series-j .ct-slice-donut{stroke:#dda458}.ct-series-j .ct-area,.ct-series-j .ct-slice-donut-solid,.ct-series-j .ct-slice-pie{fill:#dda458}.ct-series-k .ct-bar,.ct-series-k .ct-line,.ct-series-k .ct-point,.ct-series-k .ct-slice-donut{stroke:#eacf7d}.ct-series-k .ct-area,.ct-series-k .ct-slice-donut-solid,.ct-series-k .ct-slice-pie{fill:#eacf7d}.ct-series-l .ct-bar,.ct-series-l .ct-line,.ct-series-l .ct-point,.ct-series-l .ct-slice-donut{stroke:#86797d}.ct-series-l .ct-area,.ct-series-l .ct-slice-donut-solid,.ct-series-l .ct-slice-pie{fill:#86797d}.ct-series-m .ct-bar,.ct-series-m .ct-line,.ct-series-m .ct-point,.ct-series-m .ct-slice-donut{stroke:#b2c326}.ct-series-m .ct-area,.ct-series-m .ct-slice-donut-solid,.ct-series-m .ct-slice-pie{fill:#b2c326}.ct-series-n .ct-bar,.ct-series-n .ct-line,.ct-series-n .ct-point,.ct-series-n .ct-slice-donut{stroke:#6188e2}.ct-series-n .ct-area,.ct-series-n .ct-slice-donut-solid,.ct-series-n .ct-slice-pie{fill:#6188e2}.ct-series-o .ct-bar,.ct-series-o .ct-line,.ct-series-o .ct-point,.ct-series-o .ct-slice-donut{stroke:#a748ca}.ct-series-o .ct-area,.ct-series-o .ct-slice-donut-solid,.ct-series-o .ct-slice-pie{fill:#a748ca}.ct-square{display:block;position:relative;width:100%}.ct-square:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:100%}.ct-square:after{display:table}.ct-square>svg{display:block;position:absolute;top:0;left:0}.ct-minor-second{display:block;position:relative;width:100%}.ct-minor-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:93.75%}.ct-minor-second:after{display:table}.ct-minor-second>svg{display:block;position:absolute;top:0;left:0}.ct-major-second{display:block;position:relative;width:100%}.ct-major-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:88.8888888889%}.ct-major-second:after{display:table}.ct-major-second>svg{display:block;position:absolute;top:0;left:0}.ct-minor-third{display:block;position:relative;width:100%}.ct-minor-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:83.3333333333%}.ct-minor-third:after{display:table}.ct-minor-third>svg{display:block;position:absolute;top:0;left:0}.ct-major-third{display:block;position:relative;width:100%}.ct-major-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:80%}.ct-major-third:after{display:table}.ct-major-third>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fourth{display:block;position:relative;width:100%}.ct-perfect-fourth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:75%}.ct-perfect-fourth:after{display:table}.ct-perfect-fourth>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fifth{display:block;position:relative;width:100%}.ct-perfect-fifth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:66.6666666667%}.ct-perfect-fifth:after{display:table}.ct-perfect-fifth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-sixth{display:block;position:relative;width:100%}.ct-minor-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:62.5%}.ct-minor-sixth:after{display:table}.ct-minor-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-golden-section{display:block;position:relative;width:100%}.ct-golden-section:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:61.804697157%}.ct-golden-section:after{display:table}.ct-golden-section>svg{display:block;position:absolute;top:0;left:0}.ct-major-sixth{display:block;position:relative;width:100%}.ct-major-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:60%}.ct-major-sixth:after{display:table}.ct-major-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-seventh{display:block;position:relative;width:100%}.ct-minor-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:56.25%}.ct-minor-seventh:after{display:table}.ct-minor-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-seventh{display:block;position:relative;width:100%}.ct-major-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:53.3333333333%}.ct-major-seventh:after{display:table}.ct-major-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-octave{display:block;position:relative;width:100%}.ct-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:50%}.ct-octave:after{display:table}.ct-octave>svg{display:block;position:absolute;top:0;left:0}.ct-major-tenth{display:block;position:relative;width:100%}.ct-major-tenth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:40%}.ct-major-tenth:after{display:table}.ct-major-tenth>svg{display:block;position:absolute;top:0;left:0}.ct-major-eleventh{display:block;position:relative;width:100%}.ct-major-eleventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:37.5%}.ct-major-eleventh:after{display:table}.ct-major-eleventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-twelfth{display:block;position:relative;width:100%}.ct-major-twelfth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:33.3333333333%}.ct-major-twelfth:after{display:table}.ct-major-twelfth>svg{display:block;position:absolute;top:0;left:0}.ct-double-octave{display:block;position:relative;width:100%}.ct-double-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:25%}.ct-double-octave:after{display:table}.ct-double-octave>svg{display:block;position:absolute;top:0;left:0} + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Test.TestClass
Assembly:Sample
File(s):C:\temp\TestClass.cs
+
+
+
+
+
+
+
Line coverage
+
+
72%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:24
Uncovered lines:9
Coverable lines:33
Total lines:38
Line coverage:72.7%
+
+
+
+
+
Branch coverage
+
+
50%
+
+ + + + + + + + + + + + + +
Covered branches:2
Total branches:4
Branch coverage:50%
+
+
+
+
+
Method coverage
+
+
80%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered methods:4
Fully covered methods:3
Total methods:5
Method coverage:80%
Full method coverage:60%
+
+
+
+
+

Coverage history

+
+ +Coverage history + + + + + + + + + + + + + + 0 + 25 + 50 + 75 + 100 + + +15.10.2025 - 20:25:03 +Line coverage: 72.7% (24/33) +Branch coverage: 50% (2/4) +Method coverage: 80% (4/5) +Full method coverage 60% (3/5) +Total lines: 38 + + +15.10.2025 - 20:25:03 +Line coverage: 72.7% (24/33) +Branch coverage: 50% (2/4) +Method coverage: 80% (4/5) +Full method coverage 60% (3/5) +Total lines: 38 + + +15.10.2025 - 20:25:03 +Line coverage: 72.7% (24/33) +Branch coverage: 50% (2/4) +Method coverage: 80% (4/5) +Full method coverage 60% (3/5) +Total lines: 38 + + +15.10.2025 - 20:25:03 +Line coverage: 72.7% (24/33) +Branch coverage: 50% (2/4) +Method coverage: 80% (4/5) +Full method coverage 60% (3/5) +Total lines: 38 + +
+ +

Metrics

+
+ +++++++ + + + + + + + + +
MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
SampleFunction()50%4480%
ParentMethod()100%11100%
NestedLocalFunction(System.String)100%11100%
MethodWithLambda()100%11100%
SampleFunction()100%110%
+
+

File(s)

+

C:\temp\TestClass.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using System;
 2
 3namespace Test
 4{
 5    class TestClass
 6    {
 7        public void SampleFunction()
 8        {
 29            string test = string.Format(
 210                "{0} {1}",
 211                 "Hello",
 212                 "World");
 213
 14            Console.WriteLine(test);
 215            int i = 10;
 216
 17            if (i > 0 || i > 1)
 218            {
 219                Console.WriteLine(i + " is greater that 0");
 220            }
 221            else
 22            {
 023                Console.WriteLine(i + " is not greater that 0");
 024            }
 025        }
 226
 27        public class NestedClass
 28        {
 229            public void SampleFunction()
 230            {
 31                Console.WriteLine(
 232                    "{0} {1}",
 33                     "Hello",
 34                     "World");
 235            }
 236        }
 237    }
 238}
+
+
+
+ + ------=_NextPart_000_0000_01D23618.54EBCBE0 -Content-Type: text/css; +Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: 8bit -Content-Location: file:///report.css +Content-Location: file:///Sample_TestClass2.html -:root { + + + + + + + +Test.TestClass2 - Coverage Report + +
+

< Summary

+
+
+
Information
+
+
+ + + + + + + + + + + + + +
Class:Test.TestClass2
Assembly:Sample
File(s):C:\temp\TestClass2.cs
+
+
+
+
+
+
+
Line coverage
+
+
63%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered lines:24
Uncovered lines:14
Coverable lines:38
Total lines:85
Line coverage:63.1%
+
+
+
+
+
Branch coverage
+
+
50%
+
+ + + + + + + + + + + + + +
Covered branches:1
Total branches:2
Branch coverage:50%
+
+
+
+
+
Method coverage
+
+
60%
+
+ + + + + + + + + + + + + + + + + + + + + +
Covered methods:6
Fully covered methods:4
Total methods:10
Method coverage:60%
Full method coverage:40%
+
+
+
+
+

Coverage history

+
+ +Coverage history + + + + + + + + + + + + + + 0 + 25 + 50 + 75 + 100 + + +01.02.2022 - 20:50:35 +Line coverage: 39.4% (15/38) +Branch coverage: 50% (10/20) +Method coverage: 60% (6/10) +Full method coverage 40% (4/10) +Total lines: 8502.02.2022 - 20:50:35 +Line coverage: 39.4% (15/38) +Branch coverage: 40% (8/20) +Method coverage: 40% (4/10) +Full method coverage 40% (4/10) +Total lines: 8503.02.2022 - 20:50:35 +Line coverage: 42.1% (16/38) +Branch coverage: 40% (8/20) +Method coverage: 40% (4/10) +Full method coverage 40% (4/10) +Total lines: 8506.02.2022 - 20:50:35 +Line coverage: 44.7% (17/38) +Branch coverage: 40% (8/20) +Method coverage: 60% (6/10) +Full method coverage 40% (4/10) +Total lines: 8508.02.2022 - 20:50:35 +Line coverage: 39.4% (15/38) +Branch coverage: 40% (8/20) +Method coverage: 60% (6/10) +Full method coverage 40% (4/10) +Total lines: 8515.10.2025 - 20:25:03 +Line coverage: 63.1% (24/38) +Branch coverage: 50% (1/2) +Method coverage: 60% (6/10) +Full method coverage 40% (4/10) +Total lines: 85 + + +01.02.2022 - 20:50:35 +Line coverage: 39.4% (15/38) +Branch coverage: 50% (10/20) +Method coverage: 60% (6/10) +Full method coverage 40% (4/10) +Total lines: 8502.02.2022 - 20:50:35 +Line coverage: 39.4% (15/38) +Branch coverage: 40% (8/20) +Method coverage: 40% (4/10) +Full method coverage 40% (4/10) +Total lines: 8503.02.2022 - 20:50:35 +Line coverage: 42.1% (16/38) +Branch coverage: 40% (8/20) +Method coverage: 40% (4/10) +Full method coverage 40% (4/10) +Total lines: 8506.02.2022 - 20:50:35 +Line coverage: 44.7% (17/38) +Branch coverage: 40% (8/20) +Method coverage: 60% (6/10) +Full method coverage 40% (4/10) +Total lines: 8508.02.2022 - 20:50:35 +Line coverage: 39.4% (15/38) +Branch coverage: 40% (8/20) +Method coverage: 60% (6/10) +Full method coverage 40% (4/10) +Total lines: 8515.10.2025 - 20:25:03 +Line coverage: 63.1% (24/38) +Branch coverage: 50% (1/2) +Method coverage: 60% (6/10) +Full method coverage 40% (4/10) +Total lines: 85 + + +01.02.2022 - 20:50:35 +Line coverage: 39.4% (15/38) +Branch coverage: 50% (10/20) +Method coverage: 60% (6/10) +Full method coverage 40% (4/10) +Total lines: 8502.02.2022 - 20:50:35 +Line coverage: 39.4% (15/38) +Branch coverage: 40% (8/20) +Method coverage: 40% (4/10) +Full method coverage 40% (4/10) +Total lines: 8503.02.2022 - 20:50:35 +Line coverage: 42.1% (16/38) +Branch coverage: 40% (8/20) +Method coverage: 40% (4/10) +Full method coverage 40% (4/10) +Total lines: 8506.02.2022 - 20:50:35 +Line coverage: 44.7% (17/38) +Branch coverage: 40% (8/20) +Method coverage: 60% (6/10) +Full method coverage 40% (4/10) +Total lines: 8508.02.2022 - 20:50:35 +Line coverage: 39.4% (15/38) +Branch coverage: 40% (8/20) +Method coverage: 60% (6/10) +Full method coverage 40% (4/10) +Total lines: 8515.10.2025 - 20:25:03 +Line coverage: 63.1% (24/38) +Branch coverage: 50% (1/2) +Method coverage: 60% (6/10) +Full method coverage 40% (4/10) +Total lines: 85 + + +01.02.2022 - 20:50:35 +Line coverage: 39.4% (15/38) +Branch coverage: 50% (10/20) +Method coverage: 60% (6/10) +Full method coverage 40% (4/10) +Total lines: 8502.02.2022 - 20:50:35 +Line coverage: 39.4% (15/38) +Branch coverage: 40% (8/20) +Method coverage: 40% (4/10) +Full method coverage 40% (4/10) +Total lines: 8503.02.2022 - 20:50:35 +Line coverage: 42.1% (16/38) +Branch coverage: 40% (8/20) +Method coverage: 40% (4/10) +Full method coverage 40% (4/10) +Total lines: 8506.02.2022 - 20:50:35 +Line coverage: 44.7% (17/38) +Branch coverage: 40% (8/20) +Method coverage: 60% (6/10) +Full method coverage 40% (4/10) +Total lines: 8508.02.2022 - 20:50:35 +Line coverage: 39.4% (15/38) +Branch coverage: 40% (8/20) +Method coverage: 60% (6/10) +Full method coverage 40% (4/10) +Total lines: 8515.10.2025 - 20:25:03 +Line coverage: 63.1% (24/38) +Branch coverage: 50% (1/2) +Method coverage: 60% (6/10) +Full method coverage 40% (4/10) +Total lines: 85 + +
+ +

Metrics

+
+ ++++++++ + + + + + + + + + +
MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
.ctor()0%2100%
.ctor(...)100%110100%
ExecutedMethod()100%110100%
UnExecutedMethod()0%2100%
SampleFunction(...)66.67%552100%
DoSomething(...)0%2100%
+
+

File(s)

+

C:\temp\TestClass2.cs

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#LineLine coverage
 1using System;
 2using System.Collections.Generic;
 3using System.Linq;
 4
 5namespace Test
 6{
 7    class TestClass2
 8    {
 9        private string name;
 10
 211        private Dictionary<string, int> dict = new Dictionary<string, int>();
 12
 313        public string ExecutedProperty { get; set; }
 14
 015        public string UnExecutedProperty { get; set; }
 16
 017        public TestClass2()
 018        {
 019            this.name = "Nobody";
 020            this.ExecutedProperty = "Nobody";
 021        }
 22
 223        public TestClass2(string name)
 224        {
 225            this.name = name;
 226            this.ExecutedProperty = name + name;
 227        }
 28
 29        public void ExecutedMethod()
 130        {
 131            Console.WriteLine(this.name);
 132            Console.WriteLine(this.ExecutedProperty);
 133        }
 34
 35        public void UnExecutedMethod()
 036        {
 037            Console.WriteLine(this.name);
 038            Console.WriteLine(this.ExecutedProperty);
 039        }
 40
 41        public void SampleFunction(string city)
 142        {
 143            int[] values = new int[] { 0, 1, 2, 3 };
 44
 545            var doubled = values.Select(i => i * 2);
 46
 1147            foreach (var item in doubled)
 448            {
 449                Console.WriteLine(item);
 450            }
 51
 152            string[] cities = new string[] { "Berlin", "Munich", "Paris" };
 53
 454            if (cities.SingleOrDefault(c => c.Equals(city, StringComparison.OrdinalIgnoreCase)) != null)
 155            {
 156                Console.WriteLine("Found " + city);
 157            }
 158        }
 59
 60        public string DoSomething(string value,
 61            string[] stringArray,
 62            Guid id,
 63            IEnumerable<string> stringEnumerable,
 64            IList<string> stringList,
 65            decimal dec,
 66            int i,
 67            Dictionary<string, int> dict,
 68            out int g,
 69            float fff,
 70            double dou,
 71            bool bo,
 72            byte by,
 73            char ch,
 74            object o,
 75            sbyte sby,
 76            short sh,
 77            uint ui,
 78            ulong ul,
 79            ushort usho)
 080        {
 081            g = 0;
 082            return null;
 083        }
 84    }
 85}
+
+
+
+ + ------=_NextPart_000_0000_01D23618.54EBCBE0-- \ No newline at end of file diff --git a/docs/resources/reports/Markdown/Summary.md b/docs/resources/reports/Markdown/Summary.md new file mode 100644 index 00000000..06fee729 --- /dev/null +++ b/docs/resources/reports/Markdown/Summary.md @@ -0,0 +1,449 @@ +# Summary + +||| +|:---|:---| +| Generated on: | 15.10.2025 - 20:25:13 | +| Parser: | OpenCover | +| Assemblies: | 1 | +| Classes: | 4 | +| Files: | 5 | +| **Line coverage:** | 69.4% (75 of 108) | +| Covered lines: | 75 | +| Uncovered lines: | 33 | +| Coverable lines: | 108 | +| Total lines: | 260 | +| **Branch coverage:** | 50% (4 of 8) | +| Covered branches: | 4 | +| Total branches: | 8 | +| **Method coverage:** | 66.6% (16 of 24) | +| **Full method coverage:** | 50% (12 of 24) | +| Covered methods: | 16 | +| Fully covered methods: | 12 | +| Total methods: | 24 | + +# Risk Hotspots + +No risk hotspots found. + +# Coverage + +| **Name** | **Covered** | **Uncovered** | **Coverable** | **Total** | **Line coverage** | **Covered** | **Total** | **Branch coverage** | **Covered** | **Total** | **Method coverage** | **Full method coverage** | +|:---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:| +| **Sample** | **75** | **33** | **108** | **260** | **69.4%** | **4** | **8** | **50%** | **16** | **24** | **66.6%** | **50%** | +| [Sample.PartialClass](#samplepartialclass) | 12 | 10 | 22 | 53 | 54.5% | 1 | 2 | 50% | 3 | 6 | 50% | 33.3% | +| [Test.Program](#testprogram) | 15 | 0 | 15 | 84 | 100% | 0 | 0 | | 3 | 3 | 100% | 100% | +| [Test.TestClass](#testtestclass) | 24 | 9 | 33 | 38 | 72.7% | 2 | 4 | 50% | 4 | 5 | 80% | 60% | +| [Test.TestClass2](#testtestclass2) | 24 | 14 | 38 | 85 | 63.1% | 1 | 2 | 50% | 6 | 10 | 60% | 40% | + +# Sample.PartialClass + +## Summary + +||| +|:---|:---| +| Class: | Sample.PartialClass | +| Assembly: | Sample | +| **File(s):** | C:\temp\PartialClass.cs
C:\temp\PartialClass2.cs | +| **Line coverage:** | 54.5% (12 of 22) | +| Covered lines: | 12 | +| Uncovered lines: | 10 | +| Coverable lines: | 22 | +| Total lines: | 53 | +| **Branch coverage:** | 50% (1 of 2) | +| Covered branches: | 1 | +| Total branches: | 2 | +| **Method coverage:** | 50% (3 of 6) | +| **Full method coverage:** | 33.3% (2 of 6) | +| Covered methods: | 3 | +| Fully covered methods: | 2 | +| Total methods: | 6 | + +## Metrics + +| **Method** | **Branch coverage** | **Crap Score** | **Cyclomatic complexity** | **NPath complexity** | **Sequence coverage** | +|:---|---:|---:|---:|---:|---:| +| **ExecutedMethod_1()** | 100% | 1 | 1 | 0 | 100% | +| **ExecutedMethod_2()** | 100% | 1 | 1 | 0 | 100% | +| **UnExecutedMethod_1()** | 0% | 2 | 1 | 0 | 0% | +| **UnExecutedMethod_2()** | 0% | 2 | 1 | 0 | 0% | + +## File(s) + +### C:\temp\PartialClass.cs +``` + 1 using System; + 2 + 3 namespace Test + 4 { + 5 partial class PartialClass + 6 { + 7 public void ExecutedMethod_1() + 8 ✔ 1 { + 9 ✔ 1 Console.WriteLine("Test"); +10 ✔ 1 } +11 +12 public void UnExecutedMethod_1() +13 ❌ 0 { +14 ❌ 0 Console.WriteLine("Test"); +15 ❌ 0 } +16 +17 private int someProperty; +18 +19 public int SomeProperty +20 { +21 ❌ 0 get { return this.someProperty; } +22 +23 set +24 ✔ 1 { +25 ✓ 1 ◑ if (value < 0) +26 ✔ 1 { +27 ✔ 1 this.someProperty = 0; +28 ✔ 1 } +29 else +30 ❌ 0 { +31 ❌ 0 this.someProperty = value; +32 ❌ 0 } +33 ✔ 1 } +34 } +35 } +36 } +``` +### C:\temp\PartialClass2.cs +``` + 1 using System; + 2 + 3 namespace Test + 4 { + 5 partial class PartialClass + 6 { + 7 public void ExecutedMethod_2() + 8 ✔ 1 { + 9 ✔ 1 Console.WriteLine("Test"); +10 ✔ 1 } +11 +12 public void UnExecutedMethod_2() +13 ❌ 0 { +14 ❌ 0 Console.WriteLine("Test"); +15 ❌ 0 } +16 } +17 } +``` +# Test.Program + +## Summary + +||| +|:---|:---| +| Class: | Test.Program | +| Assembly: | Sample | +| **File(s):** | C:\temp\Program.cs | +| **Line coverage:** | 100% (15 of 15) | +| Covered lines: | 15 | +| Uncovered lines: | 0 | +| Coverable lines: | 15 | +| Total lines: | 84 | +| Covered branches: | 0 | +| Total branches: | 0 | +| **Method coverage:** | 100% (3 of 3) | +| **Full method coverage:** | 100% (3 of 3) | +| Covered methods: | 3 | +| Fully covered methods: | 3 | +| Total methods: | 3 | + +## Metrics + +| **Method** | **Branch coverage** | **Crap Score** | **Cyclomatic complexity** | **NPath complexity** | **Sequence coverage** | +|:---|---:|---:|---:|---:|---:| +| **CallAsyncMethod()** | 100% | 3 | 3 | 0 | 100% | +| **.ctor(...)** | 100% | 1 | 1 | 0 | 100% | +| **SendAsync(...)** | 100% | 1 | 1 | 0 | 100% | + +## File(s) + +### C:\temp\Program.cs +``` + 1 using System.Net.Http; + 2 using System.Threading; + 3 using System.Threading.Tasks; + 4 using Microsoft.VisualStudio.TestTools.UnitTesting; + 5 + 6 namespace Test + 7 { + 8 [TestClass] + 9 public class Program +10 { +11 static void Main(string[] args) +12 { +13 new TestClass().SampleFunction(); +14 +15 new TestClass2("Test").ExecutedMethod(); +16 new TestClass2("Test").SampleFunction("Munich"); +17 +18 new PartialClass().ExecutedMethod_1(); +19 new PartialClass().ExecutedMethod_2(); +20 new PartialClass().SomeProperty = -10; +21 +22 ✔ 2 new PartialClassWithAutoProperties().Property1 = "Test"; +23 new PartialClassWithAutoProperties().Property2 = "Test"; +24 +25 new SomeClass().Property1 = "Test"; +26 +27 new ClassWithExcludes().IncludedMethod(); +28 new ClassWithExcludes().ExcludedMethod(); +29 +30 new GenericClass().Process(null); +31 new GenericClass().PostProcess(null); +32 +33 new CodeContract_Target().Calculate(-1); +34 +35 new AbstractClass_SampleImpl1(); +36 new AbstractClass_SampleImpl2(); +37 +38 CallAsyncMethod(); +39 +40 try +41 { +42 new CodeContract_Target().Calculate(0); +43 } +44 catch (System.ArgumentException) +45 { +46 } +47 } +48 +49 [TestMethod] +50 ✔ 2 public void CSharp_ExecuteTest1() +51 { +52 Main(null); +53 } +54 +55 [TestMethod] +56 public void CSharp_ExecuteTest2() +57 { +58 Main(null); +59 } +60 +61 private static async void CallAsyncMethod() +62 ✔ 1 { +63 ✔ 1 var expected = new HttpResponseMessage(); +64 ✔ 1 var handler = new AsyncClass() { InnerHandler = new EchoHandler(expected) }; +65 ✔ 1 var invoker = new HttpMessageInvoker(handler, false); +66 ✔ 1 var actual = await invoker.SendAsync(new HttpRequestMessage(), new CancellationToken()); +67 ✔ 1 } +68 +69 private class EchoHandler : DelegatingHandler +70 { +71 private HttpResponseMessage _response; +72 +73 ✔ 1 public EchoHandler(HttpResponseMessage response) +74 ✔ 1 { +75 ✔ 1 this._response = response; +76 ✔ 1 } +77 +78 protected override Task SendAsync(HttpRequestMessage request, CancellationToken cancell +79 ✔ 1 { +80 ✔ 1 return Task.FromResult(this._response); +81 ✔ 1 } +82 } +83 } +84 } +``` +# Test.TestClass + +## Summary + +||| +|:---|:---| +| Class: | Test.TestClass | +| Assembly: | Sample | +| **File(s):** | C:\temp\TestClass.cs | +| **Line coverage:** | 72.7% (24 of 33) | +| Covered lines: | 24 | +| Uncovered lines: | 9 | +| Coverable lines: | 33 | +| Total lines: | 38 | +| **Branch coverage:** | 50% (2 of 4) | +| Covered branches: | 2 | +| Total branches: | 4 | +| **Method coverage:** | 80% (4 of 5) | +| **Full method coverage:** | 60% (3 of 5) | +| Covered methods: | 4 | +| Fully covered methods: | 3 | +| Total methods: | 5 | + +## Metrics + +| **Method** | **Branch coverage** | **Cyclomatic complexity** | **NPath complexity** | **Sequence coverage** | +|:---|---:|---:|---:|---:| +| **SampleFunction()** | 50% | 4 | 4 | 80% | +| **ParentMethod()** | 100% | 1 | 1 | 100% | +| **NestedLocalFunction(System.String)** | 100% | 1 | 1 | 100% | +| **MethodWithLambda()** | 100% | 1 | 1 | 100% | +| **SampleFunction()** | 100% | 1 | 1 | 0% | + +## File(s) + +### C:\temp\TestClass.cs +``` + 1 using System; + 2 + 3 namespace Test + 4 { + 5 class TestClass + 6 { + 7 public void SampleFunction() + 8 { + 9 ✔ 2 string test = string.Format( +10 ✔ 2 "{0} {1}", +11 ✔ 2 "Hello", +12 ✔ 2 "World"); +13 ✔ 2 +14 Console.WriteLine(test); +15 ✔ 2 int i = 10; +16 ✔ 2 +17 if (i > 0 || i > 1) +18 ✓ 2 ◑ { +19 ✔ 2 Console.WriteLine(i + " is greater that 0"); +20 ✔ 2 } +21 ✔ 2 else +22 { +23 ❌ 0 Console.WriteLine(i + " is not greater that 0"); +24 ❌ 0 } +25 ❌ 0 } +26 ✔ 2 +27 public class NestedClass +28 { +29 ✔ 2 public void SampleFunction() +30 ✔ 2 { +31 Console.WriteLine( +32 ✔ 2 "{0} {1}", +33 "Hello", +34 "World"); +35 ✔ 2 } +36 ✔ 2 } +37 ✔ 2 } +38 ✔ 2 } +``` +# Test.TestClass2 + +## Summary + +||| +|:---|:---| +| Class: | Test.TestClass2 | +| Assembly: | Sample | +| **File(s):** | C:\temp\TestClass2.cs | +| **Line coverage:** | 63.1% (24 of 38) | +| Covered lines: | 24 | +| Uncovered lines: | 14 | +| Coverable lines: | 38 | +| Total lines: | 85 | +| **Branch coverage:** | 50% (1 of 2) | +| Covered branches: | 1 | +| Total branches: | 2 | +| **Method coverage:** | 60% (6 of 10) | +| **Full method coverage:** | 40% (4 of 10) | +| Covered methods: | 6 | +| Fully covered methods: | 4 | +| Total methods: | 10 | + +## Metrics + +| **Method** | **Branch coverage** | **Crap Score** | **Cyclomatic complexity** | **NPath complexity** | **Sequence coverage** | +|:---|---:|---:|---:|---:|---:| +| **.ctor()** | 0% | 2 | 1 | 0 | 0% | +| **.ctor(...)** | 100% | 1 | 1 | 0 | 100% | +| **ExecutedMethod()** | 100% | 1 | 1 | 0 | 100% | +| **UnExecutedMethod()** | 0% | 2 | 1 | 0 | 0% | +| **SampleFunction(...)** | 66.67% | 5 | 5 | 2 | 100% | +| **DoSomething(...)** | 0% | 2 | 1 | 0 | 0% | + +## File(s) + +### C:\temp\TestClass2.cs +``` + 1 using System; + 2 using System.Collections.Generic; + 3 using System.Linq; + 4 + 5 namespace Test + 6 { + 7 class TestClass2 + 8 { + 9 private string name; +10 +11 ✔ 2 private Dictionary dict = new Dictionary(); +12 +13 ✔ 3 public string ExecutedProperty { get; set; } +14 +15 ❌ 0 public string UnExecutedProperty { get; set; } +16 +17 ❌ 0 public TestClass2() +18 ❌ 0 { +19 ❌ 0 this.name = "Nobody"; +20 ❌ 0 this.ExecutedProperty = "Nobody"; +21 ❌ 0 } +22 +23 ✔ 2 public TestClass2(string name) +24 ✔ 2 { +25 ✔ 2 this.name = name; +26 ✔ 2 this.ExecutedProperty = name + name; +27 ✔ 2 } +28 +29 public void ExecutedMethod() +30 ✔ 1 { +31 ✔ 1 Console.WriteLine(this.name); +32 ✔ 1 Console.WriteLine(this.ExecutedProperty); +33 ✔ 1 } +34 +35 public void UnExecutedMethod() +36 ❌ 0 { +37 ❌ 0 Console.WriteLine(this.name); +38 ❌ 0 Console.WriteLine(this.ExecutedProperty); +39 ❌ 0 } +40 +41 public void SampleFunction(string city) +42 ✔ 1 { +43 ✔ 1 int[] values = new int[] { 0, 1, 2, 3 }; +44 +45 ✔ 5 var doubled = values.Select(i => i * 2); +46 +47 ✔ 11 foreach (var item in doubled) +48 ✔ 4 { +49 ✔ 4 Console.WriteLine(item); +50 ✔ 4 } +51 +52 ✔ 1 string[] cities = new string[] { "Berlin", "Munich", "Paris" }; +53 +54 ✓ 4 ◑ if (cities.SingleOrDefault(c => c.Equals(city, StringComparison.OrdinalIgnoreCase)) != null) +55 ✔ 1 { +56 ✔ 1 Console.WriteLine("Found " + city); +57 ✔ 1 } +58 ✔ 1 } +59 +60 public string DoSomething(string value, +61 string[] stringArray, +62 Guid id, +63 IEnumerable stringEnumerable, +64 IList stringList, +65 decimal dec, +66 int i, +67 Dictionary dict, +68 out int g, +69 float fff, +70 double dou, +71 bool bo, +72 byte by, +73 char ch, +74 object o, +75 sbyte sby, +76 short sh, +77 uint ui, +78 ulong ul, +79 ushort usho) +80 ❌ 0 { +81 ❌ 0 g = 0; +82 ❌ 0 return null; +83 ❌ 0 } +84 } +85 } +``` diff --git a/docs/resources/reports/MarkdownAssembliesSummary/Summary.md b/docs/resources/reports/MarkdownAssembliesSummary/Summary.md index 7934163b..b4449264 100644 --- a/docs/resources/reports/MarkdownAssembliesSummary/Summary.md +++ b/docs/resources/reports/MarkdownAssembliesSummary/Summary.md @@ -1,7 +1,7 @@ # Summary -![Line coverage](https://img.shields.io/badge/lines-69.4%25-C10909) ![Branch coverage](https://img.shields.io/badge/branches-50%25-C10909) ![Method coverage](https://img.shields.io/badge/methods-66.6%25-C10909) ![Full method coverage](https://img.shields.io/badge/methods-37.5%25-C10909) +![Line coverage](https://img.shields.io/badge/lines-69.4%25-C10909) ![Branch coverage](https://img.shields.io/badge/branches-50%25-C10909) ![Method coverage](https://img.shields.io/badge/methods-66.6%25-C10909) ![Full method coverage](https://img.shields.io/badge/methods-50%25-C10909) |**Assembly**|**Line coverage**|**Branch coverage**|**Method coverage**|**Full method coverage**| |:---|---:|---:|---:|---:| -|**Sample**|**69.4%**|**50%**|**66.6%**|**37.5%**| +|**Sample**|**69.4%**|**50%**|**66.6%**|**50%**| diff --git a/docs/resources/reports/MarkdownDeltaSummary/DeltaSummary.md b/docs/resources/reports/MarkdownDeltaSummary/DeltaSummary.md index 72ebfd21..ccb26ffb 100644 --- a/docs/resources/reports/MarkdownDeltaSummary/DeltaSummary.md +++ b/docs/resources/reports/MarkdownDeltaSummary/DeltaSummary.md @@ -1,9 +1,9 @@ # Delta Summary ||||| |:---|---:|---:|---:| -| Generated on: | 09.02.2025 - 18:57 | | | +| Generated on: | 15.10.2025 - 20:25 | | | | Description | **Previous** | **Current** | **Delta** | -| Coverage date: | 09.02.2022 - 20:50 | 09.02.2025 - 18:57 | | +| Coverage date: | 09.02.2022 - 20:50 | 15.10.2025 - 20:25 | | | **Line coverage:** | 58.4% | 69.4% | 11.0% | | Covered lines: | 73 | 75 | 2 | | Coverable lines: | 125 | 108 | -17 | @@ -12,7 +12,7 @@ | Covered branches: | 27 | 4 | -23 | | Total branches: | 60 | 8 | -52 | | **Method coverage:** | 66.6% | 66.6% | 0.0% | -| **Full method coverage:** | 37.5% | 37.5% | 0.0% | +| **Full method coverage:** | 37.5% | 50% | 12.5% | | Covered methods: | 16 | 16 | 0 | -| Fully covered methods: | 9 | 9 | 0 | +| Fully covered methods: | 9 | 12 | 3 | | Total methods: | 24 | 24 | 0 | diff --git a/docs/resources/reports/MarkdownSummary/Summary.md b/docs/resources/reports/MarkdownSummary/Summary.md index 06e3b340..e25f6bda 100644 --- a/docs/resources/reports/MarkdownSummary/Summary.md +++ b/docs/resources/reports/MarkdownSummary/Summary.md @@ -1,7 +1,8 @@ # Summary + ||| |:---|:---| -| Generated on: | 09.02.2025 - 18:57:02 | +| Generated on: | 15.10.2025 - 20:25:14 | | Parser: | OpenCover | | Assemblies: | 1 | | Classes: | 4 | @@ -15,15 +16,22 @@ | Covered branches: | 4 | | Total branches: | 8 | | **Method coverage:** | 66.6% (16 of 24) | -| **Full method coverage:** | 37.5% (9 of 24) | +| **Full method coverage:** | 50% (12 of 24) | | Covered methods: | 16 | -| Fully covered methods: | 9 | +| Fully covered methods: | 12 | | Total methods: | 24 | -|**Name**|**Covered**|**Uncovered**|**Coverable**|**Total**|**Line coverage**|**Covered**|**Total**|**Branch coverage**|**Covered**|**Total**|**Method coverage**|**Full method coverage**| +# Risk Hotspots + +No risk hotspots found. + +# Coverage + +| **Name** | **Covered** | **Uncovered** | **Coverable** | **Total** | **Line coverage** | **Covered** | **Total** | **Branch coverage** | **Covered** | **Total** | **Method coverage** | **Full method coverage** | |:---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:| -|**Sample**|**75**|**33**|**108**|**260**|**69.4%**|**4**|**8**|**50%**|**16**|**24**|**66.6%**|**37.5%**| -|Sample.PartialClass|12|10|22|53|54.5%|1|2|50%|3|6|50%|33.3%| -|Test.Program|15|0|15|84|100%|0|0||3|3|100%|100%| -|Test.TestClass|24|9|33|38|72.7%|2|4|50%|4|5|80%|20%| -|Test.TestClass2|24|14|38|85|63.1%|1|2|50%|6|10|60%|30%| +| **Sample** | **75** | **33** | **108** | **260** | **69.4%** | **4** | **8** | **50%** | **16** | **24** | **66.6%** | **50%** | +| Sample.PartialClass | 12 | 10 | 22 | 53 | 54.5% | 1 | 2 | 50% | 3 | 6 | 50% | 33.3% | +| Test.Program | 15 | 0 | 15 | 84 | 100% | 0 | 0 | | 3 | 3 | 100% | 100% | +| Test.TestClass | 24 | 9 | 33 | 38 | 72.7% | 2 | 4 | 50% | 4 | 5 | 80% | 60% | +| Test.TestClass2 | 24 | 14 | 38 | 85 | 63.1% | 1 | 2 | 50% | 6 | 10 | 60% | 40% | + diff --git a/docs/resources/reports/MarkdownSummaryGithub/SummaryGithub.md b/docs/resources/reports/MarkdownSummaryGithub/SummaryGithub.md index 193b1506..24dee146 100644 --- a/docs/resources/reports/MarkdownSummaryGithub/SummaryGithub.md +++ b/docs/resources/reports/MarkdownSummaryGithub/SummaryGithub.md @@ -3,7 +3,7 @@ ||| |:---|:---| -| Generated on: | 09.02.2025 - 18:57:03 | +| Generated on: | 15.10.2025 - 20:25:15 | | Parser: | OpenCover | | Assemblies: | 1 | | Classes: | 4 | @@ -17,9 +17,9 @@ | Covered branches: | 4 | | Total branches: | 8 | | **Method coverage:** | 66.6% (16 of 24) | -| **Full method coverage:** | 37.5% (9 of 24) | +| **Full method coverage:** | 50% (12 of 24) | | Covered methods: | 16 | -| Fully covered methods: | 9 | +| Fully covered methods: | 12 | | Total methods: | 24 | @@ -29,10 +29,10 @@ |**Name**|**Line**|**Branch**|**Method**|**Full method**| |:---|---:|---:|---:|---:| -|**Sample**|**69.4%**|**50%**|**66.6%**|**37.5%**| +|**Sample**|**69.4%**|**50%**|**66.6%**|**50%**| |Sample.PartialClass|54.5%|50%|50%|33.3%| |Test.Program|100%||100%|100%| -|Test.TestClass|72.7%|50%|80%|20%| -|Test.TestClass2|63.1%|50%|60%|30%| +|Test.TestClass|72.7%|50%|80%|60%| +|Test.TestClass2|63.1%|50%|60%|40%| diff --git a/docs/resources/reports/OpenCover/OpenCover.xml b/docs/resources/reports/OpenCover/OpenCover.xml index 9ffad0d0..9cacb28b 100644 --- a/docs/resources/reports/OpenCover/OpenCover.xml +++ b/docs/resources/reports/OpenCover/OpenCover.xml @@ -5,7 +5,7 @@ Sample - 2025-02-09T17:57:04.6334719Z + 2025-10-15T18:25:16.6996898Z Sample diff --git a/docs/resources/reports/SvgChart/CoverageHistory.svg b/docs/resources/reports/SvgChart/CoverageHistory.svg index a75f98e6..55ea3ffe 100644 --- a/docs/resources/reports/SvgChart/CoverageHistory.svg +++ b/docs/resources/reports/SvgChart/CoverageHistory.svg @@ -64,14 +64,194 @@ 100 - +01.02.2022 - 20:50:35 +Line coverage: 53.6% (67/125) +Branch coverage: 50% (30/60) +Method coverage: 58.3% (14/24) +Full method coverage 25% (6/24) +Total lines: 26002.02.2022 - 20:50:35 +Line coverage: 56% (70/125) +Branch coverage: 43.3% (26/60) +Method coverage: 45.8% (11/24) +Full method coverage 25% (6/24) +Total lines: 26003.02.2022 - 20:50:35 +Line coverage: 57.6% (72/125) +Branch coverage: 46.6% (28/60) +Method coverage: 50% (12/24) +Full method coverage 29.1% (7/24) +Total lines: 26004.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 48.3% (29/60) +Method coverage: 54.1% (13/24) +Full method coverage 33.3% (8/24) +Total lines: 26005.02.2022 - 20:50:35 +Line coverage: 56% (70/125) +Branch coverage: 50% (30/60) +Method coverage: 54.1% (13/24) +Full method coverage 33.3% (8/24) +Total lines: 26006.02.2022 - 20:50:35 +Line coverage: 57.6% (72/125) +Branch coverage: 50% (30/60) +Method coverage: 62.5% (15/24) +Full method coverage 37.5% (9/24) +Total lines: 26007.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 50% (30/60) +Method coverage: 66.6% (16/24) +Full method coverage 37.5% (9/24) +Total lines: 26009.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 45% (27/60) +Method coverage: 66.6% (16/24) +Full method coverage 37.5% (9/24) +Total lines: 26015.10.2025 - 20:25:12 +Line coverage: 69.4% (75/108) +Branch coverage: 50% (4/8) +Method coverage: 66.6% (16/24) +Full method coverage 50% (12/24) +Total lines: 260 - +01.02.2022 - 20:50:35 +Line coverage: 53.6% (67/125) +Branch coverage: 50% (30/60) +Method coverage: 58.3% (14/24) +Full method coverage 25% (6/24) +Total lines: 26002.02.2022 - 20:50:35 +Line coverage: 56% (70/125) +Branch coverage: 43.3% (26/60) +Method coverage: 45.8% (11/24) +Full method coverage 25% (6/24) +Total lines: 26003.02.2022 - 20:50:35 +Line coverage: 57.6% (72/125) +Branch coverage: 46.6% (28/60) +Method coverage: 50% (12/24) +Full method coverage 29.1% (7/24) +Total lines: 26004.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 48.3% (29/60) +Method coverage: 54.1% (13/24) +Full method coverage 33.3% (8/24) +Total lines: 26005.02.2022 - 20:50:35 +Line coverage: 56% (70/125) +Branch coverage: 50% (30/60) +Method coverage: 54.1% (13/24) +Full method coverage 33.3% (8/24) +Total lines: 26006.02.2022 - 20:50:35 +Line coverage: 57.6% (72/125) +Branch coverage: 50% (30/60) +Method coverage: 62.5% (15/24) +Full method coverage 37.5% (9/24) +Total lines: 26007.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 50% (30/60) +Method coverage: 66.6% (16/24) +Full method coverage 37.5% (9/24) +Total lines: 26009.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 45% (27/60) +Method coverage: 66.6% (16/24) +Full method coverage 37.5% (9/24) +Total lines: 26015.10.2025 - 20:25:12 +Line coverage: 69.4% (75/108) +Branch coverage: 50% (4/8) +Method coverage: 66.6% (16/24) +Full method coverage 50% (12/24) +Total lines: 260 - +01.02.2022 - 20:50:35 +Line coverage: 53.6% (67/125) +Branch coverage: 50% (30/60) +Method coverage: 58.3% (14/24) +Full method coverage 25% (6/24) +Total lines: 26002.02.2022 - 20:50:35 +Line coverage: 56% (70/125) +Branch coverage: 43.3% (26/60) +Method coverage: 45.8% (11/24) +Full method coverage 25% (6/24) +Total lines: 26003.02.2022 - 20:50:35 +Line coverage: 57.6% (72/125) +Branch coverage: 46.6% (28/60) +Method coverage: 50% (12/24) +Full method coverage 29.1% (7/24) +Total lines: 26004.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 48.3% (29/60) +Method coverage: 54.1% (13/24) +Full method coverage 33.3% (8/24) +Total lines: 26005.02.2022 - 20:50:35 +Line coverage: 56% (70/125) +Branch coverage: 50% (30/60) +Method coverage: 54.1% (13/24) +Full method coverage 33.3% (8/24) +Total lines: 26006.02.2022 - 20:50:35 +Line coverage: 57.6% (72/125) +Branch coverage: 50% (30/60) +Method coverage: 62.5% (15/24) +Full method coverage 37.5% (9/24) +Total lines: 26007.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 50% (30/60) +Method coverage: 66.6% (16/24) +Full method coverage 37.5% (9/24) +Total lines: 26009.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 45% (27/60) +Method coverage: 66.6% (16/24) +Full method coverage 37.5% (9/24) +Total lines: 26015.10.2025 - 20:25:12 +Line coverage: 69.4% (75/108) +Branch coverage: 50% (4/8) +Method coverage: 66.6% (16/24) +Full method coverage 50% (12/24) +Total lines: 260 - - + +01.02.2022 - 20:50:35 +Line coverage: 53.6% (67/125) +Branch coverage: 50% (30/60) +Method coverage: 58.3% (14/24) +Full method coverage 25% (6/24) +Total lines: 26002.02.2022 - 20:50:35 +Line coverage: 56% (70/125) +Branch coverage: 43.3% (26/60) +Method coverage: 45.8% (11/24) +Full method coverage 25% (6/24) +Total lines: 26003.02.2022 - 20:50:35 +Line coverage: 57.6% (72/125) +Branch coverage: 46.6% (28/60) +Method coverage: 50% (12/24) +Full method coverage 29.1% (7/24) +Total lines: 26004.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 48.3% (29/60) +Method coverage: 54.1% (13/24) +Full method coverage 33.3% (8/24) +Total lines: 26005.02.2022 - 20:50:35 +Line coverage: 56% (70/125) +Branch coverage: 50% (30/60) +Method coverage: 54.1% (13/24) +Full method coverage 33.3% (8/24) +Total lines: 26006.02.2022 - 20:50:35 +Line coverage: 57.6% (72/125) +Branch coverage: 50% (30/60) +Method coverage: 62.5% (15/24) +Full method coverage 37.5% (9/24) +Total lines: 26007.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 50% (30/60) +Method coverage: 66.6% (16/24) +Full method coverage 37.5% (9/24) +Total lines: 26009.02.2022 - 20:50:35 +Line coverage: 58.4% (73/125) +Branch coverage: 45% (27/60) +Method coverage: 66.6% (16/24) +Full method coverage 37.5% (9/24) +Total lines: 26015.10.2025 - 20:25:12 +Line coverage: 69.4% (75/108) +Branch coverage: 50% (4/8) +Method coverage: 66.6% (16/24) +Full method coverage 50% (12/24) +Total lines: 260 diff --git a/docs/resources/reports/TextDeltaSummary/DeltaSummary.txt b/docs/resources/reports/TextDeltaSummary/DeltaSummary.txt index 17c9289b..1578e0fd 100644 --- a/docs/resources/reports/TextDeltaSummary/DeltaSummary.txt +++ b/docs/resources/reports/TextDeltaSummary/DeltaSummary.txt @@ -1,7 +1,7 @@ Delta Summary - Generated on: 09.02.2025 - 18:57 + Generated on: 15.10.2025 - 20:25 Description Previous Current Delta - Coverage date: 09.02.2022 - 20:50 09.02.2025 - 18:57 + Coverage date: 09.02.2022 - 20:50 15.10.2025 - 20:25 Line coverage: 58.4% 69.4% 11.0% Covered lines: 73 75 2 Coverable lines: 125 108 -17 @@ -10,7 +10,7 @@ Delta Summary Covered branches: 27 4 -23 Total branches: 60 8 -52 Method coverage: 66.6% 66.6% 0.0% - Full method coverage: 37.5% 37.5% 0.0% + Full method coverage: 37.5% 50% 12.5% Covered methods: 16 16 0 - Fully covered methods: 9 9 0 + Fully covered methods: 9 12 3 Total methods: 24 24 0 diff --git a/docs/resources/reports/TextSummary/Summary.txt b/docs/resources/reports/TextSummary/Summary.txt index 6c89e175..da8571bb 100644 --- a/docs/resources/reports/TextSummary/Summary.txt +++ b/docs/resources/reports/TextSummary/Summary.txt @@ -1,5 +1,5 @@ Summary - Generated on: 09.02.2025 - 18:56:59 + Generated on: 15.10.2025 - 20:25:10 Parser: OpenCover Assemblies: 1 Classes: 4 @@ -13,9 +13,9 @@ Summary Covered branches: 4 Total branches: 8 Method coverage: 66.6% (16 of 24) - Full method coverage: 37.5% (9 of 24) + Full method coverage: 50% (12 of 24) Covered methods: 16 - Fully covered methods: 9 + Fully covered methods: 12 Total methods: 24 Sample 69.4% diff --git a/docs/resources/reports/Xml/Sample_TestClass.xml b/docs/resources/reports/Xml/Sample_TestClass.xml index 4440d78b..0e66fff5 100644 --- a/docs/resources/reports/Xml/Sample_TestClass.xml +++ b/docs/resources/reports/Xml/Sample_TestClass.xml @@ -15,10 +15,10 @@ 4 50 4 - 1 + 3 5 80 - 20 + 60 diff --git a/docs/resources/reports/Xml/Sample_TestClass2.xml b/docs/resources/reports/Xml/Sample_TestClass2.xml index 2c40b619..a40d20e0 100644 --- a/docs/resources/reports/Xml/Sample_TestClass2.xml +++ b/docs/resources/reports/Xml/Sample_TestClass2.xml @@ -15,10 +15,10 @@ 2 50 6 - 3 + 4 10 60 - 30 + 40 diff --git a/docs/resources/reports/Xml/Summary.xml b/docs/resources/reports/Xml/Summary.xml index 6c58b763..fd46957e 100644 --- a/docs/resources/reports/Xml/Summary.xml +++ b/docs/resources/reports/Xml/Summary.xml @@ -1,7 +1,7 @@ - 09.02.2025 - 18:56:56 + 15.10.2025 - 20:25:08 OpenCover 1 4 @@ -15,17 +15,17 @@ 8 50 16 - 9 + 12 24 66.6 - 37.5 + 50 - + - - + + \ No newline at end of file diff --git a/docs/resources/reports/XmlSummary/Summary.xml b/docs/resources/reports/XmlSummary/Summary.xml index 7e8e097f..fd46957e 100644 --- a/docs/resources/reports/XmlSummary/Summary.xml +++ b/docs/resources/reports/XmlSummary/Summary.xml @@ -1,7 +1,7 @@ - 09.02.2025 - 18:56:57 + 15.10.2025 - 20:25:08 OpenCover 1 4 @@ -15,17 +15,17 @@ 8 50 16 - 9 + 12 24 66.6 - 37.5 + 50 - + - - + + \ No newline at end of file diff --git a/docs/resources/reports/index.html b/docs/resources/reports/index.html index 09eac940..55f417b0 100644 --- a/docs/resources/reports/index.html +++ b/docs/resources/reports/index.html @@ -166,6 +166,10 @@

Latex

Markdown

+ + + + diff --git a/docs/scripts-EEEIPNC3.js b/docs/scripts-EEEIPNC3.js deleted file mode 100644 index e9eeae48..00000000 --- a/docs/scripts-EEEIPNC3.js +++ /dev/null @@ -1,5 +0,0 @@ -/*! - * Bootstrap v5.3.3 (https://getbootstrap.com/) - * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */(function(U,fe){typeof exports=="object"&&typeof module<"u"?module.exports=fe():typeof define=="function"&&define.amd?define(fe):(U=typeof globalThis<"u"?globalThis:U||self).bootstrap=fe()})(this,function(){"use strict";const U=new Map,fe={set(i,e,t){U.has(i)||U.set(i,new Map);const n=U.get(i);n.has(e)||n.size===0?n.set(e,t):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(i,e)=>U.has(i)&&U.get(i).get(e)||null,remove(i,e){if(!U.has(i))return;const t=U.get(i);t.delete(e),t.size===0&&U.delete(i)}},Et="transitionend",ci=i=>(i&&window.CSS&&window.CSS.escape&&(i=i.replace(/#([^\s"#']+)/g,(e,t)=>`#${CSS.escape(t)}`)),i),hi=i=>{i.dispatchEvent(new Event(Et))},ie=i=>!(!i||typeof i!="object")&&(i.jquery!==void 0&&(i=i[0]),i.nodeType!==void 0),ae=i=>ie(i)?i.jquery?i[0]:i:typeof i=="string"&&i.length>0?document.querySelector(ci(i)):null,Ce=i=>{if(!ie(i)||i.getClientRects().length===0)return!1;const e=getComputedStyle(i).getPropertyValue("visibility")==="visible",t=i.closest("details:not([open])");if(!t)return e;if(t!==i){const n=i.closest("summary");if(n&&n.parentNode!==t||n===null)return!1}return e},le=i=>!i||i.nodeType!==Node.ELEMENT_NODE||!!i.classList.contains("disabled")||(i.disabled!==void 0?i.disabled:i.hasAttribute("disabled")&&i.getAttribute("disabled")!=="false"),di=i=>{if(!document.documentElement.attachShadow)return null;if(typeof i.getRootNode=="function"){const e=i.getRootNode();return e instanceof ShadowRoot?e:null}return i instanceof ShadowRoot?i:i.parentNode?di(i.parentNode):null},et=()=>{},ze=i=>{i.offsetHeight},ui=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,At=[],B=()=>document.documentElement.dir==="rtl",z=i=>{var e;e=()=>{const t=ui();if(t){const n=i.NAME,s=t.fn[n];t.fn[n]=i.jQueryInterface,t.fn[n].Constructor=i,t.fn[n].noConflict=()=>(t.fn[n]=s,i.jQueryInterface)}},document.readyState==="loading"?(At.length||document.addEventListener("DOMContentLoaded",()=>{for(const t of At)t()}),At.push(e)):e()},M=(i,e=[],t=i)=>typeof i=="function"?i(...e):t,fi=(i,e,t=!0)=>{if(!t)return void M(i);const n=(r=>{if(!r)return 0;let{transitionDuration:a,transitionDelay:c}=window.getComputedStyle(r);const d=Number.parseFloat(a),u=Number.parseFloat(c);return d||u?(a=a.split(",")[0],c=c.split(",")[0],1e3*(Number.parseFloat(a)+Number.parseFloat(c))):0})(e)+5;let s=!1;const o=({target:r})=>{r===e&&(s=!0,e.removeEventListener(Et,o),M(i))};e.addEventListener(Et,o),setTimeout(()=>{s||hi(e)},n)},Tt=(i,e,t,n)=>{const s=i.length;let o=i.indexOf(e);return o===-1?!t&&n?i[s-1]:i[0]:(o+=t?1:-1,n&&(o=(o+s)%s),i[Math.max(0,Math.min(o,s-1))])},is=/[^.]*(?=\..*)\.|.*/,ns=/\..*/,ss=/::\d+$/,Ct={};let pi=1;const mi={mouseenter:"mouseover",mouseleave:"mouseout"},os=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function gi(i,e){return e&&`${e}::${pi++}`||i.uidEvent||pi++}function _i(i){const e=gi(i);return i.uidEvent=e,Ct[e]=Ct[e]||{},Ct[e]}function bi(i,e,t=null){return Object.values(i).find(n=>n.callable===e&&n.delegationSelector===t)}function vi(i,e,t){const n=typeof e=="string",s=n?t:e||t;let o=wi(i);return os.has(o)||(o=i),[n,s,o]}function yi(i,e,t,n,s){if(typeof e!="string"||!i)return;let[o,r,a]=vi(e,t,n);e in mi&&(r=(g=>function(m){if(!m.relatedTarget||m.relatedTarget!==m.delegateTarget&&!m.delegateTarget.contains(m.relatedTarget))return g.call(this,m)})(r));const c=_i(i),d=c[a]||(c[a]={}),u=bi(d,r,o?t:null);if(u)return void(u.oneOff=u.oneOff&&s);const h=gi(r,e.replace(is,"")),b=o?function(p,g,m){return function _(C){const k=p.querySelectorAll(g);for(let{target:y}=C;y&&y!==this;y=y.parentNode)for(const E of k)if(E===y)return xt(C,{delegateTarget:y}),_.oneOff&&l.off(p,C.type,g,m),m.apply(y,[C])}}(i,t,r):function(p,g){return function m(_){return xt(_,{delegateTarget:p}),m.oneOff&&l.off(p,_.type,g),g.apply(p,[_])}}(i,r);b.delegationSelector=o?t:null,b.callable=r,b.oneOff=s,b.uidEvent=h,d[h]=b,i.addEventListener(a,b,o)}function Ot(i,e,t,n,s){const o=bi(e[t],n,s);o&&(i.removeEventListener(t,o,!!s),delete e[t][o.uidEvent])}function rs(i,e,t,n){const s=e[t]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&Ot(i,e,t,r.callable,r.delegationSelector)}function wi(i){return i=i.replace(ns,""),mi[i]||i}const l={on(i,e,t,n){yi(i,e,t,n,!1)},one(i,e,t,n){yi(i,e,t,n,!0)},off(i,e,t,n){if(typeof e!="string"||!i)return;const[s,o,r]=vi(e,t,n),a=r!==e,c=_i(i),d=c[r]||{},u=e.startsWith(".");if(o===void 0){if(u)for(const h of Object.keys(c))rs(i,c,h,e.slice(1));for(const[h,b]of Object.entries(d)){const p=h.replace(ss,"");a&&!e.includes(p)||Ot(i,c,r,b.callable,b.delegationSelector)}}else{if(!Object.keys(d).length)return;Ot(i,c,r,o,s?t:null)}},trigger(i,e,t){if(typeof e!="string"||!i)return null;const n=ui();let s=null,o=!0,r=!0,a=!1;e!==wi(e)&&n&&(s=n.Event(e,t),n(i).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const c=xt(new Event(e,{bubbles:o,cancelable:!0}),t);return a&&c.preventDefault(),r&&i.dispatchEvent(c),c.defaultPrevented&&s&&s.preventDefault(),c}};function xt(i,e={}){for(const[t,n]of Object.entries(e))try{i[t]=n}catch{Object.defineProperty(i,t,{configurable:!0,get:()=>n})}return i}function Ei(i){if(i==="true")return!0;if(i==="false")return!1;if(i===Number(i).toString())return Number(i);if(i===""||i==="null")return null;if(typeof i!="string")return i;try{return JSON.parse(decodeURIComponent(i))}catch{return i}}function kt(i){return i.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}const ne={setDataAttribute(i,e,t){i.setAttribute(`data-bs-${kt(e)}`,t)},removeDataAttribute(i,e){i.removeAttribute(`data-bs-${kt(e)}`)},getDataAttributes(i){if(!i)return{};const e={},t=Object.keys(i.dataset).filter(n=>n.startsWith("bs")&&!n.startsWith("bsConfig"));for(const n of t){let s=n.replace(/^bs/,"");s=s.charAt(0).toLowerCase()+s.slice(1,s.length),e[s]=Ei(i.dataset[n])}return e},getDataAttribute:(i,e)=>Ei(i.getAttribute(`data-bs-${kt(e)}`))};class Re{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,t){const n=ie(t)?ne.getDataAttribute(t,"config"):{};return{...this.constructor.Default,...typeof n=="object"?n:{},...ie(t)?ne.getDataAttributes(t):{},...typeof e=="object"?e:{}}}_typeCheckConfig(e,t=this.constructor.DefaultType){for(const[s,o]of Object.entries(t)){const r=e[s],a=ie(r)?"element":(n=r)==null?`${n}`:Object.prototype.toString.call(n).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(o).test(a))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${s}" provided type "${a}" but expected type "${o}".`)}var n}}class Y extends Re{constructor(e,t){super(),(e=ae(e))&&(this._element=e,this._config=this._getConfig(t),fe.set(this._element,this.constructor.DATA_KEY,this))}dispose(){fe.remove(this._element,this.constructor.DATA_KEY),l.off(this._element,this.constructor.EVENT_KEY);for(const e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,t,n=!0){fi(e,t,n)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return fe.get(ae(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,typeof t=="object"?t:null)}static get VERSION(){return"5.3.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}}const Lt=i=>{let e=i.getAttribute("data-bs-target");if(!e||e==="#"){let t=i.getAttribute("href");if(!t||!t.includes("#")&&!t.startsWith("."))return null;t.includes("#")&&!t.startsWith("#")&&(t=`#${t.split("#")[1]}`),e=t&&t!=="#"?t.trim():null}return e?e.split(",").map(t=>ci(t)).join(","):null},f={find:(i,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,i)),findOne:(i,e=document.documentElement)=>Element.prototype.querySelector.call(e,i),children:(i,e)=>[].concat(...i.children).filter(t=>t.matches(e)),parents(i,e){const t=[];let n=i.parentNode.closest(e);for(;n;)t.push(n),n=n.parentNode.closest(e);return t},prev(i,e){let t=i.previousElementSibling;for(;t;){if(t.matches(e))return[t];t=t.previousElementSibling}return[]},next(i,e){let t=i.nextElementSibling;for(;t;){if(t.matches(e))return[t];t=t.nextElementSibling}return[]},focusableChildren(i){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(t=>`${t}:not([tabindex^="-"])`).join(",");return this.find(e,i).filter(t=>!le(t)&&Ce(t))},getSelectorFromElement(i){const e=Lt(i);return e&&f.findOne(e)?e:null},getElementFromSelector(i){const e=Lt(i);return e?f.findOne(e):null},getMultipleElementsFromSelector(i){const e=Lt(i);return e?f.find(e):[]}},tt=(i,e="hide")=>{const t=`click.dismiss${i.EVENT_KEY}`,n=i.NAME;l.on(document,t,`[data-bs-dismiss="${n}"]`,function(s){if(["A","AREA"].includes(this.tagName)&&s.preventDefault(),le(this))return;const o=f.getElementFromSelector(this)||this.closest(`.${n}`);i.getOrCreateInstance(o)[e]()})},Ai=".bs.alert",as=`close${Ai}`,ls=`closed${Ai}`;class qe extends Y{static get NAME(){return"alert"}close(){if(l.trigger(this._element,as).defaultPrevented)return;this._element.classList.remove("show");const e=this._element.classList.contains("fade");this._queueCallback(()=>this._destroyElement(),this._element,e)}_destroyElement(){this._element.remove(),l.trigger(this._element,ls),this.dispose()}static jQueryInterface(e){return this.each(function(){const t=qe.getOrCreateInstance(this);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e](this)}})}}tt(qe,"close"),z(qe);const Ti='[data-bs-toggle="button"]';class Ve extends Y{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(e){return this.each(function(){const t=Ve.getOrCreateInstance(this);e==="toggle"&&t[e]()})}}l.on(document,"click.bs.button.data-api",Ti,i=>{i.preventDefault();const e=i.target.closest(Ti);Ve.getOrCreateInstance(e).toggle()}),z(Ve);const Oe=".bs.swipe",cs=`touchstart${Oe}`,hs=`touchmove${Oe}`,ds=`touchend${Oe}`,us=`pointerdown${Oe}`,fs=`pointerup${Oe}`,ps={endCallback:null,leftCallback:null,rightCallback:null},ms={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class it extends Re{constructor(e,t){super(),this._element=e,e&&it.isSupported()&&(this._config=this._getConfig(t),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return ps}static get DefaultType(){return ms}static get NAME(){return"swipe"}dispose(){l.off(this._element,Oe)}_start(e){this._supportPointerEvents?this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX):this._deltaX=e.touches[0].clientX}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX),this._handleSwipe(),M(this._config.endCallback)}_move(e){this._deltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this._deltaX}_handleSwipe(){const e=Math.abs(this._deltaX);if(e<=40)return;const t=e/this._deltaX;this._deltaX=0,t&&M(t>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(l.on(this._element,us,e=>this._start(e)),l.on(this._element,fs,e=>this._end(e)),this._element.classList.add("pointer-event")):(l.on(this._element,cs,e=>this._start(e)),l.on(this._element,hs,e=>this._move(e)),l.on(this._element,ds,e=>this._end(e)))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&(e.pointerType==="pen"||e.pointerType==="touch")}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ce=".bs.carousel",Ci=".data-api",Ke="next",xe="prev",ke="left",nt="right",gs=`slide${ce}`,St=`slid${ce}`,_s=`keydown${ce}`,bs=`mouseenter${ce}`,vs=`mouseleave${ce}`,ys=`dragstart${ce}`,ws=`load${ce}${Ci}`,Es=`click${ce}${Ci}`,Oi="carousel",st="active",xi=".active",ki=".carousel-item",As=xi+ki,Ts={ArrowLeft:nt,ArrowRight:ke},Cs={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Os={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Le extends Y{constructor(e,t){super(e,t),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=f.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===Oi&&this.cycle()}static get Default(){return Cs}static get DefaultType(){return Os}static get NAME(){return"carousel"}next(){this._slide(Ke)}nextWhenVisible(){!document.hidden&&Ce(this._element)&&this.next()}prev(){this._slide(xe)}pause(){this._isSliding&&hi(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?l.one(this._element,St,()=>this.cycle()):this.cycle())}to(e){const t=this._getItems();if(e>t.length-1||e<0)return;if(this._isSliding)return void l.one(this._element,St,()=>this.to(e));const n=this._getItemIndex(this._getActive());if(n===e)return;const s=e>n?Ke:xe;this._slide(s,t[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&&l.on(this._element,_s,e=>this._keydown(e)),this._config.pause==="hover"&&(l.on(this._element,bs,()=>this.pause()),l.on(this._element,vs,()=>this._maybeEnableCycle())),this._config.touch&&it.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of f.find(".carousel-item img",this._element))l.on(t,ys,n=>n.preventDefault());const e={leftCallback:()=>this._slide(this._directionToOrder(ke)),rightCallback:()=>this._slide(this._directionToOrder(nt)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),500+this._config.interval))}};this._swipeHelper=new it(this._element,e)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const t=Ts[e.key];t&&(e.preventDefault(),this._slide(this._directionToOrder(t)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;const t=f.findOne(xi,this._indicatorsElement);t.classList.remove(st),t.removeAttribute("aria-current");const n=f.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);n&&(n.classList.add(st),n.setAttribute("aria-current","true"))}_updateInterval(){const e=this._activeElement||this._getActive();if(!e)return;const t=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=t||this._config.defaultInterval}_slide(e,t=null){if(this._isSliding)return;const n=this._getActive(),s=e===Ke,o=t||Tt(this._getItems(),n,s,this._config.wrap);if(o===n)return;const r=this._getItemIndex(o),a=h=>l.trigger(this._element,h,{relatedTarget:o,direction:this._orderToDirection(e),from:this._getItemIndex(n),to:r});if(a(gs).defaultPrevented||!n||!o)return;const c=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(r),this._activeElement=o;const d=s?"carousel-item-start":"carousel-item-end",u=s?"carousel-item-next":"carousel-item-prev";o.classList.add(u),ze(o),n.classList.add(d),o.classList.add(d),this._queueCallback(()=>{o.classList.remove(d,u),o.classList.add(st),n.classList.remove(st,u,d),this._isSliding=!1,a(St)},n,this._isAnimated()),c&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return f.findOne(As,this._element)}_getItems(){return f.find(ki,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return B()?e===ke?xe:Ke:e===ke?Ke:xe}_orderToDirection(e){return B()?e===xe?ke:nt:e===xe?nt:ke}static jQueryInterface(e){return this.each(function(){const t=Le.getOrCreateInstance(this,e);if(typeof e!="number"){if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e]()}}else t.to(e)})}}l.on(document,Es,"[data-bs-slide], [data-bs-slide-to]",function(i){const e=f.getElementFromSelector(this);if(!e||!e.classList.contains(Oi))return;i.preventDefault();const t=Le.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(t.to(n),void t._maybeEnableCycle()):ne.getDataAttribute(this,"slide")==="next"?(t.next(),void t._maybeEnableCycle()):(t.prev(),void t._maybeEnableCycle())}),l.on(window,ws,()=>{const i=f.find('[data-bs-ride="carousel"]');for(const e of i)Le.getOrCreateInstance(e)}),z(Le);const Xe=".bs.collapse",xs=`show${Xe}`,ks=`shown${Xe}`,Ls=`hide${Xe}`,Ss=`hidden${Xe}`,Ds=`click${Xe}.data-api`,Dt="show",Se="collapse",ot="collapsing",$s=`:scope .${Se} .${Se}`,$t='[data-bs-toggle="collapse"]',Is={parent:null,toggle:!0},Ns={parent:"(null|element)",toggle:"boolean"};class De extends Y{constructor(e,t){super(e,t),this._isTransitioning=!1,this._triggerArray=[];const n=f.find($t);for(const s of n){const o=f.getSelectorFromElement(s),r=f.find(o).filter(a=>a===this._element);o!==null&&r.length&&this._triggerArray.push(s)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Is}static get DefaultType(){return Ns}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter(s=>s!==this._element).map(s=>De.getOrCreateInstance(s,{toggle:!1}))),e.length&&e[0]._isTransitioning||l.trigger(this._element,xs).defaultPrevented)return;for(const s of e)s.hide();const t=this._getDimension();this._element.classList.remove(Se),this._element.classList.add(ot),this._element.style[t]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n=`scroll${t[0].toUpperCase()+t.slice(1)}`;this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(ot),this._element.classList.add(Se,Dt),this._element.style[t]="",l.trigger(this._element,ks)},this._element,!0),this._element.style[t]=`${this._element[n]}px`}hide(){if(this._isTransitioning||!this._isShown()||l.trigger(this._element,Ls).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,ze(this._element),this._element.classList.add(ot),this._element.classList.remove(Se,Dt);for(const t of this._triggerArray){const n=f.getElementFromSelector(t);n&&!this._isShown(n)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[e]="",this._queueCallback(()=>{this._isTransitioning=!1,this._element.classList.remove(ot),this._element.classList.add(Se),l.trigger(this._element,Ss)},this._element,!0)}_isShown(e=this._element){return e.classList.contains(Dt)}_configAfterMerge(e){return e.toggle=!!e.toggle,e.parent=ae(e.parent),e}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren($t);for(const t of e){const n=f.getElementFromSelector(t);n&&this._addAriaAndCollapsedClass([t],this._isShown(n))}}_getFirstLevelChildren(e){const t=f.find($s,this._config.parent);return f.find(e,this._config.parent).filter(n=>!t.includes(n))}_addAriaAndCollapsedClass(e,t){if(e.length)for(const n of e)n.classList.toggle("collapsed",!t),n.setAttribute("aria-expanded",t)}static jQueryInterface(e){const t={};return typeof e=="string"&&/show|hide/.test(e)&&(t.toggle=!1),this.each(function(){const n=De.getOrCreateInstance(this,t);if(typeof e=="string"){if(n[e]===void 0)throw new TypeError(`No method named "${e}"`);n[e]()}})}}l.on(document,Ds,$t,function(i){(i.target.tagName==="A"||i.delegateTarget&&i.delegateTarget.tagName==="A")&&i.preventDefault();for(const e of f.getMultipleElementsFromSelector(this))De.getOrCreateInstance(e,{toggle:!1}).toggle()}),z(De);var $="top",j="bottom",F="right",I="left",rt="auto",$e=[$,j,F,I],pe="start",Ie="end",Li="clippingParents",It="viewport",Ne="popper",Si="reference",Nt=$e.reduce(function(i,e){return i.concat([e+"-"+pe,e+"-"+Ie])},[]),Pt=[].concat($e,[rt]).reduce(function(i,e){return i.concat([e,e+"-"+pe,e+"-"+Ie])},[]),Di="beforeRead",$i="read",Ii="afterRead",Ni="beforeMain",Pi="main",Mi="afterMain",ji="beforeWrite",Fi="write",Hi="afterWrite",Wi=[Di,$i,Ii,Ni,Pi,Mi,ji,Fi,Hi];function Z(i){return i?(i.nodeName||"").toLowerCase():null}function H(i){if(i==null)return window;if(i.toString()!=="[object Window]"){var e=i.ownerDocument;return e&&e.defaultView||window}return i}function me(i){return i instanceof H(i).Element||i instanceof Element}function R(i){return i instanceof H(i).HTMLElement||i instanceof HTMLElement}function Mt(i){return typeof ShadowRoot<"u"&&(i instanceof H(i).ShadowRoot||i instanceof ShadowRoot)}const jt={name:"applyStyles",enabled:!0,phase:"write",fn:function(i){var e=i.state;Object.keys(e.elements).forEach(function(t){var n=e.styles[t]||{},s=e.attributes[t]||{},o=e.elements[t];R(o)&&Z(o)&&(Object.assign(o.style,n),Object.keys(s).forEach(function(r){var a=s[r];a===!1?o.removeAttribute(r):o.setAttribute(r,a===!0?"":a)}))})},effect:function(i){var e=i.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach(function(n){var s=e.elements[n],o=e.attributes[n]||{},r=Object.keys(e.styles.hasOwnProperty(n)?e.styles[n]:t[n]).reduce(function(a,c){return a[c]="",a},{});R(s)&&Z(s)&&(Object.assign(s.style,r),Object.keys(o).forEach(function(a){s.removeAttribute(a)}))})}},requires:["computeStyles"]};function J(i){return i.split("-")[0]}var ge=Math.max,at=Math.min,Pe=Math.round;function Ft(){var i=navigator.userAgentData;return i!=null&&i.brands&&Array.isArray(i.brands)?i.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function Bi(){return!/^((?!chrome|android).)*safari/i.test(Ft())}function Me(i,e,t){e===void 0&&(e=!1),t===void 0&&(t=!1);var n=i.getBoundingClientRect(),s=1,o=1;e&&R(i)&&(s=i.offsetWidth>0&&Pe(n.width)/i.offsetWidth||1,o=i.offsetHeight>0&&Pe(n.height)/i.offsetHeight||1);var r=(me(i)?H(i):window).visualViewport,a=!Bi()&&t,c=(n.left+(a&&r?r.offsetLeft:0))/s,d=(n.top+(a&&r?r.offsetTop:0))/o,u=n.width/s,h=n.height/o;return{width:u,height:h,top:d,right:c+u,bottom:d+h,left:c,x:c,y:d}}function Ht(i){var e=Me(i),t=i.offsetWidth,n=i.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:i.offsetLeft,y:i.offsetTop,width:t,height:n}}function zi(i,e){var t=e.getRootNode&&e.getRootNode();if(i.contains(e))return!0;if(t&&Mt(t)){var n=e;do{if(n&&i.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function se(i){return H(i).getComputedStyle(i)}function Ps(i){return["table","td","th"].indexOf(Z(i))>=0}function he(i){return((me(i)?i.ownerDocument:i.document)||window.document).documentElement}function lt(i){return Z(i)==="html"?i:i.assignedSlot||i.parentNode||(Mt(i)?i.host:null)||he(i)}function Ri(i){return R(i)&&se(i).position!=="fixed"?i.offsetParent:null}function Ue(i){for(var e=H(i),t=Ri(i);t&&Ps(t)&&se(t).position==="static";)t=Ri(t);return t&&(Z(t)==="html"||Z(t)==="body"&&se(t).position==="static")?e:t||function(n){var s=/firefox/i.test(Ft());if(/Trident/i.test(Ft())&&R(n)&&se(n).position==="fixed")return null;var o=lt(n);for(Mt(o)&&(o=o.host);R(o)&&["html","body"].indexOf(Z(o))<0;){var r=se(o);if(r.transform!=="none"||r.perspective!=="none"||r.contain==="paint"||["transform","perspective"].indexOf(r.willChange)!==-1||s&&r.willChange==="filter"||s&&r.filter&&r.filter!=="none")return o;o=o.parentNode}return null}(i)||e}function Wt(i){return["top","bottom"].indexOf(i)>=0?"x":"y"}function Ye(i,e,t){return ge(i,at(e,t))}function qi(i){return Object.assign({},{top:0,right:0,bottom:0,left:0},i)}function Vi(i,e){return e.reduce(function(t,n){return t[n]=i,t},{})}const Ki={name:"arrow",enabled:!0,phase:"main",fn:function(i){var e,t=i.state,n=i.name,s=i.options,o=t.elements.arrow,r=t.modifiersData.popperOffsets,a=J(t.placement),c=Wt(a),d=[I,F].indexOf(a)>=0?"height":"width";if(o&&r){var u=function(O,T){return qi(typeof(O=typeof O=="function"?O(Object.assign({},T.rects,{placement:T.placement})):O)!="number"?O:Vi(O,$e))}(s.padding,t),h=Ht(o),b=c==="y"?$:I,p=c==="y"?j:F,g=t.rects.reference[d]+t.rects.reference[c]-r[c]-t.rects.popper[d],m=r[c]-t.rects.reference[c],_=Ue(o),C=_?c==="y"?_.clientHeight||0:_.clientWidth||0:0,k=g/2-m/2,y=u[b],E=C-h[d]-u[p],v=C/2-h[d]/2+k,w=Ye(y,v,E),A=c;t.modifiersData[n]=((e={})[A]=w,e.centerOffset=w-v,e)}},effect:function(i){var e=i.state,t=i.options.element,n=t===void 0?"[data-popper-arrow]":t;n!=null&&(typeof n!="string"||(n=e.elements.popper.querySelector(n)))&&zi(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function je(i){return i.split("-")[1]}var Ms={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Xi(i){var e,t=i.popper,n=i.popperRect,s=i.placement,o=i.variation,r=i.offsets,a=i.position,c=i.gpuAcceleration,d=i.adaptive,u=i.roundOffsets,h=i.isFixed,b=r.x,p=b===void 0?0:b,g=r.y,m=g===void 0?0:g,_=typeof u=="function"?u({x:p,y:m}):{x:p,y:m};p=_.x,m=_.y;var C=r.hasOwnProperty("x"),k=r.hasOwnProperty("y"),y=I,E=$,v=window;if(d){var w=Ue(t),A="clientHeight",O="clientWidth";w===H(t)&&se(w=he(t)).position!=="static"&&a==="absolute"&&(A="scrollHeight",O="scrollWidth"),(s===$||(s===I||s===F)&&o===Ie)&&(E=j,m-=(h&&w===v&&v.visualViewport?v.visualViewport.height:w[A])-n.height,m*=c?1:-1),s!==I&&(s!==$&&s!==j||o!==Ie)||(y=F,p-=(h&&w===v&&v.visualViewport?v.visualViewport.width:w[O])-n.width,p*=c?1:-1)}var T,S=Object.assign({position:a},d&&Ms),W=u===!0?function(G,N){var V=G.x,K=G.y,L=N.devicePixelRatio||1;return{x:Pe(V*L)/L||0,y:Pe(K*L)/L||0}}({x:p,y:m},H(t)):{x:p,y:m};return p=W.x,m=W.y,c?Object.assign({},S,((T={})[E]=k?"0":"",T[y]=C?"0":"",T.transform=(v.devicePixelRatio||1)<=1?"translate("+p+"px, "+m+"px)":"translate3d("+p+"px, "+m+"px, 0)",T)):Object.assign({},S,((e={})[E]=k?m+"px":"",e[y]=C?p+"px":"",e.transform="",e))}const Bt={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(i){var e=i.state,t=i.options,n=t.gpuAcceleration,s=n===void 0||n,o=t.adaptive,r=o===void 0||o,a=t.roundOffsets,c=a===void 0||a,d={placement:J(e.placement),variation:je(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,Xi(Object.assign({},d,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:c})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,Xi(Object.assign({},d,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ct={passive:!0};const zt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(i){var e=i.state,t=i.instance,n=i.options,s=n.scroll,o=s===void 0||s,r=n.resize,a=r===void 0||r,c=H(e.elements.popper),d=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&d.forEach(function(u){u.addEventListener("scroll",t.update,ct)}),a&&c.addEventListener("resize",t.update,ct),function(){o&&d.forEach(function(u){u.removeEventListener("scroll",t.update,ct)}),a&&c.removeEventListener("resize",t.update,ct)}},data:{}};var js={left:"right",right:"left",bottom:"top",top:"bottom"};function ht(i){return i.replace(/left|right|bottom|top/g,function(e){return js[e]})}var Fs={start:"end",end:"start"};function Ui(i){return i.replace(/start|end/g,function(e){return Fs[e]})}function Rt(i){var e=H(i);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function qt(i){return Me(he(i)).left+Rt(i).scrollLeft}function Vt(i){var e=se(i),t=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+s+n)}function Yi(i){return["html","body","#document"].indexOf(Z(i))>=0?i.ownerDocument.body:R(i)&&Vt(i)?i:Yi(lt(i))}function Qe(i,e){var t;e===void 0&&(e=[]);var n=Yi(i),s=n===((t=i.ownerDocument)==null?void 0:t.body),o=H(n),r=s?[o].concat(o.visualViewport||[],Vt(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Qe(lt(r)))}function Kt(i){return Object.assign({},i,{left:i.x,top:i.y,right:i.x+i.width,bottom:i.y+i.height})}function Qi(i,e,t){return e===It?Kt(function(n,s){var o=H(n),r=he(n),a=o.visualViewport,c=r.clientWidth,d=r.clientHeight,u=0,h=0;if(a){c=a.width,d=a.height;var b=Bi();(b||!b&&s==="fixed")&&(u=a.offsetLeft,h=a.offsetTop)}return{width:c,height:d,x:u+qt(n),y:h}}(i,t)):me(e)?function(n,s){var o=Me(n,!1,s==="fixed");return o.top=o.top+n.clientTop,o.left=o.left+n.clientLeft,o.bottom=o.top+n.clientHeight,o.right=o.left+n.clientWidth,o.width=n.clientWidth,o.height=n.clientHeight,o.x=o.left,o.y=o.top,o}(e,t):Kt(function(n){var s,o=he(n),r=Rt(n),a=(s=n.ownerDocument)==null?void 0:s.body,c=ge(o.scrollWidth,o.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),d=ge(o.scrollHeight,o.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),u=-r.scrollLeft+qt(n),h=-r.scrollTop;return se(a||o).direction==="rtl"&&(u+=ge(o.clientWidth,a?a.clientWidth:0)-c),{width:c,height:d,x:u,y:h}}(he(i)))}function Gi(i){var e,t=i.reference,n=i.element,s=i.placement,o=s?J(s):null,r=s?je(s):null,a=t.x+t.width/2-n.width/2,c=t.y+t.height/2-n.height/2;switch(o){case $:e={x:a,y:t.y-n.height};break;case j:e={x:a,y:t.y+t.height};break;case F:e={x:t.x+t.width,y:c};break;case I:e={x:t.x-n.width,y:c};break;default:e={x:t.x,y:t.y}}var d=o?Wt(o):null;if(d!=null){var u=d==="y"?"height":"width";switch(r){case pe:e[d]=e[d]-(t[u]/2-n[u]/2);break;case Ie:e[d]=e[d]+(t[u]/2-n[u]/2)}}return e}function Fe(i,e){e===void 0&&(e={});var t=e,n=t.placement,s=n===void 0?i.placement:n,o=t.strategy,r=o===void 0?i.strategy:o,a=t.boundary,c=a===void 0?Li:a,d=t.rootBoundary,u=d===void 0?It:d,h=t.elementContext,b=h===void 0?Ne:h,p=t.altBoundary,g=p!==void 0&&p,m=t.padding,_=m===void 0?0:m,C=qi(typeof _!="number"?_:Vi(_,$e)),k=b===Ne?Si:Ne,y=i.rects.popper,E=i.elements[g?k:b],v=function(N,V,K,L){var ee=V==="clippingParents"?function(x){var P=Qe(lt(x)),X=["absolute","fixed"].indexOf(se(x).position)>=0&&R(x)?Ue(x):x;return me(X)?P.filter(function(ue){return me(ue)&&zi(ue,X)&&Z(ue)!=="body"}):[]}(N):[].concat(V),te=[].concat(ee,[K]),Be=te[0],D=te.reduce(function(x,P){var X=Qi(N,P,L);return x.top=ge(X.top,x.top),x.right=at(X.right,x.right),x.bottom=at(X.bottom,x.bottom),x.left=ge(X.left,x.left),x},Qi(N,Be,L));return D.width=D.right-D.left,D.height=D.bottom-D.top,D.x=D.left,D.y=D.top,D}(me(E)?E:E.contextElement||he(i.elements.popper),c,u,r),w=Me(i.elements.reference),A=Gi({reference:w,element:y,strategy:"absolute",placement:s}),O=Kt(Object.assign({},y,A)),T=b===Ne?O:w,S={top:v.top-T.top+C.top,bottom:T.bottom-v.bottom+C.bottom,left:v.left-T.left+C.left,right:T.right-v.right+C.right},W=i.modifiersData.offset;if(b===Ne&&W){var G=W[s];Object.keys(S).forEach(function(N){var V=[F,j].indexOf(N)>=0?1:-1,K=[$,j].indexOf(N)>=0?"y":"x";S[N]+=G[K]*V})}return S}function Hs(i,e){e===void 0&&(e={});var t=e,n=t.placement,s=t.boundary,o=t.rootBoundary,r=t.padding,a=t.flipVariations,c=t.allowedAutoPlacements,d=c===void 0?Pt:c,u=je(n),h=u?a?Nt:Nt.filter(function(g){return je(g)===u}):$e,b=h.filter(function(g){return d.indexOf(g)>=0});b.length===0&&(b=h);var p=b.reduce(function(g,m){return g[m]=Fe(i,{placement:m,boundary:s,rootBoundary:o,padding:r})[J(m)],g},{});return Object.keys(p).sort(function(g,m){return p[g]-p[m]})}const Zi={name:"flip",enabled:!0,phase:"main",fn:function(i){var e=i.state,t=i.options,n=i.name;if(!e.modifiersData[n]._skip){for(var s=t.mainAxis,o=s===void 0||s,r=t.altAxis,a=r===void 0||r,c=t.fallbackPlacements,d=t.padding,u=t.boundary,h=t.rootBoundary,b=t.altBoundary,p=t.flipVariations,g=p===void 0||p,m=t.allowedAutoPlacements,_=e.options.placement,C=J(_),k=c||(C!==_&&g?function(x){if(J(x)===rt)return[];var P=ht(x);return[Ui(x),P,Ui(P)]}(_):[ht(_)]),y=[_].concat(k).reduce(function(x,P){return x.concat(J(P)===rt?Hs(e,{placement:P,boundary:u,rootBoundary:h,padding:d,flipVariations:g,allowedAutoPlacements:m}):P)},[]),E=e.rects.reference,v=e.rects.popper,w=new Map,A=!0,O=y[0],T=0;T=0,V=N?"width":"height",K=Fe(e,{placement:S,boundary:u,rootBoundary:h,altBoundary:b,padding:d}),L=N?G?F:I:G?j:$;E[V]>v[V]&&(L=ht(L));var ee=ht(L),te=[];if(o&&te.push(K[W]<=0),a&&te.push(K[L]<=0,K[ee]<=0),te.every(function(x){return x})){O=S,A=!1;break}w.set(S,te)}if(A)for(var Be=function(x){var P=y.find(function(X){var ue=w.get(X);if(ue)return ue.slice(0,x).every(function(vt){return vt})});if(P)return O=P,"break"},D=g?3:1;D>0&&Be(D)!=="break";D--);e.placement!==O&&(e.modifiersData[n]._skip=!0,e.placement=O,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Ji(i,e,t){return t===void 0&&(t={x:0,y:0}),{top:i.top-e.height-t.y,right:i.right-e.width+t.x,bottom:i.bottom-e.height+t.y,left:i.left-e.width-t.x}}function en(i){return[$,F,j,I].some(function(e){return i[e]>=0})}const tn={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(i){var e=i.state,t=i.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=Fe(e,{elementContext:"reference"}),a=Fe(e,{altBoundary:!0}),c=Ji(r,n),d=Ji(a,s,o),u=en(c),h=en(d);e.modifiersData[t]={referenceClippingOffsets:c,popperEscapeOffsets:d,isReferenceHidden:u,hasPopperEscaped:h},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":h})}},nn={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(i){var e=i.state,t=i.options,n=i.name,s=t.offset,o=s===void 0?[0,0]:s,r=Pt.reduce(function(u,h){return u[h]=function(b,p,g){var m=J(b),_=[I,$].indexOf(m)>=0?-1:1,C=typeof g=="function"?g(Object.assign({},p,{placement:b})):g,k=C[0],y=C[1];return k=k||0,y=(y||0)*_,[I,F].indexOf(m)>=0?{x:y,y:k}:{x:k,y}}(h,e.rects,o),u},{}),a=r[e.placement],c=a.x,d=a.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=c,e.modifiersData.popperOffsets.y+=d),e.modifiersData[n]=r}},Xt={name:"popperOffsets",enabled:!0,phase:"read",fn:function(i){var e=i.state,t=i.name;e.modifiersData[t]=Gi({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},sn={name:"preventOverflow",enabled:!0,phase:"main",fn:function(i){var e=i.state,t=i.options,n=i.name,s=t.mainAxis,o=s===void 0||s,r=t.altAxis,a=r!==void 0&&r,c=t.boundary,d=t.rootBoundary,u=t.altBoundary,h=t.padding,b=t.tether,p=b===void 0||b,g=t.tetherOffset,m=g===void 0?0:g,_=Fe(e,{boundary:c,rootBoundary:d,padding:h,altBoundary:u}),C=J(e.placement),k=je(e.placement),y=!k,E=Wt(C),v=E==="x"?"y":"x",w=e.modifiersData.popperOffsets,A=e.rects.reference,O=e.rects.popper,T=typeof m=="function"?m(Object.assign({},e.rects,{placement:e.placement})):m,S=typeof T=="number"?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),W=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,G={x:0,y:0};if(w){if(o){var N,V=E==="y"?$:I,K=E==="y"?j:F,L=E==="y"?"height":"width",ee=w[E],te=ee+_[V],Be=ee-_[K],D=p?-O[L]/2:0,x=k===pe?A[L]:O[L],P=k===pe?-O[L]:-A[L],X=e.elements.arrow,ue=p&&X?Ht(X):{width:0,height:0},vt=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},qn=vt[V],Vn=vt[K],yt=Ye(0,A[L],ue[L]),mr=y?A[L]/2-D-yt-qn-S.mainAxis:x-yt-qn-S.mainAxis,gr=y?-A[L]/2+D+yt+Vn+S.mainAxis:P+yt+Vn+S.mainAxis,ri=e.elements.arrow&&Ue(e.elements.arrow),_r=ri?E==="y"?ri.clientTop||0:ri.clientLeft||0:0,Kn=(N=W?.[E])!=null?N:0,br=ee+gr-Kn,Xn=Ye(p?at(te,ee+mr-Kn-_r):te,ee,p?ge(Be,br):Be);w[E]=Xn,G[E]=Xn-ee}if(a){var Un,vr=E==="x"?$:I,yr=E==="x"?j:F,Te=w[v],wt=v==="y"?"height":"width",Yn=Te+_[vr],Qn=Te-_[yr],ai=[$,I].indexOf(C)!==-1,Gn=(Un=W?.[v])!=null?Un:0,Zn=ai?Yn:Te-A[wt]-O[wt]-Gn+S.altAxis,Jn=ai?Te+A[wt]+O[wt]-Gn-S.altAxis:Qn,es=p&&ai?function(wr,Er,li){var ts=Ye(wr,Er,li);return ts>li?li:ts}(Zn,Te,Jn):Ye(p?Zn:Yn,Te,p?Jn:Qn);w[v]=es,G[v]=es-Te}e.modifiersData[n]=G}},requiresIfExists:["offset"]};function Ws(i,e,t){t===void 0&&(t=!1);var n,s,o=R(e),r=R(e)&&function(h){var b=h.getBoundingClientRect(),p=Pe(b.width)/h.offsetWidth||1,g=Pe(b.height)/h.offsetHeight||1;return p!==1||g!==1}(e),a=he(e),c=Me(i,r,t),d={scrollLeft:0,scrollTop:0},u={x:0,y:0};return(o||!o&&!t)&&((Z(e)!=="body"||Vt(a))&&(d=(n=e)!==H(n)&&R(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Rt(n)),R(e)?((u=Me(e,!0)).x+=e.clientLeft,u.y+=e.clientTop):a&&(u.x=qt(a))),{x:c.left+d.scrollLeft-u.x,y:c.top+d.scrollTop-u.y,width:c.width,height:c.height}}function Bs(i){var e=new Map,t=new Set,n=[];function s(o){t.add(o.name),[].concat(o.requires||[],o.requiresIfExists||[]).forEach(function(r){if(!t.has(r)){var a=e.get(r);a&&s(a)}}),n.push(o)}return i.forEach(function(o){e.set(o.name,o)}),i.forEach(function(o){t.has(o.name)||s(o)}),n}var on={placement:"bottom",modifiers:[],strategy:"absolute"};function rn(){for(var i=arguments.length,e=new Array(i),t=0;tNumber.parseInt(t,10)):typeof e=="function"?t=>e(t,this._element):e}_getPopperConfig(){const e={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(ne.setDataAttribute(this._menu,"popper","static"),e.modifiers=[{name:"applyStyles",enabled:!1}]),{...e,...M(this._config.popperConfig,[e])}}_selectMenuItem({key:e,target:t}){const n=f.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(s=>Ce(s));n.length&&Tt(n,t,e===cn,!n.includes(t)).focus()}static jQueryInterface(e){return this.each(function(){const t=Q.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0)throw new TypeError(`No method named "${e}"`);t[e]()}})}static clearMenus(e){if(e.button===2||e.type==="keyup"&&e.key!=="Tab")return;const t=f.find(Qs);for(const n of t){const s=Q.getInstance(n);if(!s||s._config.autoClose===!1)continue;const o=e.composedPath(),r=o.includes(s._menu);if(o.includes(s._element)||s._config.autoClose==="inside"&&!r||s._config.autoClose==="outside"&&r||s._menu.contains(e.target)&&(e.type==="keyup"&&e.key==="Tab"||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const a={relatedTarget:s._element};e.type==="click"&&(a.clickEvent=e),s._completeHide(a)}}static dataApiKeydownHandler(e){const t=/input|textarea/i.test(e.target.tagName),n=e.key==="Escape",s=[qs,cn].includes(e.key);if(!s&&!n||t&&!n)return;e.preventDefault();const o=this.matches(be)?this:f.prev(this,be)[0]||f.next(this,be)[0]||f.findOne(be,e.delegateTarget.parentNode),r=Q.getOrCreateInstance(o);if(s)return e.stopPropagation(),r.show(),void r._selectMenuItem(e);r._isShown()&&(e.stopPropagation(),r.hide(),o.focus())}}l.on(document,dn,be,Q.dataApiKeydownHandler),l.on(document,dn,ut,Q.dataApiKeydownHandler),l.on(document,hn,Q.clearMenus),l.on(document,Ys,Q.clearMenus),l.on(document,hn,be,function(i){i.preventDefault(),Q.getOrCreateInstance(this).toggle()}),z(Q);const un="backdrop",fn="show",pn=`mousedown.bs.${un}`,oo={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},ro={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class mn extends Re{constructor(e){super(),this._config=this._getConfig(e),this._isAppended=!1,this._element=null}static get Default(){return oo}static get DefaultType(){return ro}static get NAME(){return un}show(e){if(!this._config.isVisible)return void M(e);this._append();const t=this._getElement();this._config.isAnimated&&ze(t),t.classList.add(fn),this._emulateAnimation(()=>{M(e)})}hide(e){this._config.isVisible?(this._getElement().classList.remove(fn),this._emulateAnimation(()=>{this.dispose(),M(e)})):M(e)}dispose(){this._isAppended&&(l.off(this._element,pn),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const e=document.createElement("div");e.className=this._config.className,this._config.isAnimated&&e.classList.add("fade"),this._element=e}return this._element}_configAfterMerge(e){return e.rootElement=ae(e.rootElement),e}_append(){if(this._isAppended)return;const e=this._getElement();this._config.rootElement.append(e),l.on(e,pn,()=>{M(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(e){fi(e,this._getElement(),this._config.isAnimated)}}const ft=".bs.focustrap",ao=`focusin${ft}`,lo=`keydown.tab${ft}`,gn="backward",co={autofocus:!0,trapElement:null},ho={autofocus:"boolean",trapElement:"element"};class _n extends Re{constructor(e){super(),this._config=this._getConfig(e),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return co}static get DefaultType(){return ho}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),l.off(document,ft),l.on(document,ao,e=>this._handleFocusin(e)),l.on(document,lo,e=>this._handleKeydown(e)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,l.off(document,ft))}_handleFocusin(e){const{trapElement:t}=this._config;if(e.target===document||e.target===t||t.contains(e.target))return;const n=f.focusableChildren(t);n.length===0?t.focus():this._lastTabNavDirection===gn?n[n.length-1].focus():n[0].focus()}_handleKeydown(e){e.key==="Tab"&&(this._lastTabNavDirection=e.shiftKey?gn:"forward")}}const bn=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",vn=".sticky-top",pt="padding-right",yn="margin-right";class Qt{constructor(){this._element=document.body}getWidth(){const e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}hide(){const e=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,pt,t=>t+e),this._setElementAttributes(bn,pt,t=>t+e),this._setElementAttributes(vn,yn,t=>t-e)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,pt),this._resetElementAttributes(bn,pt),this._resetElementAttributes(vn,yn)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(e,t,n){const s=this.getWidth();this._applyManipulationCallback(e,o=>{if(o!==this._element&&window.innerWidth>o.clientWidth+s)return;this._saveInitialAttribute(o,t);const r=window.getComputedStyle(o).getPropertyValue(t);o.style.setProperty(t,`${n(Number.parseFloat(r))}px`)})}_saveInitialAttribute(e,t){const n=e.style.getPropertyValue(t);n&&ne.setDataAttribute(e,t,n)}_resetElementAttributes(e,t){this._applyManipulationCallback(e,n=>{const s=ne.getDataAttribute(n,t);s!==null?(ne.removeDataAttribute(n,t),n.style.setProperty(t,s)):n.style.removeProperty(t)})}_applyManipulationCallback(e,t){if(ie(e))t(e);else for(const n of f.find(e,this._element))t(n)}}const q=".bs.modal",uo=`hide${q}`,fo=`hidePrevented${q}`,wn=`hidden${q}`,En=`show${q}`,po=`shown${q}`,mo=`resize${q}`,go=`click.dismiss${q}`,_o=`mousedown.dismiss${q}`,bo=`keydown.dismiss${q}`,vo=`click${q}.data-api`,An="modal-open",Tn="show",Gt="modal-static",yo={backdrop:!0,focus:!0,keyboard:!0},wo={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class ve extends Y{constructor(e,t){super(e,t),this._dialog=f.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Qt,this._addEventListeners()}static get Default(){return yo}static get DefaultType(){return wo}static get NAME(){return"modal"}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){this._isShown||this._isTransitioning||l.trigger(this._element,En,{relatedTarget:e}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(An),this._adjustDialog(),this._backdrop.show(()=>this._showElement(e)))}hide(){this._isShown&&!this._isTransitioning&&(l.trigger(this._element,uo).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Tn),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated())))}dispose(){l.off(window,q),l.off(this._dialog,q),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new mn({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new _n({trapElement:this._element})}_showElement(e){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const t=f.findOne(".modal-body",this._dialog);t&&(t.scrollTop=0),ze(this._element),this._element.classList.add(Tn),this._queueCallback(()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,l.trigger(this._element,po,{relatedTarget:e})},this._dialog,this._isAnimated())}_addEventListeners(){l.on(this._element,bo,e=>{e.key==="Escape"&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())}),l.on(window,mo,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),l.on(this._element,_o,e=>{l.one(this._element,go,t=>{this._element===e.target&&this._element===t.target&&(this._config.backdrop!=="static"?this._config.backdrop&&this.hide():this._triggerBackdropTransition())})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(An),this._resetAdjustments(),this._scrollBar.reset(),l.trigger(this._element,wn)})}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(l.trigger(this._element,fo).defaultPrevented)return;const e=this._element.scrollHeight>document.documentElement.clientHeight,t=this._element.style.overflowY;t==="hidden"||this._element.classList.contains(Gt)||(e||(this._element.style.overflowY="hidden"),this._element.classList.add(Gt),this._queueCallback(()=>{this._element.classList.remove(Gt),this._queueCallback(()=>{this._element.style.overflowY=t},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const e=this._element.scrollHeight>document.documentElement.clientHeight,t=this._scrollBar.getWidth(),n=t>0;if(n&&!e){const s=B()?"paddingLeft":"paddingRight";this._element.style[s]=`${t}px`}if(!n&&e){const s=B()?"paddingRight":"paddingLeft";this._element.style[s]=`${t}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(e,t){return this.each(function(){const n=ve.getOrCreateInstance(this,e);if(typeof e=="string"){if(n[e]===void 0)throw new TypeError(`No method named "${e}"`);n[e](t)}})}}l.on(document,vo,'[data-bs-toggle="modal"]',function(i){const e=f.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&i.preventDefault(),l.one(e,En,n=>{n.defaultPrevented||l.one(e,wn,()=>{Ce(this)&&this.focus()})});const t=f.findOne(".modal.show");t&&ve.getInstance(t).hide(),ve.getOrCreateInstance(e).toggle(this)}),tt(ve),z(ve);const oe=".bs.offcanvas",Cn=".data-api",Eo=`load${oe}${Cn}`,On="show",xn="showing",kn="hiding",Ln=".offcanvas.show",Ao=`show${oe}`,To=`shown${oe}`,Co=`hide${oe}`,Sn=`hidePrevented${oe}`,Dn=`hidden${oe}`,Oo=`resize${oe}`,xo=`click${oe}${Cn}`,ko=`keydown.dismiss${oe}`,Lo={backdrop:!0,keyboard:!0,scroll:!1},So={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class re extends Y{constructor(e,t){super(e,t),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Lo}static get DefaultType(){return So}static get NAME(){return"offcanvas"}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){this._isShown||l.trigger(this._element,Ao,{relatedTarget:e}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||new Qt().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(xn),this._queueCallback(()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(On),this._element.classList.remove(xn),l.trigger(this._element,To,{relatedTarget:e})},this._element,!0))}hide(){this._isShown&&(l.trigger(this._element,Co).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(kn),this._backdrop.hide(),this._queueCallback(()=>{this._element.classList.remove(On,kn),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new Qt().reset(),l.trigger(this._element,Dn)},this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const e=!!this._config.backdrop;return new mn({className:"offcanvas-backdrop",isVisible:e,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:e?()=>{this._config.backdrop!=="static"?this.hide():l.trigger(this._element,Sn)}:null})}_initializeFocusTrap(){return new _n({trapElement:this._element})}_addEventListeners(){l.on(this._element,ko,e=>{e.key==="Escape"&&(this._config.keyboard?this.hide():l.trigger(this._element,Sn))})}static jQueryInterface(e){return this.each(function(){const t=re.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e](this)}})}}l.on(document,xo,'[data-bs-toggle="offcanvas"]',function(i){const e=f.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),le(this))return;l.one(e,Dn,()=>{Ce(this)&&this.focus()});const t=f.findOne(Ln);t&&t!==e&&re.getInstance(t).hide(),re.getOrCreateInstance(e).toggle(this)}),l.on(window,Eo,()=>{for(const i of f.find(Ln))re.getOrCreateInstance(i).show()}),l.on(window,Oo,()=>{for(const i of f.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(i).position!=="fixed"&&re.getOrCreateInstance(i).hide()}),tt(re),z(re);const $n={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Do=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),$o=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Io=(i,e)=>{const t=i.nodeName.toLowerCase();return e.includes(t)?!Do.has(t)||!!$o.test(i.nodeValue):e.filter(n=>n instanceof RegExp).some(n=>n.test(t))},No={allowList:$n,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Po={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Mo={entry:"(string|element|function|null)",selector:"(string|element)"};class jo extends Re{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return No}static get DefaultType(){return Po}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map(e=>this._resolvePossibleFunction(e)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content={...this._config.content,...e},this}toHtml(){const e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(const[s,o]of Object.entries(this._config.content))this._setContent(e,o,s);const t=e.children[0],n=this._resolvePossibleFunction(this._config.extraClass);return n&&t.classList.add(...n.split(" ")),t}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(const[t,n]of Object.entries(e))super._typeCheckConfig({selector:t,entry:n},Mo)}_setContent(e,t,n){const s=f.findOne(n,e);s&&((t=this._resolvePossibleFunction(t))?ie(t)?this._putElementInTemplate(ae(t),s):this._config.html?s.innerHTML=this._maybeSanitize(t):s.textContent=t:s.remove())}_maybeSanitize(e){return this._config.sanitize?function(t,n,s){if(!t.length)return t;if(s&&typeof s=="function")return s(t);const o=new window.DOMParser().parseFromString(t,"text/html"),r=[].concat(...o.body.querySelectorAll("*"));for(const a of r){const c=a.nodeName.toLowerCase();if(!Object.keys(n).includes(c)){a.remove();continue}const d=[].concat(...a.attributes),u=[].concat(n["*"]||[],n[c]||[]);for(const h of d)Io(h,u)||a.removeAttribute(h.nodeName)}return o.body.innerHTML}(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return M(e,[this])}_putElementInTemplate(e,t){if(this._config.html)return t.innerHTML="",void t.append(e);t.textContent=e.textContent}}const Fo=new Set(["sanitize","allowList","sanitizeFn"]),Zt="fade",mt="show",In=".modal",Nn="hide.bs.modal",Ge="hover",Jt="focus",Ho={AUTO:"auto",TOP:"top",RIGHT:B()?"left":"right",BOTTOM:"bottom",LEFT:B()?"right":"left"},Wo={allowList:$n,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},Bo={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class ye extends Y{constructor(e,t){if(an===void 0)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(e,t),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Wo}static get DefaultType(){return Bo}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),l.off(this._element.closest(In),Nn,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const e=l.trigger(this._element,this.constructor.eventName("show")),t=(di(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!t)return;this._disposePopper();const n=this._getTipElement();this._element.setAttribute("aria-describedby",n.getAttribute("id"));const{container:s}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(s.append(n),l.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(n),n.classList.add(mt),"ontouchstart"in document.documentElement)for(const o of[].concat(...document.body.children))l.on(o,"mouseover",et);this._queueCallback(()=>{l.trigger(this._element,this.constructor.eventName("shown")),this._isHovered===!1&&this._leave(),this._isHovered=!1},this.tip,this._isAnimated())}hide(){if(this._isShown()&&!l.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(mt),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))l.off(e,"mouseover",et);this._activeTrigger.click=!1,this._activeTrigger[Jt]=!1,this._activeTrigger[Ge]=!1,this._isHovered=null,this._queueCallback(()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),l.trigger(this._element,this.constructor.eventName("hidden")))},this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){const t=this._getTemplateFactory(e).toHtml();if(!t)return null;t.classList.remove(Zt,mt),t.classList.add(`bs-${this.constructor.NAME}-auto`);const n=(s=>{do s+=Math.floor(1e6*Math.random());while(document.getElementById(s));return s})(this.constructor.NAME).toString();return t.setAttribute("id",n),this._isAnimated()&&t.classList.add(Zt),t}setContent(e){this._newContent=e,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new jo({...this._config,content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Zt)}_isShown(){return this.tip&&this.tip.classList.contains(mt)}_createPopper(e){const t=M(this._config.placement,[this,e,this._element]),n=Ho[t.toUpperCase()];return Ut(this._element,e,this._getPopperConfig(n))}_getOffset(){const{offset:e}=this._config;return typeof e=="string"?e.split(",").map(t=>Number.parseInt(t,10)):typeof e=="function"?t=>e(t,this._element):e}_resolvePossibleFunction(e){return M(e,[this._element])}_getPopperConfig(e){const t={placement:e,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:n=>{this._getTipElement().setAttribute("data-popper-placement",n.state.placement)}}]};return{...t,...M(this._config.popperConfig,[t])}}_setListeners(){const e=this._config.trigger.split(" ");for(const t of e)if(t==="click")l.on(this._element,this.constructor.eventName("click"),this._config.selector,n=>{this._initializeOnDelegatedTarget(n).toggle()});else if(t!=="manual"){const n=t===Ge?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),s=t===Ge?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");l.on(this._element,n,this._config.selector,o=>{const r=this._initializeOnDelegatedTarget(o);r._activeTrigger[o.type==="focusin"?Jt:Ge]=!0,r._enter()}),l.on(this._element,s,this._config.selector,o=>{const r=this._initializeOnDelegatedTarget(o);r._activeTrigger[o.type==="focusout"?Jt:Ge]=r._element.contains(o.relatedTarget),r._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},l.on(this._element.closest(In),Nn,this._hideModalHandler)}_fixTitle(){const e=this._element.getAttribute("title");e&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",e),this._element.setAttribute("data-bs-original-title",e),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(e,t){clearTimeout(this._timeout),this._timeout=setTimeout(e,t)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){const t=ne.getDataAttributes(this._element);for(const n of Object.keys(t))Fo.has(n)&&delete t[n];return e={...t,...typeof e=="object"&&e?e:{}},e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=e.container===!1?document.body:ae(e.container),typeof e.delay=="number"&&(e.delay={show:e.delay,hide:e.delay}),typeof e.title=="number"&&(e.title=e.title.toString()),typeof e.content=="number"&&(e.content=e.content.toString()),e}_getDelegateConfig(){const e={};for(const[t,n]of Object.entries(this._config))this.constructor.Default[t]!==n&&(e[t]=n);return e.selector=!1,e.trigger="manual",e}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(e){return this.each(function(){const t=ye.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0)throw new TypeError(`No method named "${e}"`);t[e]()}})}}z(ye);const zo={...ye.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},Ro={...ye.DefaultType,content:"(null|string|element|function)"};class gt extends ye{static get Default(){return zo}static get DefaultType(){return Ro}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(e){return this.each(function(){const t=gt.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0)throw new TypeError(`No method named "${e}"`);t[e]()}})}}z(gt);const ei=".bs.scrollspy",qo=`activate${ei}`,Pn=`click${ei}`,Vo=`load${ei}.data-api`,We="active",ti="[href]",Mn=".nav-link",Ko=`${Mn}, .nav-item > ${Mn}, .list-group-item`,Xo={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Uo={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Ze extends Y{constructor(e,t){super(e,t),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Xo}static get DefaultType(){return Uo}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=ae(e.target)||document.body,e.rootMargin=e.offset?`${e.offset}px 0px -30%`:e.rootMargin,typeof e.threshold=="string"&&(e.threshold=e.threshold.split(",").map(t=>Number.parseFloat(t))),e}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(l.off(this._config.target,Pn),l.on(this._config.target,Pn,ti,e=>{const t=this._observableSections.get(e.target.hash);if(t){e.preventDefault();const n=this._rootElement||window,s=t.offsetTop-this._element.offsetTop;if(n.scrollTo)return void n.scrollTo({top:s,behavior:"smooth"});n.scrollTop=s}}))}_getNewObserver(){const e={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(t=>this._observerCallback(t),e)}_observerCallback(e){const t=r=>this._targetLinks.get(`#${r.target.id}`),n=r=>{this._previousScrollData.visibleEntryTop=r.target.offsetTop,this._process(t(r))},s=(this._rootElement||document.documentElement).scrollTop,o=s>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=s;for(const r of e){if(!r.isIntersecting){this._activeTarget=null,this._clearActiveClass(t(r));continue}const a=r.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(o&&a){if(n(r),!s)return}else o||a||n(r)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const e=f.find(ti,this._config.target);for(const t of e){if(!t.hash||le(t))continue;const n=f.findOne(decodeURI(t.hash),this._element);Ce(n)&&(this._targetLinks.set(decodeURI(t.hash),t),this._observableSections.set(t.hash,n))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add(We),this._activateParents(e),l.trigger(this._element,qo,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains("dropdown-item"))f.findOne(".dropdown-toggle",e.closest(".dropdown")).classList.add(We);else for(const t of f.parents(e,".nav, .list-group"))for(const n of f.prev(t,Ko))n.classList.add(We)}_clearActiveClass(e){e.classList.remove(We);const t=f.find(`${ti}.${We}`,e);for(const n of t)n.classList.remove(We)}static jQueryInterface(e){return this.each(function(){const t=Ze.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e]()}})}}l.on(window,Vo,()=>{for(const i of f.find('[data-bs-spy="scroll"]'))Ze.getOrCreateInstance(i)}),z(Ze);const we=".bs.tab",Yo=`hide${we}`,Qo=`hidden${we}`,Go=`show${we}`,Zo=`shown${we}`,Jo=`click${we}`,er=`keydown${we}`,tr=`load${we}`,ir="ArrowLeft",jn="ArrowRight",nr="ArrowUp",Fn="ArrowDown",ii="Home",Hn="End",Ee="active",Wn="fade",ni="show",Bn=".dropdown-toggle",si=`:not(${Bn})`,zn='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',oi=`.nav-link${si}, .list-group-item${si}, [role="tab"]${si}, ${zn}`,sr=`.${Ee}[data-bs-toggle="tab"], .${Ee}[data-bs-toggle="pill"], .${Ee}[data-bs-toggle="list"]`;class Ae extends Y{constructor(e){super(e),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),l.on(this._element,er,t=>this._keydown(t)))}static get NAME(){return"tab"}show(){const e=this._element;if(this._elemIsActive(e))return;const t=this._getActiveElem(),n=t?l.trigger(t,Yo,{relatedTarget:e}):null;l.trigger(e,Go,{relatedTarget:t}).defaultPrevented||n&&n.defaultPrevented||(this._deactivate(t,e),this._activate(e,t))}_activate(e,t){e&&(e.classList.add(Ee),this._activate(f.getElementFromSelector(e)),this._queueCallback(()=>{e.getAttribute("role")==="tab"?(e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleDropDown(e,!0),l.trigger(e,Zo,{relatedTarget:t})):e.classList.add(ni)},e,e.classList.contains(Wn)))}_deactivate(e,t){e&&(e.classList.remove(Ee),e.blur(),this._deactivate(f.getElementFromSelector(e)),this._queueCallback(()=>{e.getAttribute("role")==="tab"?(e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleDropDown(e,!1),l.trigger(e,Qo,{relatedTarget:t})):e.classList.remove(ni)},e,e.classList.contains(Wn)))}_keydown(e){if(![ir,jn,nr,Fn,ii,Hn].includes(e.key))return;e.stopPropagation(),e.preventDefault();const t=this._getChildren().filter(s=>!le(s));let n;if([ii,Hn].includes(e.key))n=t[e.key===ii?0:t.length-1];else{const s=[jn,Fn].includes(e.key);n=Tt(t,e.target,s,!0)}n&&(n.focus({preventScroll:!0}),Ae.getOrCreateInstance(n).show())}_getChildren(){return f.find(oi,this._parent)}_getActiveElem(){return this._getChildren().find(e=>this._elemIsActive(e))||null}_setInitialAttributes(e,t){this._setAttributeIfNotExists(e,"role","tablist");for(const n of t)this._setInitialAttributesOnChild(n)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);const t=this._elemIsActive(e),n=this._getOuterElement(e);e.setAttribute("aria-selected",t),n!==e&&this._setAttributeIfNotExists(n,"role","presentation"),t||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){const t=f.getElementFromSelector(e);t&&(this._setAttributeIfNotExists(t,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(t,"aria-labelledby",`${e.id}`))}_toggleDropDown(e,t){const n=this._getOuterElement(e);if(!n.classList.contains("dropdown"))return;const s=(o,r)=>{const a=f.findOne(o,n);a&&a.classList.toggle(r,t)};s(Bn,Ee),s(".dropdown-menu",ni),n.setAttribute("aria-expanded",t)}_setAttributeIfNotExists(e,t,n){e.hasAttribute(t)||e.setAttribute(t,n)}_elemIsActive(e){return e.classList.contains(Ee)}_getInnerElement(e){return e.matches(oi)?e:f.findOne(oi,e)}_getOuterElement(e){return e.closest(".nav-item, .list-group-item")||e}static jQueryInterface(e){return this.each(function(){const t=Ae.getOrCreateInstance(this);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e]()}})}}l.on(document,Jo,zn,function(i){["A","AREA"].includes(this.tagName)&&i.preventDefault(),le(this)||Ae.getOrCreateInstance(this).show()}),l.on(window,tr,()=>{for(const i of f.find(sr))Ae.getOrCreateInstance(i)}),z(Ae);const de=".bs.toast",or=`mouseover${de}`,rr=`mouseout${de}`,ar=`focusin${de}`,lr=`focusout${de}`,cr=`hide${de}`,hr=`hidden${de}`,dr=`show${de}`,ur=`shown${de}`,Rn="hide",_t="show",bt="showing",fr={animation:"boolean",autohide:"boolean",delay:"number"},pr={animation:!0,autohide:!0,delay:5e3};class Je extends Y{constructor(e,t){super(e,t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return pr}static get DefaultType(){return fr}static get NAME(){return"toast"}show(){l.trigger(this._element,dr).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Rn),ze(this._element),this._element.classList.add(_t,bt),this._queueCallback(()=>{this._element.classList.remove(bt),l.trigger(this._element,ur),this._maybeScheduleHide()},this._element,this._config.animation))}hide(){this.isShown()&&(l.trigger(this._element,cr).defaultPrevented||(this._element.classList.add(bt),this._queueCallback(()=>{this._element.classList.add(Rn),this._element.classList.remove(bt,_t),l.trigger(this._element,hr)},this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(_t),super.dispose()}isShown(){return this._element.classList.contains(_t)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":this._hasMouseInteraction=t;break;case"focusin":case"focusout":this._hasKeyboardInteraction=t}if(t)return void this._clearTimeout();const n=e.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){l.on(this._element,or,e=>this._onInteraction(e,!0)),l.on(this._element,rr,e=>this._onInteraction(e,!1)),l.on(this._element,ar,e=>this._onInteraction(e,!0)),l.on(this._element,lr,e=>this._onInteraction(e,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(e){return this.each(function(){const t=Je.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0)throw new TypeError(`No method named "${e}"`);t[e](this)}})}}return tt(Je),z(Je),{Alert:qe,Button:Ve,Carousel:Le,Collapse:De,Dropdown:Q,Modal:ve,Offcanvas:re,Popover:gt,ScrollSpy:Ze,Tab:Ae,Toast:Je,Tooltip:ye}}); diff --git a/docs/scripts-R7XP6F7J.js b/docs/scripts-R7XP6F7J.js new file mode 100644 index 00000000..695e671e --- /dev/null +++ b/docs/scripts-R7XP6F7J.js @@ -0,0 +1,5 @@ +/*! + * Bootstrap v5.3.6 (https://getbootstrap.com/) + * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */(function(K,fe){typeof exports=="object"&&typeof module<"u"?module.exports=fe():typeof define=="function"&&define.amd?define(fe):(K=typeof globalThis<"u"?globalThis:K||self).bootstrap=fe()})(this,(function(){"use strict";const K=new Map,fe={set(i,e,t){K.has(i)||K.set(i,new Map);const n=K.get(i);n.has(e)||n.size===0?n.set(e,t):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(i,e)=>K.has(i)&&K.get(i).get(e)||null,remove(i,e){if(!K.has(i))return;const t=K.get(i);t.delete(e),t.size===0&&K.delete(i)}},Et="transitionend",ci=i=>(i&&window.CSS&&window.CSS.escape&&(i=i.replace(/#([^\s"#']+)/g,((e,t)=>`#${CSS.escape(t)}`))),i),hi=i=>{i.dispatchEvent(new Event(Et))},ie=i=>!(!i||typeof i!="object")&&(i.jquery!==void 0&&(i=i[0]),i.nodeType!==void 0),ae=i=>ie(i)?i.jquery?i[0]:i:typeof i=="string"&&i.length>0?document.querySelector(ci(i)):null,Te=i=>{if(!ie(i)||i.getClientRects().length===0)return!1;const e=getComputedStyle(i).getPropertyValue("visibility")==="visible",t=i.closest("details:not([open])");if(!t)return e;if(t!==i){const n=i.closest("summary");if(n&&n.parentNode!==t||n===null)return!1}return e},le=i=>!i||i.nodeType!==Node.ELEMENT_NODE||!!i.classList.contains("disabled")||(i.disabled!==void 0?i.disabled:i.hasAttribute("disabled")&&i.getAttribute("disabled")!=="false"),di=i=>{if(!document.documentElement.attachShadow)return null;if(typeof i.getRootNode=="function"){const e=i.getRootNode();return e instanceof ShadowRoot?e:null}return i instanceof ShadowRoot?i:i.parentNode?di(i.parentNode):null},et=()=>{},ze=i=>{i.offsetHeight},ui=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,At=[],B=()=>document.documentElement.dir==="rtl",z=i=>{var e;e=()=>{const t=ui();if(t){const n=i.NAME,s=t.fn[n];t.fn[n]=i.jQueryInterface,t.fn[n].Constructor=i,t.fn[n].noConflict=()=>(t.fn[n]=s,i.jQueryInterface)}},document.readyState==="loading"?(At.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of At)t()})),At.push(e)):e()},M=(i,e=[],t=i)=>typeof i=="function"?i.call(...e):t,fi=(i,e,t=!0)=>{if(!t)return void M(i);const n=(r=>{if(!r)return 0;let{transitionDuration:a,transitionDelay:c}=window.getComputedStyle(r);const d=Number.parseFloat(a),u=Number.parseFloat(c);return d||u?(a=a.split(",")[0],c=c.split(",")[0],1e3*(Number.parseFloat(a)+Number.parseFloat(c))):0})(e)+5;let s=!1;const o=({target:r})=>{r===e&&(s=!0,e.removeEventListener(Et,o),M(i))};e.addEventListener(Et,o),setTimeout((()=>{s||hi(e)}),n)},Ct=(i,e,t,n)=>{const s=i.length;let o=i.indexOf(e);return o===-1?!t&&n?i[s-1]:i[0]:(o+=t?1:-1,n&&(o=(o+s)%s),i[Math.max(0,Math.min(o,s-1))])},is=/[^.]*(?=\..*)\.|.*/,ns=/\..*/,ss=/::\d+$/,Tt={};let pi=1;const mi={mouseenter:"mouseover",mouseleave:"mouseout"},os=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function gi(i,e){return e&&`${e}::${pi++}`||i.uidEvent||pi++}function _i(i){const e=gi(i);return i.uidEvent=e,Tt[e]=Tt[e]||{},Tt[e]}function bi(i,e,t=null){return Object.values(i).find((n=>n.callable===e&&n.delegationSelector===t))}function vi(i,e,t){const n=typeof e=="string",s=n?t:e||t;let o=wi(i);return os.has(o)||(o=i),[n,s,o]}function yi(i,e,t,n,s){if(typeof e!="string"||!i)return;let[o,r,a]=vi(e,t,n);e in mi&&(r=(g=>function(m){if(!m.relatedTarget||m.relatedTarget!==m.delegateTarget&&!m.delegateTarget.contains(m.relatedTarget))return g.call(this,m)})(r));const c=_i(i),d=c[a]||(c[a]={}),u=bi(d,r,o?t:null);if(u)return void(u.oneOff=u.oneOff&&s);const h=gi(r,e.replace(is,"")),b=o?(function(p,g,m){return function _(T){const k=p.querySelectorAll(g);for(let{target:y}=T;y&&y!==this;y=y.parentNode)for(const E of k)if(E===y)return xt(T,{delegateTarget:y}),_.oneOff&&l.off(p,T.type,g,m),m.apply(y,[T])}})(i,t,r):(function(p,g){return function m(_){return xt(_,{delegateTarget:p}),m.oneOff&&l.off(p,_.type,g),g.apply(p,[_])}})(i,r);b.delegationSelector=o?t:null,b.callable=r,b.oneOff=s,b.uidEvent=h,d[h]=b,i.addEventListener(a,b,o)}function Ot(i,e,t,n,s){const o=bi(e[t],n,s);o&&(i.removeEventListener(t,o,!!s),delete e[t][o.uidEvent])}function rs(i,e,t,n){const s=e[t]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&Ot(i,e,t,r.callable,r.delegationSelector)}function wi(i){return i=i.replace(ns,""),mi[i]||i}const l={on(i,e,t,n){yi(i,e,t,n,!1)},one(i,e,t,n){yi(i,e,t,n,!0)},off(i,e,t,n){if(typeof e!="string"||!i)return;const[s,o,r]=vi(e,t,n),a=r!==e,c=_i(i),d=c[r]||{},u=e.startsWith(".");if(o===void 0){if(u)for(const h of Object.keys(c))rs(i,c,h,e.slice(1));for(const[h,b]of Object.entries(d)){const p=h.replace(ss,"");a&&!e.includes(p)||Ot(i,c,r,b.callable,b.delegationSelector)}}else{if(!Object.keys(d).length)return;Ot(i,c,r,o,s?t:null)}},trigger(i,e,t){if(typeof e!="string"||!i)return null;const n=ui();let s=null,o=!0,r=!0,a=!1;e!==wi(e)&&n&&(s=n.Event(e,t),n(i).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const c=xt(new Event(e,{bubbles:o,cancelable:!0}),t);return a&&c.preventDefault(),r&&i.dispatchEvent(c),c.defaultPrevented&&s&&s.preventDefault(),c}};function xt(i,e={}){for(const[t,n]of Object.entries(e))try{i[t]=n}catch{Object.defineProperty(i,t,{configurable:!0,get:()=>n})}return i}function Ei(i){if(i==="true")return!0;if(i==="false")return!1;if(i===Number(i).toString())return Number(i);if(i===""||i==="null")return null;if(typeof i!="string")return i;try{return JSON.parse(decodeURIComponent(i))}catch{return i}}function kt(i){return i.replace(/[A-Z]/g,(e=>`-${e.toLowerCase()}`))}const ne={setDataAttribute(i,e,t){i.setAttribute(`data-bs-${kt(e)}`,t)},removeDataAttribute(i,e){i.removeAttribute(`data-bs-${kt(e)}`)},getDataAttributes(i){if(!i)return{};const e={},t=Object.keys(i.dataset).filter((n=>n.startsWith("bs")&&!n.startsWith("bsConfig")));for(const n of t){let s=n.replace(/^bs/,"");s=s.charAt(0).toLowerCase()+s.slice(1),e[s]=Ei(i.dataset[n])}return e},getDataAttribute:(i,e)=>Ei(i.getAttribute(`data-bs-${kt(e)}`))};class Re{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,t){const n=ie(t)?ne.getDataAttribute(t,"config"):{};return{...this.constructor.Default,...typeof n=="object"?n:{},...ie(t)?ne.getDataAttributes(t):{},...typeof e=="object"?e:{}}}_typeCheckConfig(e,t=this.constructor.DefaultType){for(const[s,o]of Object.entries(t)){const r=e[s],a=ie(r)?"element":(n=r)==null?`${n}`:Object.prototype.toString.call(n).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(o).test(a))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${s}" provided type "${a}" but expected type "${o}".`)}var n}}class Y extends Re{constructor(e,t){super(),(e=ae(e))&&(this._element=e,this._config=this._getConfig(t),fe.set(this._element,this.constructor.DATA_KEY,this))}dispose(){fe.remove(this._element,this.constructor.DATA_KEY),l.off(this._element,this.constructor.EVENT_KEY);for(const e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,t,n=!0){fi(e,t,n)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return fe.get(ae(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,typeof t=="object"?t:null)}static get VERSION(){return"5.3.6"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}}const Lt=i=>{let e=i.getAttribute("data-bs-target");if(!e||e==="#"){let t=i.getAttribute("href");if(!t||!t.includes("#")&&!t.startsWith("."))return null;t.includes("#")&&!t.startsWith("#")&&(t=`#${t.split("#")[1]}`),e=t&&t!=="#"?t.trim():null}return e?e.split(",").map((t=>ci(t))).join(","):null},f={find:(i,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,i)),findOne:(i,e=document.documentElement)=>Element.prototype.querySelector.call(e,i),children:(i,e)=>[].concat(...i.children).filter((t=>t.matches(e))),parents(i,e){const t=[];let n=i.parentNode.closest(e);for(;n;)t.push(n),n=n.parentNode.closest(e);return t},prev(i,e){let t=i.previousElementSibling;for(;t;){if(t.matches(e))return[t];t=t.previousElementSibling}return[]},next(i,e){let t=i.nextElementSibling;for(;t;){if(t.matches(e))return[t];t=t.nextElementSibling}return[]},focusableChildren(i){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,i).filter((t=>!le(t)&&Te(t)))},getSelectorFromElement(i){const e=Lt(i);return e&&f.findOne(e)?e:null},getElementFromSelector(i){const e=Lt(i);return e?f.findOne(e):null},getMultipleElementsFromSelector(i){const e=Lt(i);return e?f.find(e):[]}},tt=(i,e="hide")=>{const t=`click.dismiss${i.EVENT_KEY}`,n=i.NAME;l.on(document,t,`[data-bs-dismiss="${n}"]`,(function(s){if(["A","AREA"].includes(this.tagName)&&s.preventDefault(),le(this))return;const o=f.getElementFromSelector(this)||this.closest(`.${n}`);i.getOrCreateInstance(o)[e]()}))},Ai=".bs.alert",as=`close${Ai}`,ls=`closed${Ai}`;class qe extends Y{static get NAME(){return"alert"}close(){if(l.trigger(this._element,as).defaultPrevented)return;this._element.classList.remove("show");const e=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,e)}_destroyElement(){this._element.remove(),l.trigger(this._element,ls),this.dispose()}static jQueryInterface(e){return this.each((function(){const t=qe.getOrCreateInstance(this);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e](this)}}))}}tt(qe,"close"),z(qe);const Ci='[data-bs-toggle="button"]';class Ve extends Y{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(e){return this.each((function(){const t=Ve.getOrCreateInstance(this);e==="toggle"&&t[e]()}))}}l.on(document,"click.bs.button.data-api",Ci,(i=>{i.preventDefault();const e=i.target.closest(Ci);Ve.getOrCreateInstance(e).toggle()})),z(Ve);const Oe=".bs.swipe",cs=`touchstart${Oe}`,hs=`touchmove${Oe}`,ds=`touchend${Oe}`,us=`pointerdown${Oe}`,fs=`pointerup${Oe}`,ps={endCallback:null,leftCallback:null,rightCallback:null},ms={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class it extends Re{constructor(e,t){super(),this._element=e,e&&it.isSupported()&&(this._config=this._getConfig(t),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return ps}static get DefaultType(){return ms}static get NAME(){return"swipe"}dispose(){l.off(this._element,Oe)}_start(e){this._supportPointerEvents?this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX):this._deltaX=e.touches[0].clientX}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX),this._handleSwipe(),M(this._config.endCallback)}_move(e){this._deltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this._deltaX}_handleSwipe(){const e=Math.abs(this._deltaX);if(e<=40)return;const t=e/this._deltaX;this._deltaX=0,t&&M(t>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(l.on(this._element,us,(e=>this._start(e))),l.on(this._element,fs,(e=>this._end(e))),this._element.classList.add("pointer-event")):(l.on(this._element,cs,(e=>this._start(e))),l.on(this._element,hs,(e=>this._move(e))),l.on(this._element,ds,(e=>this._end(e))))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&(e.pointerType==="pen"||e.pointerType==="touch")}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ce=".bs.carousel",Ti=".data-api",gs="ArrowLeft",_s="ArrowRight",Xe="next",xe="prev",ke="left",nt="right",bs=`slide${ce}`,St=`slid${ce}`,vs=`keydown${ce}`,ys=`mouseenter${ce}`,ws=`mouseleave${ce}`,Es=`dragstart${ce}`,As=`load${ce}${Ti}`,Cs=`click${ce}${Ti}`,Oi="carousel",st="active",xi=".active",ki=".carousel-item",Ts=xi+ki,Os={[gs]:nt,[_s]:ke},xs={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},ks={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Le extends Y{constructor(e,t){super(e,t),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=f.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===Oi&&this.cycle()}static get Default(){return xs}static get DefaultType(){return ks}static get NAME(){return"carousel"}next(){this._slide(Xe)}nextWhenVisible(){!document.hidden&&Te(this._element)&&this.next()}prev(){this._slide(xe)}pause(){this._isSliding&&hi(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?l.one(this._element,St,(()=>this.cycle())):this.cycle())}to(e){const t=this._getItems();if(e>t.length-1||e<0)return;if(this._isSliding)return void l.one(this._element,St,(()=>this.to(e)));const n=this._getItemIndex(this._getActive());if(n===e)return;const s=e>n?Xe:xe;this._slide(s,t[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&&l.on(this._element,vs,(e=>this._keydown(e))),this._config.pause==="hover"&&(l.on(this._element,ys,(()=>this.pause())),l.on(this._element,ws,(()=>this._maybeEnableCycle()))),this._config.touch&&it.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of f.find(".carousel-item img",this._element))l.on(t,Es,(n=>n.preventDefault()));const e={leftCallback:()=>this._slide(this._directionToOrder(ke)),rightCallback:()=>this._slide(this._directionToOrder(nt)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new it(this._element,e)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const t=Os[e.key];t&&(e.preventDefault(),this._slide(this._directionToOrder(t)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;const t=f.findOne(xi,this._indicatorsElement);t.classList.remove(st),t.removeAttribute("aria-current");const n=f.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);n&&(n.classList.add(st),n.setAttribute("aria-current","true"))}_updateInterval(){const e=this._activeElement||this._getActive();if(!e)return;const t=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=t||this._config.defaultInterval}_slide(e,t=null){if(this._isSliding)return;const n=this._getActive(),s=e===Xe,o=t||Ct(this._getItems(),n,s,this._config.wrap);if(o===n)return;const r=this._getItemIndex(o),a=h=>l.trigger(this._element,h,{relatedTarget:o,direction:this._orderToDirection(e),from:this._getItemIndex(n),to:r});if(a(bs).defaultPrevented||!n||!o)return;const c=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(r),this._activeElement=o;const d=s?"carousel-item-start":"carousel-item-end",u=s?"carousel-item-next":"carousel-item-prev";o.classList.add(u),ze(o),n.classList.add(d),o.classList.add(d),this._queueCallback((()=>{o.classList.remove(d,u),o.classList.add(st),n.classList.remove(st,u,d),this._isSliding=!1,a(St)}),n,this._isAnimated()),c&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return f.findOne(Ts,this._element)}_getItems(){return f.find(ki,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return B()?e===ke?xe:Xe:e===ke?Xe:xe}_orderToDirection(e){return B()?e===xe?ke:nt:e===xe?nt:ke}static jQueryInterface(e){return this.each((function(){const t=Le.getOrCreateInstance(this,e);if(typeof e!="number"){if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e]()}}else t.to(e)}))}}l.on(document,Cs,"[data-bs-slide], [data-bs-slide-to]",(function(i){const e=f.getElementFromSelector(this);if(!e||!e.classList.contains(Oi))return;i.preventDefault();const t=Le.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(t.to(n),void t._maybeEnableCycle()):ne.getDataAttribute(this,"slide")==="next"?(t.next(),void t._maybeEnableCycle()):(t.prev(),void t._maybeEnableCycle())})),l.on(window,As,(()=>{const i=f.find('[data-bs-ride="carousel"]');for(const e of i)Le.getOrCreateInstance(e)})),z(Le);const Ue=".bs.collapse",Ls=`show${Ue}`,Ss=`shown${Ue}`,Ds=`hide${Ue}`,$s=`hidden${Ue}`,Is=`click${Ue}.data-api`,Dt="show",Se="collapse",ot="collapsing",Ns=`:scope .${Se} .${Se}`,$t='[data-bs-toggle="collapse"]',Ps={parent:null,toggle:!0},Ms={parent:"(null|element)",toggle:"boolean"};class De extends Y{constructor(e,t){super(e,t),this._isTransitioning=!1,this._triggerArray=[];const n=f.find($t);for(const s of n){const o=f.getSelectorFromElement(s),r=f.find(o).filter((a=>a===this._element));o!==null&&r.length&&this._triggerArray.push(s)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Ps}static get DefaultType(){return Ms}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((s=>s!==this._element)).map((s=>De.getOrCreateInstance(s,{toggle:!1})))),e.length&&e[0]._isTransitioning||l.trigger(this._element,Ls).defaultPrevented)return;for(const s of e)s.hide();const t=this._getDimension();this._element.classList.remove(Se),this._element.classList.add(ot),this._element.style[t]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n=`scroll${t[0].toUpperCase()+t.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ot),this._element.classList.add(Se,Dt),this._element.style[t]="",l.trigger(this._element,Ss)}),this._element,!0),this._element.style[t]=`${this._element[n]}px`}hide(){if(this._isTransitioning||!this._isShown()||l.trigger(this._element,Ds).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,ze(this._element),this._element.classList.add(ot),this._element.classList.remove(Se,Dt);for(const t of this._triggerArray){const n=f.getElementFromSelector(t);n&&!this._isShown(n)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[e]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ot),this._element.classList.add(Se),l.trigger(this._element,$s)}),this._element,!0)}_isShown(e=this._element){return e.classList.contains(Dt)}_configAfterMerge(e){return e.toggle=!!e.toggle,e.parent=ae(e.parent),e}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren($t);for(const t of e){const n=f.getElementFromSelector(t);n&&this._addAriaAndCollapsedClass([t],this._isShown(n))}}_getFirstLevelChildren(e){const t=f.find(Ns,this._config.parent);return f.find(e,this._config.parent).filter((n=>!t.includes(n)))}_addAriaAndCollapsedClass(e,t){if(e.length)for(const n of e)n.classList.toggle("collapsed",!t),n.setAttribute("aria-expanded",t)}static jQueryInterface(e){const t={};return typeof e=="string"&&/show|hide/.test(e)&&(t.toggle=!1),this.each((function(){const n=De.getOrCreateInstance(this,t);if(typeof e=="string"){if(n[e]===void 0)throw new TypeError(`No method named "${e}"`);n[e]()}}))}}l.on(document,Is,$t,(function(i){(i.target.tagName==="A"||i.delegateTarget&&i.delegateTarget.tagName==="A")&&i.preventDefault();for(const e of f.getMultipleElementsFromSelector(this))De.getOrCreateInstance(e,{toggle:!1}).toggle()})),z(De);var $="top",j="bottom",F="right",I="left",rt="auto",$e=[$,j,F,I],pe="start",Ie="end",Li="clippingParents",It="viewport",Ne="popper",Si="reference",Nt=$e.reduce((function(i,e){return i.concat([e+"-"+pe,e+"-"+Ie])}),[]),Pt=[].concat($e,[rt]).reduce((function(i,e){return i.concat([e,e+"-"+pe,e+"-"+Ie])}),[]),Di="beforeRead",$i="read",Ii="afterRead",Ni="beforeMain",Pi="main",Mi="afterMain",ji="beforeWrite",Fi="write",Hi="afterWrite",Wi=[Di,$i,Ii,Ni,Pi,Mi,ji,Fi,Hi];function J(i){return i?(i.nodeName||"").toLowerCase():null}function H(i){if(i==null)return window;if(i.toString()!=="[object Window]"){var e=i.ownerDocument;return e&&e.defaultView||window}return i}function me(i){return i instanceof H(i).Element||i instanceof Element}function R(i){return i instanceof H(i).HTMLElement||i instanceof HTMLElement}function Mt(i){return typeof ShadowRoot<"u"&&(i instanceof H(i).ShadowRoot||i instanceof ShadowRoot)}const jt={name:"applyStyles",enabled:!0,phase:"write",fn:function(i){var e=i.state;Object.keys(e.elements).forEach((function(t){var n=e.styles[t]||{},s=e.attributes[t]||{},o=e.elements[t];R(o)&&J(o)&&(Object.assign(o.style,n),Object.keys(s).forEach((function(r){var a=s[r];a===!1?o.removeAttribute(r):o.setAttribute(r,a===!0?"":a)})))}))},effect:function(i){var e=i.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach((function(n){var s=e.elements[n],o=e.attributes[n]||{},r=Object.keys(e.styles.hasOwnProperty(n)?e.styles[n]:t[n]).reduce((function(a,c){return a[c]="",a}),{});R(s)&&J(s)&&(Object.assign(s.style,r),Object.keys(o).forEach((function(a){s.removeAttribute(a)})))}))}},requires:["computeStyles"]};function G(i){return i.split("-")[0]}var ge=Math.max,at=Math.min,Pe=Math.round;function Ft(){var i=navigator.userAgentData;return i!=null&&i.brands&&Array.isArray(i.brands)?i.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function Bi(){return!/^((?!chrome|android).)*safari/i.test(Ft())}function Me(i,e,t){e===void 0&&(e=!1),t===void 0&&(t=!1);var n=i.getBoundingClientRect(),s=1,o=1;e&&R(i)&&(s=i.offsetWidth>0&&Pe(n.width)/i.offsetWidth||1,o=i.offsetHeight>0&&Pe(n.height)/i.offsetHeight||1);var r=(me(i)?H(i):window).visualViewport,a=!Bi()&&t,c=(n.left+(a&&r?r.offsetLeft:0))/s,d=(n.top+(a&&r?r.offsetTop:0))/o,u=n.width/s,h=n.height/o;return{width:u,height:h,top:d,right:c+u,bottom:d+h,left:c,x:c,y:d}}function Ht(i){var e=Me(i),t=i.offsetWidth,n=i.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:i.offsetLeft,y:i.offsetTop,width:t,height:n}}function zi(i,e){var t=e.getRootNode&&e.getRootNode();if(i.contains(e))return!0;if(t&&Mt(t)){var n=e;do{if(n&&i.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function se(i){return H(i).getComputedStyle(i)}function js(i){return["table","td","th"].indexOf(J(i))>=0}function he(i){return((me(i)?i.ownerDocument:i.document)||window.document).documentElement}function lt(i){return J(i)==="html"?i:i.assignedSlot||i.parentNode||(Mt(i)?i.host:null)||he(i)}function Ri(i){return R(i)&&se(i).position!=="fixed"?i.offsetParent:null}function Ke(i){for(var e=H(i),t=Ri(i);t&&js(t)&&se(t).position==="static";)t=Ri(t);return t&&(J(t)==="html"||J(t)==="body"&&se(t).position==="static")?e:t||(function(n){var s=/firefox/i.test(Ft());if(/Trident/i.test(Ft())&&R(n)&&se(n).position==="fixed")return null;var o=lt(n);for(Mt(o)&&(o=o.host);R(o)&&["html","body"].indexOf(J(o))<0;){var r=se(o);if(r.transform!=="none"||r.perspective!=="none"||r.contain==="paint"||["transform","perspective"].indexOf(r.willChange)!==-1||s&&r.willChange==="filter"||s&&r.filter&&r.filter!=="none")return o;o=o.parentNode}return null})(i)||e}function Wt(i){return["top","bottom"].indexOf(i)>=0?"x":"y"}function Ye(i,e,t){return ge(i,at(e,t))}function qi(i){return Object.assign({},{top:0,right:0,bottom:0,left:0},i)}function Vi(i,e){return e.reduce((function(t,n){return t[n]=i,t}),{})}const Xi={name:"arrow",enabled:!0,phase:"main",fn:function(i){var e,t=i.state,n=i.name,s=i.options,o=t.elements.arrow,r=t.modifiersData.popperOffsets,a=G(t.placement),c=Wt(a),d=[I,F].indexOf(a)>=0?"height":"width";if(o&&r){var u=(function(O,C){return qi(typeof(O=typeof O=="function"?O(Object.assign({},C.rects,{placement:C.placement})):O)!="number"?O:Vi(O,$e))})(s.padding,t),h=Ht(o),b=c==="y"?$:I,p=c==="y"?j:F,g=t.rects.reference[d]+t.rects.reference[c]-r[c]-t.rects.popper[d],m=r[c]-t.rects.reference[c],_=Ke(o),T=_?c==="y"?_.clientHeight||0:_.clientWidth||0:0,k=g/2-m/2,y=u[b],E=T-h[d]-u[p],v=T/2-h[d]/2+k,w=Ye(y,v,E),A=c;t.modifiersData[n]=((e={})[A]=w,e.centerOffset=w-v,e)}},effect:function(i){var e=i.state,t=i.options.element,n=t===void 0?"[data-popper-arrow]":t;n!=null&&(typeof n!="string"||(n=e.elements.popper.querySelector(n)))&&zi(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function je(i){return i.split("-")[1]}var Fs={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Ui(i){var e,t=i.popper,n=i.popperRect,s=i.placement,o=i.variation,r=i.offsets,a=i.position,c=i.gpuAcceleration,d=i.adaptive,u=i.roundOffsets,h=i.isFixed,b=r.x,p=b===void 0?0:b,g=r.y,m=g===void 0?0:g,_=typeof u=="function"?u({x:p,y:m}):{x:p,y:m};p=_.x,m=_.y;var T=r.hasOwnProperty("x"),k=r.hasOwnProperty("y"),y=I,E=$,v=window;if(d){var w=Ke(t),A="clientHeight",O="clientWidth";w===H(t)&&se(w=he(t)).position!=="static"&&a==="absolute"&&(A="scrollHeight",O="scrollWidth"),(s===$||(s===I||s===F)&&o===Ie)&&(E=j,m-=(h&&w===v&&v.visualViewport?v.visualViewport.height:w[A])-n.height,m*=c?1:-1),s!==I&&(s!==$&&s!==j||o!==Ie)||(y=F,p-=(h&&w===v&&v.visualViewport?v.visualViewport.width:w[O])-n.width,p*=c?1:-1)}var C,S=Object.assign({position:a},d&&Fs),W=u===!0?(function(Z,N){var V=Z.x,X=Z.y,L=N.devicePixelRatio||1;return{x:Pe(V*L)/L||0,y:Pe(X*L)/L||0}})({x:p,y:m},H(t)):{x:p,y:m};return p=W.x,m=W.y,c?Object.assign({},S,((C={})[E]=k?"0":"",C[y]=T?"0":"",C.transform=(v.devicePixelRatio||1)<=1?"translate("+p+"px, "+m+"px)":"translate3d("+p+"px, "+m+"px, 0)",C)):Object.assign({},S,((e={})[E]=k?m+"px":"",e[y]=T?p+"px":"",e.transform="",e))}const Bt={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(i){var e=i.state,t=i.options,n=t.gpuAcceleration,s=n===void 0||n,o=t.adaptive,r=o===void 0||o,a=t.roundOffsets,c=a===void 0||a,d={placement:G(e.placement),variation:je(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,Ui(Object.assign({},d,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:c})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,Ui(Object.assign({},d,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ct={passive:!0};const zt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(i){var e=i.state,t=i.instance,n=i.options,s=n.scroll,o=s===void 0||s,r=n.resize,a=r===void 0||r,c=H(e.elements.popper),d=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&d.forEach((function(u){u.addEventListener("scroll",t.update,ct)})),a&&c.addEventListener("resize",t.update,ct),function(){o&&d.forEach((function(u){u.removeEventListener("scroll",t.update,ct)})),a&&c.removeEventListener("resize",t.update,ct)}},data:{}};var Hs={left:"right",right:"left",bottom:"top",top:"bottom"};function ht(i){return i.replace(/left|right|bottom|top/g,(function(e){return Hs[e]}))}var Ws={start:"end",end:"start"};function Ki(i){return i.replace(/start|end/g,(function(e){return Ws[e]}))}function Rt(i){var e=H(i);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function qt(i){return Me(he(i)).left+Rt(i).scrollLeft}function Vt(i){var e=se(i),t=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+s+n)}function Yi(i){return["html","body","#document"].indexOf(J(i))>=0?i.ownerDocument.body:R(i)&&Vt(i)?i:Yi(lt(i))}function Qe(i,e){var t;e===void 0&&(e=[]);var n=Yi(i),s=n===((t=i.ownerDocument)==null?void 0:t.body),o=H(n),r=s?[o].concat(o.visualViewport||[],Vt(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Qe(lt(r)))}function Xt(i){return Object.assign({},i,{left:i.x,top:i.y,right:i.x+i.width,bottom:i.y+i.height})}function Qi(i,e,t){return e===It?Xt((function(n,s){var o=H(n),r=he(n),a=o.visualViewport,c=r.clientWidth,d=r.clientHeight,u=0,h=0;if(a){c=a.width,d=a.height;var b=Bi();(b||!b&&s==="fixed")&&(u=a.offsetLeft,h=a.offsetTop)}return{width:c,height:d,x:u+qt(n),y:h}})(i,t)):me(e)?(function(n,s){var o=Me(n,!1,s==="fixed");return o.top=o.top+n.clientTop,o.left=o.left+n.clientLeft,o.bottom=o.top+n.clientHeight,o.right=o.left+n.clientWidth,o.width=n.clientWidth,o.height=n.clientHeight,o.x=o.left,o.y=o.top,o})(e,t):Xt((function(n){var s,o=he(n),r=Rt(n),a=(s=n.ownerDocument)==null?void 0:s.body,c=ge(o.scrollWidth,o.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),d=ge(o.scrollHeight,o.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),u=-r.scrollLeft+qt(n),h=-r.scrollTop;return se(a||o).direction==="rtl"&&(u+=ge(o.clientWidth,a?a.clientWidth:0)-c),{width:c,height:d,x:u,y:h}})(he(i)))}function Zi(i){var e,t=i.reference,n=i.element,s=i.placement,o=s?G(s):null,r=s?je(s):null,a=t.x+t.width/2-n.width/2,c=t.y+t.height/2-n.height/2;switch(o){case $:e={x:a,y:t.y-n.height};break;case j:e={x:a,y:t.y+t.height};break;case F:e={x:t.x+t.width,y:c};break;case I:e={x:t.x-n.width,y:c};break;default:e={x:t.x,y:t.y}}var d=o?Wt(o):null;if(d!=null){var u=d==="y"?"height":"width";switch(r){case pe:e[d]=e[d]-(t[u]/2-n[u]/2);break;case Ie:e[d]=e[d]+(t[u]/2-n[u]/2)}}return e}function Fe(i,e){e===void 0&&(e={});var t=e,n=t.placement,s=n===void 0?i.placement:n,o=t.strategy,r=o===void 0?i.strategy:o,a=t.boundary,c=a===void 0?Li:a,d=t.rootBoundary,u=d===void 0?It:d,h=t.elementContext,b=h===void 0?Ne:h,p=t.altBoundary,g=p!==void 0&&p,m=t.padding,_=m===void 0?0:m,T=qi(typeof _!="number"?_:Vi(_,$e)),k=b===Ne?Si:Ne,y=i.rects.popper,E=i.elements[g?k:b],v=(function(N,V,X,L){var ee=V==="clippingParents"?(function(x){var P=Qe(lt(x)),U=["absolute","fixed"].indexOf(se(x).position)>=0&&R(x)?Ke(x):x;return me(U)?P.filter((function(ue){return me(ue)&&zi(ue,U)&&J(ue)!=="body"})):[]})(N):[].concat(V),te=[].concat(ee,[X]),Be=te[0],D=te.reduce((function(x,P){var U=Qi(N,P,L);return x.top=ge(U.top,x.top),x.right=at(U.right,x.right),x.bottom=at(U.bottom,x.bottom),x.left=ge(U.left,x.left),x}),Qi(N,Be,L));return D.width=D.right-D.left,D.height=D.bottom-D.top,D.x=D.left,D.y=D.top,D})(me(E)?E:E.contextElement||he(i.elements.popper),c,u,r),w=Me(i.elements.reference),A=Zi({reference:w,element:y,placement:s}),O=Xt(Object.assign({},y,A)),C=b===Ne?O:w,S={top:v.top-C.top+T.top,bottom:C.bottom-v.bottom+T.bottom,left:v.left-C.left+T.left,right:C.right-v.right+T.right},W=i.modifiersData.offset;if(b===Ne&&W){var Z=W[s];Object.keys(S).forEach((function(N){var V=[F,j].indexOf(N)>=0?1:-1,X=[$,j].indexOf(N)>=0?"y":"x";S[N]+=Z[X]*V}))}return S}function Bs(i,e){e===void 0&&(e={});var t=e,n=t.placement,s=t.boundary,o=t.rootBoundary,r=t.padding,a=t.flipVariations,c=t.allowedAutoPlacements,d=c===void 0?Pt:c,u=je(n),h=u?a?Nt:Nt.filter((function(g){return je(g)===u})):$e,b=h.filter((function(g){return d.indexOf(g)>=0}));b.length===0&&(b=h);var p=b.reduce((function(g,m){return g[m]=Fe(i,{placement:m,boundary:s,rootBoundary:o,padding:r})[G(m)],g}),{});return Object.keys(p).sort((function(g,m){return p[g]-p[m]}))}const Ji={name:"flip",enabled:!0,phase:"main",fn:function(i){var e=i.state,t=i.options,n=i.name;if(!e.modifiersData[n]._skip){for(var s=t.mainAxis,o=s===void 0||s,r=t.altAxis,a=r===void 0||r,c=t.fallbackPlacements,d=t.padding,u=t.boundary,h=t.rootBoundary,b=t.altBoundary,p=t.flipVariations,g=p===void 0||p,m=t.allowedAutoPlacements,_=e.options.placement,T=G(_),k=c||(T!==_&&g?(function(x){if(G(x)===rt)return[];var P=ht(x);return[Ki(x),P,Ki(P)]})(_):[ht(_)]),y=[_].concat(k).reduce((function(x,P){return x.concat(G(P)===rt?Bs(e,{placement:P,boundary:u,rootBoundary:h,padding:d,flipVariations:g,allowedAutoPlacements:m}):P)}),[]),E=e.rects.reference,v=e.rects.popper,w=new Map,A=!0,O=y[0],C=0;C=0,V=N?"width":"height",X=Fe(e,{placement:S,boundary:u,rootBoundary:h,altBoundary:b,padding:d}),L=N?Z?F:I:Z?j:$;E[V]>v[V]&&(L=ht(L));var ee=ht(L),te=[];if(o&&te.push(X[W]<=0),a&&te.push(X[L]<=0,X[ee]<=0),te.every((function(x){return x}))){O=S,A=!1;break}w.set(S,te)}if(A)for(var Be=function(x){var P=y.find((function(U){var ue=w.get(U);if(ue)return ue.slice(0,x).every((function(vt){return vt}))}));if(P)return O=P,"break"},D=g?3:1;D>0&&Be(D)!=="break";D--);e.placement!==O&&(e.modifiersData[n]._skip=!0,e.placement=O,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Gi(i,e,t){return t===void 0&&(t={x:0,y:0}),{top:i.top-e.height-t.y,right:i.right-e.width+t.x,bottom:i.bottom-e.height+t.y,left:i.left-e.width-t.x}}function en(i){return[$,F,j,I].some((function(e){return i[e]>=0}))}const tn={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(i){var e=i.state,t=i.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=Fe(e,{elementContext:"reference"}),a=Fe(e,{altBoundary:!0}),c=Gi(r,n),d=Gi(a,s,o),u=en(c),h=en(d);e.modifiersData[t]={referenceClippingOffsets:c,popperEscapeOffsets:d,isReferenceHidden:u,hasPopperEscaped:h},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":h})}},nn={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(i){var e=i.state,t=i.options,n=i.name,s=t.offset,o=s===void 0?[0,0]:s,r=Pt.reduce((function(u,h){return u[h]=(function(b,p,g){var m=G(b),_=[I,$].indexOf(m)>=0?-1:1,T=typeof g=="function"?g(Object.assign({},p,{placement:b})):g,k=T[0],y=T[1];return k=k||0,y=(y||0)*_,[I,F].indexOf(m)>=0?{x:y,y:k}:{x:k,y}})(h,e.rects,o),u}),{}),a=r[e.placement],c=a.x,d=a.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=c,e.modifiersData.popperOffsets.y+=d),e.modifiersData[n]=r}},Ut={name:"popperOffsets",enabled:!0,phase:"read",fn:function(i){var e=i.state,t=i.name;e.modifiersData[t]=Zi({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})},data:{}},sn={name:"preventOverflow",enabled:!0,phase:"main",fn:function(i){var e=i.state,t=i.options,n=i.name,s=t.mainAxis,o=s===void 0||s,r=t.altAxis,a=r!==void 0&&r,c=t.boundary,d=t.rootBoundary,u=t.altBoundary,h=t.padding,b=t.tether,p=b===void 0||b,g=t.tetherOffset,m=g===void 0?0:g,_=Fe(e,{boundary:c,rootBoundary:d,padding:h,altBoundary:u}),T=G(e.placement),k=je(e.placement),y=!k,E=Wt(T),v=E==="x"?"y":"x",w=e.modifiersData.popperOffsets,A=e.rects.reference,O=e.rects.popper,C=typeof m=="function"?m(Object.assign({},e.rects,{placement:e.placement})):m,S=typeof C=="number"?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),W=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,Z={x:0,y:0};if(w){if(o){var N,V=E==="y"?$:I,X=E==="y"?j:F,L=E==="y"?"height":"width",ee=w[E],te=ee+_[V],Be=ee-_[X],D=p?-O[L]/2:0,x=k===pe?A[L]:O[L],P=k===pe?-O[L]:-A[L],U=e.elements.arrow,ue=p&&U?Ht(U):{width:0,height:0},vt=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},qn=vt[V],Vn=vt[X],yt=Ye(0,A[L],ue[L]),yr=y?A[L]/2-D-yt-qn-S.mainAxis:x-yt-qn-S.mainAxis,wr=y?-A[L]/2+D+yt+Vn+S.mainAxis:P+yt+Vn+S.mainAxis,ri=e.elements.arrow&&Ke(e.elements.arrow),Er=ri?E==="y"?ri.clientTop||0:ri.clientLeft||0:0,Xn=(N=W?.[E])!=null?N:0,Ar=ee+wr-Xn,Un=Ye(p?at(te,ee+yr-Xn-Er):te,ee,p?ge(Be,Ar):Be);w[E]=Un,Z[E]=Un-ee}if(a){var Kn,Cr=E==="x"?$:I,Tr=E==="x"?j:F,Ce=w[v],wt=v==="y"?"height":"width",Yn=Ce+_[Cr],Qn=Ce-_[Tr],ai=[$,I].indexOf(T)!==-1,Zn=(Kn=W?.[v])!=null?Kn:0,Jn=ai?Yn:Ce-A[wt]-O[wt]-Zn+S.altAxis,Gn=ai?Ce+A[wt]+O[wt]-Zn-S.altAxis:Qn,es=p&&ai?(function(Or,xr,li){var ts=Ye(Or,xr,li);return ts>li?li:ts})(Jn,Ce,Gn):Ye(p?Jn:Yn,Ce,p?Gn:Qn);w[v]=es,Z[v]=es-Ce}e.modifiersData[n]=Z}},requiresIfExists:["offset"]};function zs(i,e,t){t===void 0&&(t=!1);var n,s,o=R(e),r=R(e)&&(function(h){var b=h.getBoundingClientRect(),p=Pe(b.width)/h.offsetWidth||1,g=Pe(b.height)/h.offsetHeight||1;return p!==1||g!==1})(e),a=he(e),c=Me(i,r,t),d={scrollLeft:0,scrollTop:0},u={x:0,y:0};return(o||!o&&!t)&&((J(e)!=="body"||Vt(a))&&(d=(n=e)!==H(n)&&R(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Rt(n)),R(e)?((u=Me(e,!0)).x+=e.clientLeft,u.y+=e.clientTop):a&&(u.x=qt(a))),{x:c.left+d.scrollLeft-u.x,y:c.top+d.scrollTop-u.y,width:c.width,height:c.height}}function Rs(i){var e=new Map,t=new Set,n=[];function s(o){t.add(o.name),[].concat(o.requires||[],o.requiresIfExists||[]).forEach((function(r){if(!t.has(r)){var a=e.get(r);a&&s(a)}})),n.push(o)}return i.forEach((function(o){e.set(o.name,o)})),i.forEach((function(o){t.has(o.name)||s(o)})),n}var on={placement:"bottom",modifiers:[],strategy:"absolute"};function rn(){for(var i=arguments.length,e=new Array(i),t=0;tNumber.parseInt(t,10))):typeof e=="function"?t=>e(t,this._element):e}_getPopperConfig(){const e={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(ne.setDataAttribute(this._menu,"popper","static"),e.modifiers=[{name:"applyStyles",enabled:!1}]),{...e,...M(this._config.popperConfig,[void 0,e])}}_selectMenuItem({key:e,target:t}){const n=f.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((s=>Te(s)));n.length&&Ct(n,t,e===cn,!n.includes(t)).focus()}static jQueryInterface(e){return this.each((function(){const t=Q.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0)throw new TypeError(`No method named "${e}"`);t[e]()}}))}static clearMenus(e){if(e.button===2||e.type==="keyup"&&e.key!=="Tab")return;const t=f.find(Js);for(const n of t){const s=Q.getInstance(n);if(!s||s._config.autoClose===!1)continue;const o=e.composedPath(),r=o.includes(s._menu);if(o.includes(s._element)||s._config.autoClose==="inside"&&!r||s._config.autoClose==="outside"&&r||s._menu.contains(e.target)&&(e.type==="keyup"&&e.key==="Tab"||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const a={relatedTarget:s._element};e.type==="click"&&(a.clickEvent=e),s._completeHide(a)}}static dataApiKeydownHandler(e){const t=/input|textarea/i.test(e.target.tagName),n=e.key==="Escape",s=[Xs,cn].includes(e.key);if(!s&&!n||t&&!n)return;e.preventDefault();const o=this.matches(be)?this:f.prev(this,be)[0]||f.next(this,be)[0]||f.findOne(be,e.delegateTarget.parentNode),r=Q.getOrCreateInstance(o);if(s)return e.stopPropagation(),r.show(),void r._selectMenuItem(e);r._isShown()&&(e.stopPropagation(),r.hide(),o.focus())}}l.on(document,dn,be,Q.dataApiKeydownHandler),l.on(document,dn,ut,Q.dataApiKeydownHandler),l.on(document,hn,Q.clearMenus),l.on(document,Zs,Q.clearMenus),l.on(document,hn,be,(function(i){i.preventDefault(),Q.getOrCreateInstance(this).toggle()})),z(Q);const un="backdrop",fn="show",pn=`mousedown.bs.${un}`,ao={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},lo={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class mn extends Re{constructor(e){super(),this._config=this._getConfig(e),this._isAppended=!1,this._element=null}static get Default(){return ao}static get DefaultType(){return lo}static get NAME(){return un}show(e){if(!this._config.isVisible)return void M(e);this._append();const t=this._getElement();this._config.isAnimated&&ze(t),t.classList.add(fn),this._emulateAnimation((()=>{M(e)}))}hide(e){this._config.isVisible?(this._getElement().classList.remove(fn),this._emulateAnimation((()=>{this.dispose(),M(e)}))):M(e)}dispose(){this._isAppended&&(l.off(this._element,pn),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const e=document.createElement("div");e.className=this._config.className,this._config.isAnimated&&e.classList.add("fade"),this._element=e}return this._element}_configAfterMerge(e){return e.rootElement=ae(e.rootElement),e}_append(){if(this._isAppended)return;const e=this._getElement();this._config.rootElement.append(e),l.on(e,pn,(()=>{M(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(e){fi(e,this._getElement(),this._config.isAnimated)}}const ft=".bs.focustrap",co=`focusin${ft}`,ho=`keydown.tab${ft}`,gn="backward",uo={autofocus:!0,trapElement:null},fo={autofocus:"boolean",trapElement:"element"};class _n extends Re{constructor(e){super(),this._config=this._getConfig(e),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return uo}static get DefaultType(){return fo}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),l.off(document,ft),l.on(document,co,(e=>this._handleFocusin(e))),l.on(document,ho,(e=>this._handleKeydown(e))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,l.off(document,ft))}_handleFocusin(e){const{trapElement:t}=this._config;if(e.target===document||e.target===t||t.contains(e.target))return;const n=f.focusableChildren(t);n.length===0?t.focus():this._lastTabNavDirection===gn?n[n.length-1].focus():n[0].focus()}_handleKeydown(e){e.key==="Tab"&&(this._lastTabNavDirection=e.shiftKey?gn:"forward")}}const bn=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",vn=".sticky-top",pt="padding-right",yn="margin-right";class Qt{constructor(){this._element=document.body}getWidth(){const e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}hide(){const e=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,pt,(t=>t+e)),this._setElementAttributes(bn,pt,(t=>t+e)),this._setElementAttributes(vn,yn,(t=>t-e))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,pt),this._resetElementAttributes(bn,pt),this._resetElementAttributes(vn,yn)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(e,t,n){const s=this.getWidth();this._applyManipulationCallback(e,(o=>{if(o!==this._element&&window.innerWidth>o.clientWidth+s)return;this._saveInitialAttribute(o,t);const r=window.getComputedStyle(o).getPropertyValue(t);o.style.setProperty(t,`${n(Number.parseFloat(r))}px`)}))}_saveInitialAttribute(e,t){const n=e.style.getPropertyValue(t);n&&ne.setDataAttribute(e,t,n)}_resetElementAttributes(e,t){this._applyManipulationCallback(e,(n=>{const s=ne.getDataAttribute(n,t);s!==null?(ne.removeDataAttribute(n,t),n.style.setProperty(t,s)):n.style.removeProperty(t)}))}_applyManipulationCallback(e,t){if(ie(e))t(e);else for(const n of f.find(e,this._element))t(n)}}const q=".bs.modal",po=`hide${q}`,mo=`hidePrevented${q}`,wn=`hidden${q}`,En=`show${q}`,go=`shown${q}`,_o=`resize${q}`,bo=`click.dismiss${q}`,vo=`mousedown.dismiss${q}`,yo=`keydown.dismiss${q}`,wo=`click${q}.data-api`,An="modal-open",Cn="show",Zt="modal-static",Eo={backdrop:!0,focus:!0,keyboard:!0},Ao={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class ve extends Y{constructor(e,t){super(e,t),this._dialog=f.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Qt,this._addEventListeners()}static get Default(){return Eo}static get DefaultType(){return Ao}static get NAME(){return"modal"}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){this._isShown||this._isTransitioning||l.trigger(this._element,En,{relatedTarget:e}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(An),this._adjustDialog(),this._backdrop.show((()=>this._showElement(e))))}hide(){this._isShown&&!this._isTransitioning&&(l.trigger(this._element,po).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Cn),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){l.off(window,q),l.off(this._dialog,q),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new mn({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new _n({trapElement:this._element})}_showElement(e){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const t=f.findOne(".modal-body",this._dialog);t&&(t.scrollTop=0),ze(this._element),this._element.classList.add(Cn),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,l.trigger(this._element,go,{relatedTarget:e})}),this._dialog,this._isAnimated())}_addEventListeners(){l.on(this._element,yo,(e=>{e.key==="Escape"&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),l.on(window,_o,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),l.on(this._element,vo,(e=>{l.one(this._element,bo,(t=>{this._element===e.target&&this._element===t.target&&(this._config.backdrop!=="static"?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(An),this._resetAdjustments(),this._scrollBar.reset(),l.trigger(this._element,wn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(l.trigger(this._element,mo).defaultPrevented)return;const e=this._element.scrollHeight>document.documentElement.clientHeight,t=this._element.style.overflowY;t==="hidden"||this._element.classList.contains(Zt)||(e||(this._element.style.overflowY="hidden"),this._element.classList.add(Zt),this._queueCallback((()=>{this._element.classList.remove(Zt),this._queueCallback((()=>{this._element.style.overflowY=t}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const e=this._element.scrollHeight>document.documentElement.clientHeight,t=this._scrollBar.getWidth(),n=t>0;if(n&&!e){const s=B()?"paddingLeft":"paddingRight";this._element.style[s]=`${t}px`}if(!n&&e){const s=B()?"paddingRight":"paddingLeft";this._element.style[s]=`${t}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(e,t){return this.each((function(){const n=ve.getOrCreateInstance(this,e);if(typeof e=="string"){if(n[e]===void 0)throw new TypeError(`No method named "${e}"`);n[e](t)}}))}}l.on(document,wo,'[data-bs-toggle="modal"]',(function(i){const e=f.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&i.preventDefault(),l.one(e,En,(n=>{n.defaultPrevented||l.one(e,wn,(()=>{Te(this)&&this.focus()}))}));const t=f.findOne(".modal.show");t&&ve.getInstance(t).hide(),ve.getOrCreateInstance(e).toggle(this)})),tt(ve),z(ve);const oe=".bs.offcanvas",Tn=".data-api",Co=`load${oe}${Tn}`,On="show",xn="showing",kn="hiding",Ln=".offcanvas.show",To=`show${oe}`,Oo=`shown${oe}`,xo=`hide${oe}`,Sn=`hidePrevented${oe}`,Dn=`hidden${oe}`,ko=`resize${oe}`,Lo=`click${oe}${Tn}`,So=`keydown.dismiss${oe}`,Do={backdrop:!0,keyboard:!0,scroll:!1},$o={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class re extends Y{constructor(e,t){super(e,t),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Do}static get DefaultType(){return $o}static get NAME(){return"offcanvas"}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){this._isShown||l.trigger(this._element,To,{relatedTarget:e}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||new Qt().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(xn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(On),this._element.classList.remove(xn),l.trigger(this._element,Oo,{relatedTarget:e})}),this._element,!0))}hide(){this._isShown&&(l.trigger(this._element,xo).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(kn),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(On,kn),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new Qt().reset(),l.trigger(this._element,Dn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const e=!!this._config.backdrop;return new mn({className:"offcanvas-backdrop",isVisible:e,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:e?()=>{this._config.backdrop!=="static"?this.hide():l.trigger(this._element,Sn)}:null})}_initializeFocusTrap(){return new _n({trapElement:this._element})}_addEventListeners(){l.on(this._element,So,(e=>{e.key==="Escape"&&(this._config.keyboard?this.hide():l.trigger(this._element,Sn))}))}static jQueryInterface(e){return this.each((function(){const t=re.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e](this)}}))}}l.on(document,Lo,'[data-bs-toggle="offcanvas"]',(function(i){const e=f.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),le(this))return;l.one(e,Dn,(()=>{Te(this)&&this.focus()}));const t=f.findOne(Ln);t&&t!==e&&re.getInstance(t).hide(),re.getOrCreateInstance(e).toggle(this)})),l.on(window,Co,(()=>{for(const i of f.find(Ln))re.getOrCreateInstance(i).show()})),l.on(window,ko,(()=>{for(const i of f.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(i).position!=="fixed"&&re.getOrCreateInstance(i).hide()})),tt(re),z(re);const $n={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Io=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),No=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Po=(i,e)=>{const t=i.nodeName.toLowerCase();return e.includes(t)?!Io.has(t)||!!No.test(i.nodeValue):e.filter((n=>n instanceof RegExp)).some((n=>n.test(t)))},Mo={allowList:$n,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},jo={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Fo={entry:"(string|element|function|null)",selector:"(string|element)"};class Ho extends Re{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return Mo}static get DefaultType(){return jo}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((e=>this._resolvePossibleFunction(e))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content={...this._config.content,...e},this}toHtml(){const e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(const[s,o]of Object.entries(this._config.content))this._setContent(e,o,s);const t=e.children[0],n=this._resolvePossibleFunction(this._config.extraClass);return n&&t.classList.add(...n.split(" ")),t}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(const[t,n]of Object.entries(e))super._typeCheckConfig({selector:t,entry:n},Fo)}_setContent(e,t,n){const s=f.findOne(n,e);s&&((t=this._resolvePossibleFunction(t))?ie(t)?this._putElementInTemplate(ae(t),s):this._config.html?s.innerHTML=this._maybeSanitize(t):s.textContent=t:s.remove())}_maybeSanitize(e){return this._config.sanitize?(function(t,n,s){if(!t.length)return t;if(s&&typeof s=="function")return s(t);const o=new window.DOMParser().parseFromString(t,"text/html"),r=[].concat(...o.body.querySelectorAll("*"));for(const a of r){const c=a.nodeName.toLowerCase();if(!Object.keys(n).includes(c)){a.remove();continue}const d=[].concat(...a.attributes),u=[].concat(n["*"]||[],n[c]||[]);for(const h of d)Po(h,u)||a.removeAttribute(h.nodeName)}return o.body.innerHTML})(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return M(e,[void 0,this])}_putElementInTemplate(e,t){if(this._config.html)return t.innerHTML="",void t.append(e);t.textContent=e.textContent}}const Wo=new Set(["sanitize","allowList","sanitizeFn"]),Jt="fade",mt="show",Bo=".tooltip-inner",In=".modal",Nn="hide.bs.modal",Ze="hover",Gt="focus",zo={AUTO:"auto",TOP:"top",RIGHT:B()?"left":"right",BOTTOM:"bottom",LEFT:B()?"right":"left"},Ro={allowList:$n,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},qo={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class ye extends Y{constructor(e,t){if(an===void 0)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)");super(e,t),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Ro}static get DefaultType(){return qo}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),l.off(this._element.closest(In),Nn,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const e=l.trigger(this._element,this.constructor.eventName("show")),t=(di(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!t)return;this._disposePopper();const n=this._getTipElement();this._element.setAttribute("aria-describedby",n.getAttribute("id"));const{container:s}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(s.append(n),l.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(n),n.classList.add(mt),"ontouchstart"in document.documentElement)for(const o of[].concat(...document.body.children))l.on(o,"mouseover",et);this._queueCallback((()=>{l.trigger(this._element,this.constructor.eventName("shown")),this._isHovered===!1&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!l.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(mt),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))l.off(e,"mouseover",et);this._activeTrigger.click=!1,this._activeTrigger[Gt]=!1,this._activeTrigger[Ze]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),l.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){const t=this._getTemplateFactory(e).toHtml();if(!t)return null;t.classList.remove(Jt,mt),t.classList.add(`bs-${this.constructor.NAME}-auto`);const n=(s=>{do s+=Math.floor(1e6*Math.random());while(document.getElementById(s));return s})(this.constructor.NAME).toString();return t.setAttribute("id",n),this._isAnimated()&&t.classList.add(Jt),t}setContent(e){this._newContent=e,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new Ho({...this._config,content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[Bo]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Jt)}_isShown(){return this.tip&&this.tip.classList.contains(mt)}_createPopper(e){const t=M(this._config.placement,[this,e,this._element]),n=zo[t.toUpperCase()];return Kt(this._element,e,this._getPopperConfig(n))}_getOffset(){const{offset:e}=this._config;return typeof e=="string"?e.split(",").map((t=>Number.parseInt(t,10))):typeof e=="function"?t=>e(t,this._element):e}_resolvePossibleFunction(e){return M(e,[this._element,this._element])}_getPopperConfig(e){const t={placement:e,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:n=>{this._getTipElement().setAttribute("data-popper-placement",n.state.placement)}}]};return{...t,...M(this._config.popperConfig,[void 0,t])}}_setListeners(){const e=this._config.trigger.split(" ");for(const t of e)if(t==="click")l.on(this._element,this.constructor.eventName("click"),this._config.selector,(n=>{this._initializeOnDelegatedTarget(n).toggle()}));else if(t!=="manual"){const n=t===Ze?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),s=t===Ze?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");l.on(this._element,n,this._config.selector,(o=>{const r=this._initializeOnDelegatedTarget(o);r._activeTrigger[o.type==="focusin"?Gt:Ze]=!0,r._enter()})),l.on(this._element,s,this._config.selector,(o=>{const r=this._initializeOnDelegatedTarget(o);r._activeTrigger[o.type==="focusout"?Gt:Ze]=r._element.contains(o.relatedTarget),r._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},l.on(this._element.closest(In),Nn,this._hideModalHandler)}_fixTitle(){const e=this._element.getAttribute("title");e&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",e),this._element.setAttribute("data-bs-original-title",e),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(e,t){clearTimeout(this._timeout),this._timeout=setTimeout(e,t)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){const t=ne.getDataAttributes(this._element);for(const n of Object.keys(t))Wo.has(n)&&delete t[n];return e={...t,...typeof e=="object"&&e?e:{}},e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=e.container===!1?document.body:ae(e.container),typeof e.delay=="number"&&(e.delay={show:e.delay,hide:e.delay}),typeof e.title=="number"&&(e.title=e.title.toString()),typeof e.content=="number"&&(e.content=e.content.toString()),e}_getDelegateConfig(){const e={};for(const[t,n]of Object.entries(this._config))this.constructor.Default[t]!==n&&(e[t]=n);return e.selector=!1,e.trigger="manual",e}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(e){return this.each((function(){const t=ye.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0)throw new TypeError(`No method named "${e}"`);t[e]()}}))}}z(ye);const Vo=".popover-header",Xo=".popover-body",Uo={...ye.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},Ko={...ye.DefaultType,content:"(null|string|element|function)"};class gt extends ye{static get Default(){return Uo}static get DefaultType(){return Ko}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[Vo]:this._getTitle(),[Xo]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(e){return this.each((function(){const t=gt.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0)throw new TypeError(`No method named "${e}"`);t[e]()}}))}}z(gt);const ei=".bs.scrollspy",Yo=`activate${ei}`,Pn=`click${ei}`,Qo=`load${ei}.data-api`,We="active",ti="[href]",Mn=".nav-link",Zo=`${Mn}, .nav-item > ${Mn}, .list-group-item`,Jo={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Go={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Je extends Y{constructor(e,t){super(e,t),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Jo}static get DefaultType(){return Go}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=ae(e.target)||document.body,e.rootMargin=e.offset?`${e.offset}px 0px -30%`:e.rootMargin,typeof e.threshold=="string"&&(e.threshold=e.threshold.split(",").map((t=>Number.parseFloat(t)))),e}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(l.off(this._config.target,Pn),l.on(this._config.target,Pn,ti,(e=>{const t=this._observableSections.get(e.target.hash);if(t){e.preventDefault();const n=this._rootElement||window,s=t.offsetTop-this._element.offsetTop;if(n.scrollTo)return void n.scrollTo({top:s,behavior:"smooth"});n.scrollTop=s}})))}_getNewObserver(){const e={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),e)}_observerCallback(e){const t=r=>this._targetLinks.get(`#${r.target.id}`),n=r=>{this._previousScrollData.visibleEntryTop=r.target.offsetTop,this._process(t(r))},s=(this._rootElement||document.documentElement).scrollTop,o=s>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=s;for(const r of e){if(!r.isIntersecting){this._activeTarget=null,this._clearActiveClass(t(r));continue}const a=r.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(o&&a){if(n(r),!s)return}else o||a||n(r)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const e=f.find(ti,this._config.target);for(const t of e){if(!t.hash||le(t))continue;const n=f.findOne(decodeURI(t.hash),this._element);Te(n)&&(this._targetLinks.set(decodeURI(t.hash),t),this._observableSections.set(t.hash,n))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add(We),this._activateParents(e),l.trigger(this._element,Yo,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains("dropdown-item"))f.findOne(".dropdown-toggle",e.closest(".dropdown")).classList.add(We);else for(const t of f.parents(e,".nav, .list-group"))for(const n of f.prev(t,Zo))n.classList.add(We)}_clearActiveClass(e){e.classList.remove(We);const t=f.find(`${ti}.${We}`,e);for(const n of t)n.classList.remove(We)}static jQueryInterface(e){return this.each((function(){const t=Je.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e]()}}))}}l.on(window,Qo,(()=>{for(const i of f.find('[data-bs-spy="scroll"]'))Je.getOrCreateInstance(i)})),z(Je);const we=".bs.tab",er=`hide${we}`,tr=`hidden${we}`,ir=`show${we}`,nr=`shown${we}`,sr=`click${we}`,or=`keydown${we}`,rr=`load${we}`,ar="ArrowLeft",jn="ArrowRight",lr="ArrowUp",Fn="ArrowDown",ii="Home",Hn="End",Ee="active",Wn="fade",ni="show",Bn=".dropdown-toggle",si=`:not(${Bn})`,zn='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',oi=`.nav-link${si}, .list-group-item${si}, [role="tab"]${si}, ${zn}`,cr=`.${Ee}[data-bs-toggle="tab"], .${Ee}[data-bs-toggle="pill"], .${Ee}[data-bs-toggle="list"]`;class Ae extends Y{constructor(e){super(e),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),l.on(this._element,or,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const e=this._element;if(this._elemIsActive(e))return;const t=this._getActiveElem(),n=t?l.trigger(t,er,{relatedTarget:e}):null;l.trigger(e,ir,{relatedTarget:t}).defaultPrevented||n&&n.defaultPrevented||(this._deactivate(t,e),this._activate(e,t))}_activate(e,t){e&&(e.classList.add(Ee),this._activate(f.getElementFromSelector(e)),this._queueCallback((()=>{e.getAttribute("role")==="tab"?(e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleDropDown(e,!0),l.trigger(e,nr,{relatedTarget:t})):e.classList.add(ni)}),e,e.classList.contains(Wn)))}_deactivate(e,t){e&&(e.classList.remove(Ee),e.blur(),this._deactivate(f.getElementFromSelector(e)),this._queueCallback((()=>{e.getAttribute("role")==="tab"?(e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleDropDown(e,!1),l.trigger(e,tr,{relatedTarget:t})):e.classList.remove(ni)}),e,e.classList.contains(Wn)))}_keydown(e){if(![ar,jn,lr,Fn,ii,Hn].includes(e.key))return;e.stopPropagation(),e.preventDefault();const t=this._getChildren().filter((s=>!le(s)));let n;if([ii,Hn].includes(e.key))n=t[e.key===ii?0:t.length-1];else{const s=[jn,Fn].includes(e.key);n=Ct(t,e.target,s,!0)}n&&(n.focus({preventScroll:!0}),Ae.getOrCreateInstance(n).show())}_getChildren(){return f.find(oi,this._parent)}_getActiveElem(){return this._getChildren().find((e=>this._elemIsActive(e)))||null}_setInitialAttributes(e,t){this._setAttributeIfNotExists(e,"role","tablist");for(const n of t)this._setInitialAttributesOnChild(n)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);const t=this._elemIsActive(e),n=this._getOuterElement(e);e.setAttribute("aria-selected",t),n!==e&&this._setAttributeIfNotExists(n,"role","presentation"),t||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){const t=f.getElementFromSelector(e);t&&(this._setAttributeIfNotExists(t,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(t,"aria-labelledby",`${e.id}`))}_toggleDropDown(e,t){const n=this._getOuterElement(e);if(!n.classList.contains("dropdown"))return;const s=(o,r)=>{const a=f.findOne(o,n);a&&a.classList.toggle(r,t)};s(Bn,Ee),s(".dropdown-menu",ni),n.setAttribute("aria-expanded",t)}_setAttributeIfNotExists(e,t,n){e.hasAttribute(t)||e.setAttribute(t,n)}_elemIsActive(e){return e.classList.contains(Ee)}_getInnerElement(e){return e.matches(oi)?e:f.findOne(oi,e)}_getOuterElement(e){return e.closest(".nav-item, .list-group-item")||e}static jQueryInterface(e){return this.each((function(){const t=Ae.getOrCreateInstance(this);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e]()}}))}}l.on(document,sr,zn,(function(i){["A","AREA"].includes(this.tagName)&&i.preventDefault(),le(this)||Ae.getOrCreateInstance(this).show()})),l.on(window,rr,(()=>{for(const i of f.find(cr))Ae.getOrCreateInstance(i)})),z(Ae);const de=".bs.toast",hr=`mouseover${de}`,dr=`mouseout${de}`,ur=`focusin${de}`,fr=`focusout${de}`,pr=`hide${de}`,mr=`hidden${de}`,gr=`show${de}`,_r=`shown${de}`,Rn="hide",_t="show",bt="showing",br={animation:"boolean",autohide:"boolean",delay:"number"},vr={animation:!0,autohide:!0,delay:5e3};class Ge extends Y{constructor(e,t){super(e,t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return vr}static get DefaultType(){return br}static get NAME(){return"toast"}show(){l.trigger(this._element,gr).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Rn),ze(this._element),this._element.classList.add(_t,bt),this._queueCallback((()=>{this._element.classList.remove(bt),l.trigger(this._element,_r),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(l.trigger(this._element,pr).defaultPrevented||(this._element.classList.add(bt),this._queueCallback((()=>{this._element.classList.add(Rn),this._element.classList.remove(bt,_t),l.trigger(this._element,mr)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(_t),super.dispose()}isShown(){return this._element.classList.contains(_t)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":this._hasMouseInteraction=t;break;case"focusin":case"focusout":this._hasKeyboardInteraction=t}if(t)return void this._clearTimeout();const n=e.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){l.on(this._element,hr,(e=>this._onInteraction(e,!0))),l.on(this._element,dr,(e=>this._onInteraction(e,!1))),l.on(this._element,ur,(e=>this._onInteraction(e,!0))),l.on(this._element,fr,(e=>this._onInteraction(e,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(e){return this.each((function(){const t=Ge.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0)throw new TypeError(`No method named "${e}"`);t[e](this)}}))}}return tt(Ge),z(Ge),{Alert:qe,Button:Ve,Carousel:Le,Collapse:De,Dropdown:Q,Modal:ve,Offcanvas:re,Popover:gt,ScrollSpy:Je,Tab:Ae,Toast:Ge,Tooltip:ye}})); diff --git a/docs/styles-GXQS5ZM2.css b/docs/styles-GXQS5ZM2.css deleted file mode 100644 index 5120018b..00000000 --- a/docs/styles-GXQS5ZM2.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, .75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, .5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, .175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(13, 110, 253, .25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, .75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, .5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, .15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,:after,:before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"\2014\a0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), .05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), .1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label:after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label:after,.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-select~label:after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.form-floating>.form-control:disabled~label:after,.form-floating>:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3.75rem + 1.5em)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3.75rem + 1.5em)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:.75rem;--bs-btn-padding-y:.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, .15),0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity:.65;--bs-btn-focus-box-shadow:0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:.25rem;--bs-btn-padding-x:.5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:.5rem;--bs-dropdown-spacer:.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, .15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:.5rem;--bs-navbar-toggler-padding-y:.25rem;--bs-navbar-toggler-padding-x:.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:.25rem;--bs-navbar-toggler-transition:box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, .55);--bs-navbar-hover-color:rgba(255, 255, 255, .75);--bs-navbar-disabled-color:rgba(255, 255, 255, .25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform .2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:.75rem;--bs-pagination-padding-y:.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:.5rem;--bs-pagination-padding-y:.25rem;--bs-pagination-font-size:.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:.65em;--bs-badge-padding-y:.35em;--bs-badge-font-size:.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:.5;--bs-btn-close-hover-opacity:.75;--bs-btn-close-focus-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:.75rem;--bs-toast-padding-y:.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:.5rem;--bs-tooltip-padding-y:.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:.9;--bs-tooltip-arrow-width:.8rem;--bs-tooltip-arrow-height:.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,.bs-tooltip-top .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before,.bs-tooltip-end .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before,.bs-tooltip-bottom .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before,.bs-tooltip-start .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:after,.popover .popover-arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-top>.popover-arrow:before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-top>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-end>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-end>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-start>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-start>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translate(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-border-width:.25em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform .3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:.1}.border-opacity-25{--bs-border-opacity:.25}.border-opacity-50{--bs-border-opacity:.5}.border-opacity-75{--bs-border-opacity:.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:#00000080!important}.text-white-50{--bs-text-opacity:1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:.25}.text-opacity-50{--bs-text-opacity:.5}.text-opacity-75{--bs-text-opacity:.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity:.1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity:.25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity:.5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity:.75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:.1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:.25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:.5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:.75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:.1}.bg-opacity-25{--bs-bg-opacity:.25}.bg-opacity-50{--bs-bg-opacity:.5}.bg-opacity-75{--bs-bg-opacity:.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-0:before{content:"0"}.fa-1:before{content:"1"}.fa-2:before{content:"2"}.fa-3:before{content:"3"}.fa-4:before{content:"4"}.fa-5:before{content:"5"}.fa-6:before{content:"6"}.fa-7:before{content:"7"}.fa-8:before{content:"8"}.fa-9:before{content:"9"}.fa-a:before{content:"A"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-anchor:before{content:"\f13d"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-ankh:before{content:"\f644"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-archway:before{content:"\f557"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-arrow-trend-down:before{content:"\e097"}.fa-arrow-trend-up:before{content:"\e098"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-asterisk:before{content:"*"}.fa-at:before{content:"@"}.fa-atom:before{content:"\f5d2"}.fa-audio-description:before{content:"\f29e"}.fa-austral-sign:before{content:"\e0a9"}.fa-award:before{content:"\f559"}.fa-b:before{content:"B"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-backward:before{content:"\f04a"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-bahai:before{content:"\f666"}.fa-baht-sign:before{content:"\e0ac"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-barcode:before{content:"\f02a"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-bell:before{content:"\f0f3"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bicycle:before{content:"\f206"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blog:before{content:"\f781"}.fa-bold:before{content:"\f032"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-bookmark:before{content:"\f02e"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broom:before{content:"\f51a"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-brush:before{content:"\f55d"}.fa-bug:before{content:"\f188"}.fa-bug-slash:before{content:"\e490"}.fa-building:before{content:"\f1ad"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-c:before{content:"C"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-week:before{content:"\f784"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-camera-rotate:before{content:"\e0d8"}.fa-campground:before{content:"\f6bb"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-cart-plus:before{content:"\f217"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cedi-sign:before{content:"\e0df"}.fa-cent-sign:before{content:"\e3f5"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-charging-station:before{content:"\f5e7"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-chart-column:before{content:"\e0e3"}.fa-chart-gantt:before{content:"\e0e4"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-double:before{content:"\f560"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-circle-notch:before{content:"\f1ce"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-city:before{content:"\f64f"}.fa-clapperboard:before{content:"\e131"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-clover:before{content:"\e139"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-code-commit:before{content:"\f386"}.fa-code-compare:before{content:"\e13a"}.fa-code-fork:before{content:"\e13b"}.fa-code-merge:before{content:"\f387"}.fa-code-pull-request:before{content:"\e13c"}.fa-coins:before{content:"\f51e"}.fa-colon-sign:before{content:"\e140"}.fa-comment:before{content:"\f075"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-compress:before{content:"\f066"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-d:before{content:"D"}.fa-database:before{content:"\f1c0"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-democrat:before{content:"\f747"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-dharmachakra:before{content:"\f655"}.fa-diagram-next:before{content:"\e476"}.fa-diagram-predecessor:before{content:"\e477"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-diagram-successor:before{content:"\e47a"}.fa-diamond:before{content:"\f219"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dna:before{content:"\f471"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"$"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-dong-sign:before{content:"\e169"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dove:before{content:"\f4ba"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-download:before{content:"\f019"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-e:before{content:"E"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elevator:before{content:"\e16d"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-equals:before{content:"="}.fa-eraser:before{content:"\f12d"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-exclamation:before{content:"!"}.fa-expand:before{content:"\f065"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-eye-slash:before{content:"\f070"}.fa-f:before{content:"F"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-fan:before{content:"\f863"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-file:before{content:"\f15b"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-excel:before{content:"\f1c3"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-file-medical:before{content:"\f477"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-video:before{content:"\f1c8"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-file-word:before{content:"\f1c2"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-extinguisher:before{content:"\f134"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-fish:before{content:"\f578"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-florin-sign:before{content:"\e184"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-folder-tree:before{content:"\f802"}.fa-font:before{content:"\f031"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-franc-sign:before{content:"\e18f"}.fa-frog:before{content:"\f52e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-g:before{content:"G"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-glasses:before{content:"\f530"}.fa-globe:before{content:"\f0ac"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-greater-than:before{content:">"}.fa-greater-than-equal:before{content:"\f532"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-guarani-sign:before{content:"\e19a"}.fa-guitar:before{content:"\f7a6"}.fa-gun:before{content:"\e19b"}.fa-h:before{content:"H"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-hands-clapping:before{content:"\e1a8"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-handshake:before{content:"\f2b5"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-hashtag:before{content:"#"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-highlighter:before{content:"\f591"}.fa-hippo:before{content:"\f6ed"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hourglass-2:before,.fa-hourglass-half:before,.fa-hourglass:before{content:"\f254"}.fa-hourglass-empty:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-house-chimney-user:before{content:"\e065"}.fa-house-chimney-window:before{content:"\e00d"}.fa-house-crack:before{content:"\e3b1"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-house-medical:before{content:"\e3b2"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-i:before{content:"I"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-images:before{content:"\f302"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-italic:before{content:"\f033"}.fa-j:before{content:"J"}.fa-jedi:before{content:"\f669"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-joint:before{content:"\f595"}.fa-k:before{content:"K"}.fa-kaaba:before{content:"\f66b"}.fa-key:before{content:"\f084"}.fa-keyboard:before{content:"\f11c"}.fa-khanda:before{content:"\f66d"}.fa-kip-sign:before{content:"\e1c4"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-kiwi-bird:before{content:"\f535"}.fa-l:before{content:"L"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-medical:before{content:"\f812"}.fa-lari-sign:before{content:"\e1c8"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-lemon:before{content:"\f094"}.fa-less-than:before{content:"<"}.fa-less-than-equal:before{content:"\f537"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-lira-sign:before{content:"\f195"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-location-arrow:before{content:"\f124"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-m:before{content:"M"}.fa-magnet:before{content:"\f076"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-manat-sign:before{content:"\e1d5"}.fa-map:before{content:"\f279"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-pin:before{content:"\f276"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-and-venus:before{content:"\f224"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-mask:before{content:"\f6fa"}.fa-mask-face:before{content:"\e1d7"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-medal:before{content:"\f5a2"}.fa-memory:before{content:"\f538"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-meteor:before{content:"\f753"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-mill-sign:before{content:"\e1ed"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-mitten:before{content:"\f7b5"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-mobile-button:before{content:"\f10b"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mug-hot:before{content:"\f7b6"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-music:before{content:"\f001"}.fa-n:before{content:"N"}.fa-naira-sign:before{content:"\e1f6"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-not-equal:before{content:"\f53e"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-notes-medical:before{content:"\f481"}.fa-o:before{content:"O"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-oil-can:before{content:"\f613"}.fa-om:before{content:"\f679"}.fa-otter:before{content:"\f700"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-p:before{content:"P"}.fa-pager:before{content:"\f815"}.fa-paint-roller:before{content:"\f5aa"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-palette:before{content:"\f53f"}.fa-pallet:before{content:"\f482"}.fa-panorama:before{content:"\e209"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-passport:before{content:"\f5ab"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-pause:before{content:"\f04c"}.fa-paw:before{content:"\f1b0"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before,.fa-percentage:before{content:"%"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-person-booth:before{content:"\f756"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-peseta-sign:before{content:"\e221"}.fa-peso-sign:before{content:"\e222"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-plug:before{content:"\f1e6"}.fa-add:before,.fa-plus:before{content:"+"}.fa-plus-minus:before{content:"\e43c"}.fa-podcast:before{content:"\f2ce"}.fa-poo:before{content:"\f2fe"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-power-off:before{content:"\f011"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-puzzle-piece:before{content:"\f12e"}.fa-q:before{content:"Q"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"?"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-r:before{content:"R"}.fa-radiation:before{content:"\f7b9"}.fa-rainbow:before{content:"\f75b"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-recycle:before{content:"\f1b8"}.fa-registered:before{content:"\f25d"}.fa-repeat:before{content:"\f363"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-republican:before{content:"\f75e"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-ribbon:before{content:"\f4d6"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-route:before{content:"\f4d7"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-rupiah-sign:before{content:"\e23d"}.fa-s:before{content:"S"}.fa-sailboat:before{content:"\e445"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-school:before{content:"\f549"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-screwdriver:before{content:"\f54a"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-scroll:before{content:"\f70e"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-sd-card:before{content:"\f7c2"}.fa-section:before{content:"\e447"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-server:before{content:"\f233"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-shield:before{content:"\f132"}.fa-shield-alt:before,.fa-shield-blank:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-shoe-prints:before{content:"\f54b"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-shower:before{content:"\f2cc"}.fa-shrimp:before{content:"\e448"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-sim-card:before{content:"\f7c4"}.fa-sink:before{content:"\e06d"}.fa-sitemap:before{content:"\f0e8"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-spa:before{content:"\f5bb"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-spray-can:before{content:"\f5bd"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-square:before{content:"\f0c8"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-square-full:before{content:"\f45c"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-stairs:before{content:"\e289"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-stethoscope:before{content:"\f0f1"}.fa-stop:before{content:"\f04d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-slash:before{content:"\e071"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stroopwafel:before{content:"\f551"}.fa-subscript:before{content:"\f12c"}.fa-suitcase:before{content:"\f0f2"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superscript:before{content:"\f12b"}.fa-swatchbook:before{content:"\f5c3"}.fa-synagogue:before{content:"\f69b"}.fa-syringe:before{content:"\f48e"}.fa-t:before{content:"T"}.fa-table:before{content:"\f0ce"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-tablet-button:before{content:"\f10a"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-text-width:before{content:"\f035"}.fa-thermometer:before{content:"\f491"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-ticket:before{content:"\f145"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-timeline:before{content:"\e29c"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tooth:before{content:"\f5c9"}.fa-torii-gate:before{content:"\f6a1"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-tractor:before{content:"\f722"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-train-tram:before,.fa-tram:before{content:"\f7da"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-u:before{content:"U"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-universal-access:before{content:"\f29a"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-upload:before{content:"\f093"}.fa-user:before{content:"\f007"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-clock:before{content:"\f4fd"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-user-graduate:before{content:"\f501"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-user-injured:before{content:"\f728"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-user-lock:before{content:"\f502"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-v:before{content:"V"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-vault:before{content:"\e2c5"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-virus:before{content:"\e074"}.fa-virus-covid:before{content:"\e4a8"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-volume-off:before{content:"\f026"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-vr-cardboard:before{content:"\f729"}.fa-w:before{content:"W"}.fa-wallet:before{content:"\f555"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-wand-sparkles:before{content:"\f72b"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-wave-square:before{content:"\f83e"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-wheelchair:before{content:"\f193"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-wind:before{content:"\f72e"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-wrench:before{content:"\f0ad"}.fa-x:before{content:"X"}.fa-x-ray:before{content:"\f497"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-y:before{content:"Y"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-z:before{content:"Z"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url("./media/fa-brands-400-LVJDN62F.woff2") format("woff2"),url("./media/fa-brands-400-D7ILJVZN.ttf") format("truetype")}.fa-brands,.fab{font-family:"Font Awesome 6 Brands";font-weight:400}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-alipay:before{content:"\f642"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-amilia:before{content:"\f36d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-pay:before{content:"\f415"}.fa-artstation:before{content:"\f77a"}.fa-asymmetrik:before{content:"\f372"}.fa-atlassian:before{content:"\f77b"}.fa-audible:before{content:"\f373"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-aws:before{content:"\f375"}.fa-bandcamp:before{content:"\f2d5"}.fa-battle-net:before{content:"\f835"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bilibili:before{content:"\e3d9"}.fa-bimobject:before{content:"\f378"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bootstrap:before{content:"\f836"}.fa-bots:before{content:"\e340"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-buromobelexperte:before{content:"\f37f"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cmplid:before{content:"\e360"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cotton-bureau:before{content:"\f89e"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-critical-role:before{content:"\f6c9"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dhl:before{content:"\f790"}.fa-diaspora:before{content:"\f791"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-draft2digital:before{content:"\f396"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drupal:before{content:"\f1a9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-elementor:before{content:"\f430"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-etsy:before{content:"\f2d7"}.fa-evernote:before{content:"\f839"}.fa-expeditedssl:before{content:"\f23e"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-figma:before{content:"\f799"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-fly:before{content:"\f417"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-fulcrum:before{content:"\f50b"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-gofore:before{content:"\f3a7"}.fa-golang:before{content:"\e40f"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-gulp:before{content:"\f3ae"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hashnode:before{content:"\e499"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-hive:before{content:"\e07f"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-hotjar:before{content:"\f3b1"}.fa-houzz:before{content:"\f27c"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-ideal:before{content:"\e013"}.fa-imdb:before{content:"\f2d8"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joomla:before{content:"\f1aa"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaggle:before{content:"\f5fa"}.fa-keybase:before{content:"\f4f5"}.fa-keycdn:before{content:"\f3ba"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-korvue:before{content:"\f42f"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-leanpub:before{content:"\f212"}.fa-less:before{content:"\f41d"}.fa-line:before{content:"\f3c0"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-mailchimp:before{content:"\f59e"}.fa-mandalorian:before{content:"\f50f"}.fa-markdown:before{content:"\f60f"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medapps:before{content:"\f3c6"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-mendeley:before{content:"\f7b3"}.fa-microblog:before{content:"\e01a"}.fa-microsoft:before{content:"\f3ca"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-old-republic:before{content:"\f510"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-padlet:before{content:"\e4a0"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-palfed:before{content:"\f3d8"}.fa-patreon:before{content:"\f3d9"}.fa-paypal:before{content:"\f1ed"}.fa-perbyte:before{content:"\e083"}.fa-periscope:before{content:"\f3da"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pix:before{content:"\e43a"}.fa-playstation:before{content:"\f3df"}.fa-product-hunt:before{content:"\f288"}.fa-pushed:before{content:"\f3e1"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-r-project:before{content:"\f4f7"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-renren:before{content:"\f18b"}.fa-replyd:before{content:"\f3e6"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-rev:before{content:"\f5b2"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-rust:before{content:"\e07a"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-schlix:before{content:"\f3ea"}.fa-scribd:before{content:"\f28a"}.fa-searchengin:before{content:"\f3eb"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-servicestack:before{content:"\f3ec"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shopify:before{content:"\e057"}.fa-shopware:before{content:"\f5b5"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sith:before{content:"\f512"}.fa-sitrox:before{content:"\e44a"}.fa-sketch:before{content:"\f7c6"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-slideshare:before{content:"\f1e7"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-square:before{content:"\f2ad"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spotify:before{content:"\f1bc"}.fa-square-font-awesome:before{content:"\f425"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-sticker-mule:before{content:"\f3f7"}.fa-strava:before{content:"\f428"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-superpowers:before{content:"\f2dd"}.fa-supple:before{content:"\f3f9"}.fa-suse:before{content:"\f7d6"}.fa-swift:before{content:"\f8e1"}.fa-symfony:before{content:"\f83d"}.fa-teamspeak:before{content:"\f4f9"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-the-red-yeti:before{content:"\f69d"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-think-peaks:before{content:"\f731"}.fa-tiktok:before{content:"\e07b"}.fa-trade-federation:before{content:"\f513"}.fa-trello:before{content:"\f181"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-uncharted:before{content:"\e084"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-vaadin:before{content:"\f408"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-viber:before{content:"\f409"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-vuejs:before{content:"\f41f"}.fa-watchman-monitoring:before{content:"\e087"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-whmcs:before{content:"\f40d"}.fa-wikipedia-w:before{content:"\f266"}.fa-windows:before{content:"\f17a"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url("./media/fa-regular-400-MSZXGDVO.woff2") format("woff2"),url("./media/fa-regular-400-SWUKRL5F.ttf") format("truetype")}.fa-regular,.far{font-family:"Font Awesome 6 Free";font-weight:400}:host,:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url("./media/fa-solid-900-MEK224IN.woff2") format("woff2"),url("./media/fa-solid-900-6AQDZ7HZ.ttf") format("truetype")}.fa-solid,.fas{font-family:"Font Awesome 6 Free";font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url("./media/fa-brands-400-LVJDN62F.woff2") format("woff2"),url("./media/fa-brands-400-D7ILJVZN.ttf") format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url("./media/fa-solid-900-MEK224IN.woff2") format("woff2"),url("./media/fa-solid-900-6AQDZ7HZ.ttf") format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url("./media/fa-regular-400-MSZXGDVO.woff2") format("woff2"),url("./media/fa-regular-400-SWUKRL5F.ttf") format("truetype")}@font-face{font-family:FontAwesome;font-display:block;src:url("./media/fa-solid-900-MEK224IN.woff2") format("woff2"),url("./media/fa-solid-900-6AQDZ7HZ.ttf") format("truetype")}@font-face{font-family:FontAwesome;font-display:block;src:url("./media/fa-brands-400-LVJDN62F.woff2") format("woff2"),url("./media/fa-brands-400-D7ILJVZN.ttf") format("truetype")}@font-face{font-family:FontAwesome;font-display:block;src:url("./media/fa-regular-400-MSZXGDVO.woff2") format("woff2"),url("./media/fa-regular-400-SWUKRL5F.ttf") format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:FontAwesome;font-display:block;src:url("./media/fa-v4compatibility-Y4OS5Y3J.woff2") format("woff2"),url("./media/fa-v4compatibility-4EBDKFJT.ttf") format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f250,u+f252,u+f27a}@font-face{font-family:Open Sans;font-style:normal;font-weight:300;src:url("./media/open-sans-v27-latin-300-3K33CZTH.eot");src:local(""),url("./media/open-sans-v27-latin-300-3K33CZTH.eot?#iefix") format("embedded-opentype"),url("./media/open-sans-v27-latin-300-SGSQWT4E.woff2") format("woff2"),url("./media/open-sans-v27-latin-300-GN2OJ7PN.woff") format("woff"),url("./media/open-sans-v27-latin-300-JO4FCBWF.ttf") format("truetype"),url("./media/open-sans-v27-latin-300-SXTIAN3M.svg#OpenSans") format("svg")}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;src:url("./media/open-sans-v27-latin-regular-NOTFULT5.eot");src:local(""),url("./media/open-sans-v27-latin-regular-NOTFULT5.eot?#iefix") format("embedded-opentype"),url("./media/open-sans-v27-latin-regular-IWTNICQR.woff2") format("woff2"),url("./media/open-sans-v27-latin-regular-OST77QDO.woff") format("woff"),url("./media/open-sans-v27-latin-regular-MZHZAVIX.ttf") format("truetype"),url("./media/open-sans-v27-latin-regular-GK7QWCTL.svg#OpenSans") format("svg")}@font-face{font-family:Open Sans;font-style:normal;font-weight:700;src:url("./media/open-sans-v27-latin-700-KVRNQACR.eot");src:local(""),url("./media/open-sans-v27-latin-700-KVRNQACR.eot?#iefix") format("embedded-opentype"),url("./media/open-sans-v27-latin-700-3746WH43.woff2") format("woff2"),url("./media/open-sans-v27-latin-700-GFFV5PH2.woff") format("woff"),url("./media/open-sans-v27-latin-700-H7XDDMOV.ttf") format("truetype"),url("./media/open-sans-v27-latin-700-E52NVK65.svg#OpenSans") format("svg")}:root{--rg-primary-color: #20A0D2;--rg-primary-hover-color: #1C8EB7;--rg-gradient-from: #1c7ed6;--rg-gradient-to: #23b8cf;--rg-gradient-hover-from: #1A6FBA;--rg-gradient-hover-to: #1EA1B5}html,body{font-family:Open Sans,sans-serif;font-weight:300;scroll-padding-top:75px}body{padding-top:80px}h1,h2,h3,h4,h5,h6{font-weight:300}.pro-button{color:#fff!important;background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%);padding:3px 8px;border-radius:10px;font-weight:700;margin-top:-3px;display:inline-block}.pro-button-tiny{font-size:.8rem;padding:2px 6px}.pro-text{color:var(--rg-primary-color)}.line{width:250px;max-width:80%;height:2px;margin-top:18px}.btn-primary{background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%);border-color:var(--rg-primary-color)}.btn-primary:hover{background-color:var(--rg-primary-hover-color);background-image:linear-gradient(50deg,var(--rg-gradient-hover-from) 0%,var(--rg-gradient-hover-from) 100%);border-color:var(--rg-primary-hover-color)}input.ng-invalid.ng-touched,select.ng-invalid.ng-touched,textarea.ng-invalid.ng-touched{border-color:#c00;background-color:#ffc4c4}.bg-light{background-color:#e9e9e9!important}.navbar-light .navbar-toggler{border:none}.githubheart{color:#ec6cb9}.required{color:var(--rg-primary-hover-color)} diff --git a/docs/styles-I3KLSACW.css b/docs/styles-I3KLSACW.css new file mode 100644 index 00000000..dac15e48 --- /dev/null +++ b/docs/styles-I3KLSACW.css @@ -0,0 +1 @@ +@charset "UTF-8";:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, .75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, .5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, .175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(13, 110, 253, .25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, .75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, .5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, .15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,:after,:before{box-sizing:border-box}@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media(min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media(min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media(min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media(min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media(min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media(min-width:1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media(min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media(min-width:1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media(min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media(min-width:1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@media(min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"\2014\a0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media(min-width:576px){.container,.container-sm{max-width:540px}}@media(min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media(min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media(min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media(min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media(min-width:576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media(min-width:768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media(min-width:992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media(min-width:1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media(min-width:1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), .05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), .1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0d6efd40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media(prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>textarea:focus~label:after,.form-floating>textarea:not(:placeholder-shown)~label:after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label:after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1 * var(--bs-border-width));border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3.75rem + 1.5em)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3.75rem + 1.5em)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:.75rem;--bs-btn-padding-y:.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, .15),0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity:.65;--bs-btn-focus-box-shadow:0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:.25rem;--bs-btn-padding-x:.5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:.5rem;--bs-dropdown-spacer:.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, .15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(-1 * var(--bs-border-width))}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(-1 * var(--bs-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:.5rem;--bs-navbar-toggler-padding-y:.25rem;--bs-navbar-toggler-padding-x:.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:.25rem;--bs-navbar-toggler-transition:box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media(prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media(min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, .55);--bs-navbar-hover-color:rgba(255, 255, 255, .75);--bs-navbar-disabled-color:rgba(255, 255, 255, .25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media(min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child)>.card-header,.card-group>.card:not(:last-child)>.card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-footer,.card-group>.card:not(:last-child)>.card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child)>.card-header,.card-group>.card:not(:first-child)>.card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-footer,.card-group>.card:not(:first-child)>.card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform .2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media(prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media(prefers-reduced-motion:reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:.75rem;--bs-pagination-padding-y:.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:.5rem;--bs-pagination-padding-y:.25rem;--bs-pagination-font-size:.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:.65em;--bs-badge-padding-y:.35em;--bs-badge-font-size:.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media(prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):focus,.list-group-item-action:not(.active):hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media(min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media(min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--bs-btn-close-opacity:.5;--bs-btn-close-hover-opacity:.75;--bs-btn-close-focus-shadow:0 0 0 .25rem rgba(13, 110, 253, .25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:.25;box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:.75rem;--bs-toast-padding-y:.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:.5rem;--bs-modal-color:var(--bs-body-color);--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}@media(prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media(min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media(min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media(min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media(max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:.5rem;--bs-tooltip-padding-y:.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:.9;--bs-tooltip-arrow-width:.8rem;--bs-tooltip-arrow-height:.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,.bs-tooltip-top .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before,.bs-tooltip-end .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before,.bs-tooltip-bottom .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before,.bs-tooltip-start .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:after,.popover .popover-arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-top>.popover-arrow:before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-top>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-end>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-end>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-start>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-start>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translate(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;filter:var(--bs-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-border-width:.25em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media(prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform .3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media(max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width:575.98px)and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media(max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media(min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width:767.98px)and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media(max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media(min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width:991.98px)and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media(max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media(min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width:1199.98px)and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media(max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media(min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media(max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media(max-width:1399.98px)and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media(max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media(min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media(prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media(prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media(min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media(min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media(min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media(min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media(min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:.1}.border-opacity-25{--bs-border-opacity:.25}.border-opacity-50{--bs-border-opacity:.5}.border-opacity-75{--bs-border-opacity:.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:#00000080!important}.text-white-50{--bs-text-opacity:1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:.25}.text-opacity-50{--bs-text-opacity:.5}.text-opacity-75{--bs-text-opacity:.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity:.1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity:.25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity:.5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity:.75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:.1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:.25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:.5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:.75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:.1}.bg-opacity-25{--bs-bg-opacity:.25}.bg-opacity-50{--bs-bg-opacity:.5}.bg-opacity-75{--bs-bg-opacity:.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media(min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media(min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media(min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media(min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media(min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media(min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media(prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-0:before{content:"0"}.fa-1:before{content:"1"}.fa-2:before{content:"2"}.fa-3:before{content:"3"}.fa-4:before{content:"4"}.fa-5:before{content:"5"}.fa-6:before{content:"6"}.fa-7:before{content:"7"}.fa-8:before{content:"8"}.fa-9:before{content:"9"}.fa-a:before{content:"A"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-anchor:before{content:"\f13d"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-ankh:before{content:"\f644"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-archway:before{content:"\f557"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-arrow-trend-down:before{content:"\e097"}.fa-arrow-trend-up:before{content:"\e098"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-asterisk:before{content:"*"}.fa-at:before{content:"@"}.fa-atom:before{content:"\f5d2"}.fa-audio-description:before{content:"\f29e"}.fa-austral-sign:before{content:"\e0a9"}.fa-award:before{content:"\f559"}.fa-b:before{content:"B"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-backward:before{content:"\f04a"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-bahai:before{content:"\f666"}.fa-baht-sign:before{content:"\e0ac"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-barcode:before{content:"\f02a"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-bell:before{content:"\f0f3"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bicycle:before{content:"\f206"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blog:before{content:"\f781"}.fa-bold:before{content:"\f032"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-bookmark:before{content:"\f02e"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broom:before{content:"\f51a"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-brush:before{content:"\f55d"}.fa-bug:before{content:"\f188"}.fa-bug-slash:before{content:"\e490"}.fa-building:before{content:"\f1ad"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-c:before{content:"C"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-week:before{content:"\f784"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-camera-rotate:before{content:"\e0d8"}.fa-campground:before{content:"\f6bb"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-cart-plus:before{content:"\f217"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cedi-sign:before{content:"\e0df"}.fa-cent-sign:before{content:"\e3f5"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-charging-station:before{content:"\f5e7"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-chart-column:before{content:"\e0e3"}.fa-chart-gantt:before{content:"\e0e4"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-double:before{content:"\f560"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-circle-notch:before{content:"\f1ce"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-city:before{content:"\f64f"}.fa-clapperboard:before{content:"\e131"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-clover:before{content:"\e139"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-code-commit:before{content:"\f386"}.fa-code-compare:before{content:"\e13a"}.fa-code-fork:before{content:"\e13b"}.fa-code-merge:before{content:"\f387"}.fa-code-pull-request:before{content:"\e13c"}.fa-coins:before{content:"\f51e"}.fa-colon-sign:before{content:"\e140"}.fa-comment:before{content:"\f075"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-compress:before{content:"\f066"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-d:before{content:"D"}.fa-database:before{content:"\f1c0"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-democrat:before{content:"\f747"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-dharmachakra:before{content:"\f655"}.fa-diagram-next:before{content:"\e476"}.fa-diagram-predecessor:before{content:"\e477"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-diagram-successor:before{content:"\e47a"}.fa-diamond:before{content:"\f219"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dna:before{content:"\f471"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"$"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-dong-sign:before{content:"\e169"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dove:before{content:"\f4ba"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-download:before{content:"\f019"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-e:before{content:"E"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elevator:before{content:"\e16d"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-equals:before{content:"="}.fa-eraser:before{content:"\f12d"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-exclamation:before{content:"!"}.fa-expand:before{content:"\f065"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-eye-slash:before{content:"\f070"}.fa-f:before{content:"F"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-fan:before{content:"\f863"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-file:before{content:"\f15b"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-excel:before{content:"\f1c3"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-file-medical:before{content:"\f477"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-video:before{content:"\f1c8"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-file-word:before{content:"\f1c2"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-extinguisher:before{content:"\f134"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-fish:before{content:"\f578"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-florin-sign:before{content:"\e184"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-folder-tree:before{content:"\f802"}.fa-font:before{content:"\f031"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-franc-sign:before{content:"\e18f"}.fa-frog:before{content:"\f52e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-g:before{content:"G"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-glasses:before{content:"\f530"}.fa-globe:before{content:"\f0ac"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-greater-than:before{content:">"}.fa-greater-than-equal:before{content:"\f532"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-guarani-sign:before{content:"\e19a"}.fa-guitar:before{content:"\f7a6"}.fa-gun:before{content:"\e19b"}.fa-h:before{content:"H"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-hands-clapping:before{content:"\e1a8"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-handshake:before{content:"\f2b5"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-hashtag:before{content:"#"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-highlighter:before{content:"\f591"}.fa-hippo:before{content:"\f6ed"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hourglass-2:before,.fa-hourglass-half:before,.fa-hourglass:before{content:"\f254"}.fa-hourglass-empty:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-house-chimney-user:before{content:"\e065"}.fa-house-chimney-window:before{content:"\e00d"}.fa-house-crack:before{content:"\e3b1"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-house-medical:before{content:"\e3b2"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-i:before{content:"I"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-images:before{content:"\f302"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-italic:before{content:"\f033"}.fa-j:before{content:"J"}.fa-jedi:before{content:"\f669"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-joint:before{content:"\f595"}.fa-k:before{content:"K"}.fa-kaaba:before{content:"\f66b"}.fa-key:before{content:"\f084"}.fa-keyboard:before{content:"\f11c"}.fa-khanda:before{content:"\f66d"}.fa-kip-sign:before{content:"\e1c4"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-kiwi-bird:before{content:"\f535"}.fa-l:before{content:"L"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-medical:before{content:"\f812"}.fa-lari-sign:before{content:"\e1c8"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-lemon:before{content:"\f094"}.fa-less-than:before{content:"<"}.fa-less-than-equal:before{content:"\f537"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-lira-sign:before{content:"\f195"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-location-arrow:before{content:"\f124"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-m:before{content:"M"}.fa-magnet:before{content:"\f076"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-manat-sign:before{content:"\e1d5"}.fa-map:before{content:"\f279"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-pin:before{content:"\f276"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-and-venus:before{content:"\f224"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-mask:before{content:"\f6fa"}.fa-mask-face:before{content:"\e1d7"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-medal:before{content:"\f5a2"}.fa-memory:before{content:"\f538"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-meteor:before{content:"\f753"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-mill-sign:before{content:"\e1ed"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-mitten:before{content:"\f7b5"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-mobile-button:before{content:"\f10b"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mug-hot:before{content:"\f7b6"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-music:before{content:"\f001"}.fa-n:before{content:"N"}.fa-naira-sign:before{content:"\e1f6"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-not-equal:before{content:"\f53e"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-notes-medical:before{content:"\f481"}.fa-o:before{content:"O"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-oil-can:before{content:"\f613"}.fa-om:before{content:"\f679"}.fa-otter:before{content:"\f700"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-p:before{content:"P"}.fa-pager:before{content:"\f815"}.fa-paint-roller:before{content:"\f5aa"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-palette:before{content:"\f53f"}.fa-pallet:before{content:"\f482"}.fa-panorama:before{content:"\e209"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-passport:before{content:"\f5ab"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-pause:before{content:"\f04c"}.fa-paw:before{content:"\f1b0"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before,.fa-percentage:before{content:"%"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-person-booth:before{content:"\f756"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-peseta-sign:before{content:"\e221"}.fa-peso-sign:before{content:"\e222"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-plug:before{content:"\f1e6"}.fa-add:before,.fa-plus:before{content:"+"}.fa-plus-minus:before{content:"\e43c"}.fa-podcast:before{content:"\f2ce"}.fa-poo:before{content:"\f2fe"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-power-off:before{content:"\f011"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-puzzle-piece:before{content:"\f12e"}.fa-q:before{content:"Q"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"?"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-r:before{content:"R"}.fa-radiation:before{content:"\f7b9"}.fa-rainbow:before{content:"\f75b"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-recycle:before{content:"\f1b8"}.fa-registered:before{content:"\f25d"}.fa-repeat:before{content:"\f363"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-republican:before{content:"\f75e"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-ribbon:before{content:"\f4d6"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-route:before{content:"\f4d7"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-rupiah-sign:before{content:"\e23d"}.fa-s:before{content:"S"}.fa-sailboat:before{content:"\e445"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-school:before{content:"\f549"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-screwdriver:before{content:"\f54a"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-scroll:before{content:"\f70e"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-sd-card:before{content:"\f7c2"}.fa-section:before{content:"\e447"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-server:before{content:"\f233"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-shield:before{content:"\f132"}.fa-shield-alt:before,.fa-shield-blank:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-shoe-prints:before{content:"\f54b"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-shower:before{content:"\f2cc"}.fa-shrimp:before{content:"\e448"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-sim-card:before{content:"\f7c4"}.fa-sink:before{content:"\e06d"}.fa-sitemap:before{content:"\f0e8"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-spa:before{content:"\f5bb"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-spray-can:before{content:"\f5bd"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-square:before{content:"\f0c8"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-square-full:before{content:"\f45c"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-stairs:before{content:"\e289"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-stethoscope:before{content:"\f0f1"}.fa-stop:before{content:"\f04d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-slash:before{content:"\e071"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stroopwafel:before{content:"\f551"}.fa-subscript:before{content:"\f12c"}.fa-suitcase:before{content:"\f0f2"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superscript:before{content:"\f12b"}.fa-swatchbook:before{content:"\f5c3"}.fa-synagogue:before{content:"\f69b"}.fa-syringe:before{content:"\f48e"}.fa-t:before{content:"T"}.fa-table:before{content:"\f0ce"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-tablet-button:before{content:"\f10a"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-text-width:before{content:"\f035"}.fa-thermometer:before{content:"\f491"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-ticket:before{content:"\f145"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-timeline:before{content:"\e29c"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tooth:before{content:"\f5c9"}.fa-torii-gate:before{content:"\f6a1"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-tractor:before{content:"\f722"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-train-tram:before,.fa-tram:before{content:"\f7da"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-u:before{content:"U"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-universal-access:before{content:"\f29a"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-upload:before{content:"\f093"}.fa-user:before{content:"\f007"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-clock:before{content:"\f4fd"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-user-graduate:before{content:"\f501"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-user-injured:before{content:"\f728"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-user-lock:before{content:"\f502"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-v:before{content:"V"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-vault:before{content:"\e2c5"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-virus:before{content:"\e074"}.fa-virus-covid:before{content:"\e4a8"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-volume-off:before{content:"\f026"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-vr-cardboard:before{content:"\f729"}.fa-w:before{content:"W"}.fa-wallet:before{content:"\f555"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-wand-sparkles:before{content:"\f72b"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-wave-square:before{content:"\f83e"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-wheelchair:before{content:"\f193"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-wind:before{content:"\f72e"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-wrench:before{content:"\f0ad"}.fa-x:before{content:"X"}.fa-x-ray:before{content:"\f497"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-y:before{content:"Y"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-z:before{content:"Z"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url("./media/fa-brands-400-LVJDN62F.woff2") format("woff2"),url("./media/fa-brands-400-D7ILJVZN.ttf") format("truetype")}.fa-brands,.fab{font-family:"Font Awesome 6 Brands";font-weight:400}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-alipay:before{content:"\f642"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-amilia:before{content:"\f36d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-pay:before{content:"\f415"}.fa-artstation:before{content:"\f77a"}.fa-asymmetrik:before{content:"\f372"}.fa-atlassian:before{content:"\f77b"}.fa-audible:before{content:"\f373"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-aws:before{content:"\f375"}.fa-bandcamp:before{content:"\f2d5"}.fa-battle-net:before{content:"\f835"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bilibili:before{content:"\e3d9"}.fa-bimobject:before{content:"\f378"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bootstrap:before{content:"\f836"}.fa-bots:before{content:"\e340"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-buromobelexperte:before{content:"\f37f"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cmplid:before{content:"\e360"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cotton-bureau:before{content:"\f89e"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-critical-role:before{content:"\f6c9"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dhl:before{content:"\f790"}.fa-diaspora:before{content:"\f791"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-draft2digital:before{content:"\f396"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drupal:before{content:"\f1a9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-elementor:before{content:"\f430"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-etsy:before{content:"\f2d7"}.fa-evernote:before{content:"\f839"}.fa-expeditedssl:before{content:"\f23e"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-figma:before{content:"\f799"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-fly:before{content:"\f417"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-fulcrum:before{content:"\f50b"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-gofore:before{content:"\f3a7"}.fa-golang:before{content:"\e40f"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-gulp:before{content:"\f3ae"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hashnode:before{content:"\e499"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-hive:before{content:"\e07f"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-hotjar:before{content:"\f3b1"}.fa-houzz:before{content:"\f27c"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-ideal:before{content:"\e013"}.fa-imdb:before{content:"\f2d8"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joomla:before{content:"\f1aa"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaggle:before{content:"\f5fa"}.fa-keybase:before{content:"\f4f5"}.fa-keycdn:before{content:"\f3ba"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-korvue:before{content:"\f42f"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-leanpub:before{content:"\f212"}.fa-less:before{content:"\f41d"}.fa-line:before{content:"\f3c0"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-mailchimp:before{content:"\f59e"}.fa-mandalorian:before{content:"\f50f"}.fa-markdown:before{content:"\f60f"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medapps:before{content:"\f3c6"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-mendeley:before{content:"\f7b3"}.fa-microblog:before{content:"\e01a"}.fa-microsoft:before{content:"\f3ca"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-old-republic:before{content:"\f510"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-padlet:before{content:"\e4a0"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-palfed:before{content:"\f3d8"}.fa-patreon:before{content:"\f3d9"}.fa-paypal:before{content:"\f1ed"}.fa-perbyte:before{content:"\e083"}.fa-periscope:before{content:"\f3da"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pix:before{content:"\e43a"}.fa-playstation:before{content:"\f3df"}.fa-product-hunt:before{content:"\f288"}.fa-pushed:before{content:"\f3e1"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-r-project:before{content:"\f4f7"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-renren:before{content:"\f18b"}.fa-replyd:before{content:"\f3e6"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-rev:before{content:"\f5b2"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-rust:before{content:"\e07a"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-schlix:before{content:"\f3ea"}.fa-scribd:before{content:"\f28a"}.fa-searchengin:before{content:"\f3eb"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-servicestack:before{content:"\f3ec"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shopify:before{content:"\e057"}.fa-shopware:before{content:"\f5b5"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sith:before{content:"\f512"}.fa-sitrox:before{content:"\e44a"}.fa-sketch:before{content:"\f7c6"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-slideshare:before{content:"\f1e7"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-square:before{content:"\f2ad"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spotify:before{content:"\f1bc"}.fa-square-font-awesome:before{content:"\f425"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-sticker-mule:before{content:"\f3f7"}.fa-strava:before{content:"\f428"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-superpowers:before{content:"\f2dd"}.fa-supple:before{content:"\f3f9"}.fa-suse:before{content:"\f7d6"}.fa-swift:before{content:"\f8e1"}.fa-symfony:before{content:"\f83d"}.fa-teamspeak:before{content:"\f4f9"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-the-red-yeti:before{content:"\f69d"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-think-peaks:before{content:"\f731"}.fa-tiktok:before{content:"\e07b"}.fa-trade-federation:before{content:"\f513"}.fa-trello:before{content:"\f181"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-uncharted:before{content:"\e084"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-vaadin:before{content:"\f408"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-viber:before{content:"\f409"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-vuejs:before{content:"\f41f"}.fa-watchman-monitoring:before{content:"\e087"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-whmcs:before{content:"\f40d"}.fa-wikipedia-w:before{content:"\f266"}.fa-windows:before{content:"\f17a"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url("./media/fa-regular-400-MSZXGDVO.woff2") format("woff2"),url("./media/fa-regular-400-SWUKRL5F.ttf") format("truetype")}.fa-regular,.far{font-family:"Font Awesome 6 Free";font-weight:400}:host,:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url("./media/fa-solid-900-MEK224IN.woff2") format("woff2"),url("./media/fa-solid-900-6AQDZ7HZ.ttf") format("truetype")}.fa-solid,.fas{font-family:"Font Awesome 6 Free";font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url("./media/fa-brands-400-LVJDN62F.woff2") format("woff2"),url("./media/fa-brands-400-D7ILJVZN.ttf") format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url("./media/fa-solid-900-MEK224IN.woff2") format("woff2"),url("./media/fa-solid-900-6AQDZ7HZ.ttf") format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url("./media/fa-regular-400-MSZXGDVO.woff2") format("woff2"),url("./media/fa-regular-400-SWUKRL5F.ttf") format("truetype")}@font-face{font-family:FontAwesome;font-display:block;src:url("./media/fa-solid-900-MEK224IN.woff2") format("woff2"),url("./media/fa-solid-900-6AQDZ7HZ.ttf") format("truetype")}@font-face{font-family:FontAwesome;font-display:block;src:url("./media/fa-brands-400-LVJDN62F.woff2") format("woff2"),url("./media/fa-brands-400-D7ILJVZN.ttf") format("truetype")}@font-face{font-family:FontAwesome;font-display:block;src:url("./media/fa-regular-400-MSZXGDVO.woff2") format("woff2"),url("./media/fa-regular-400-SWUKRL5F.ttf") format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:FontAwesome;font-display:block;src:url("./media/fa-v4compatibility-Y4OS5Y3J.woff2") format("woff2"),url("./media/fa-v4compatibility-4EBDKFJT.ttf") format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f250,u+f252,u+f27a}@font-face{font-family:Open Sans;font-style:normal;font-weight:300;src:url("./media/open-sans-v27-latin-300-3K33CZTH.eot");src:local(""),url("./media/open-sans-v27-latin-300-3K33CZTH.eot?#iefix") format("embedded-opentype"),url("./media/open-sans-v27-latin-300-SGSQWT4E.woff2") format("woff2"),url("./media/open-sans-v27-latin-300-GN2OJ7PN.woff") format("woff"),url("./media/open-sans-v27-latin-300-JO4FCBWF.ttf") format("truetype"),url("./media/open-sans-v27-latin-300-SXTIAN3M.svg#OpenSans") format("svg")}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;src:url("./media/open-sans-v27-latin-regular-NOTFULT5.eot");src:local(""),url("./media/open-sans-v27-latin-regular-NOTFULT5.eot?#iefix") format("embedded-opentype"),url("./media/open-sans-v27-latin-regular-IWTNICQR.woff2") format("woff2"),url("./media/open-sans-v27-latin-regular-OST77QDO.woff") format("woff"),url("./media/open-sans-v27-latin-regular-MZHZAVIX.ttf") format("truetype"),url("./media/open-sans-v27-latin-regular-GK7QWCTL.svg#OpenSans") format("svg")}@font-face{font-family:Open Sans;font-style:normal;font-weight:700;src:url("./media/open-sans-v27-latin-700-KVRNQACR.eot");src:local(""),url("./media/open-sans-v27-latin-700-KVRNQACR.eot?#iefix") format("embedded-opentype"),url("./media/open-sans-v27-latin-700-3746WH43.woff2") format("woff2"),url("./media/open-sans-v27-latin-700-GFFV5PH2.woff") format("woff"),url("./media/open-sans-v27-latin-700-H7XDDMOV.ttf") format("truetype"),url("./media/open-sans-v27-latin-700-E52NVK65.svg#OpenSans") format("svg")}:root{--rg-primary-color: #20A0D2;--rg-primary-hover-color: #1C8EB7;--rg-gradient-from: #1c7ed6;--rg-gradient-to: #23b8cf;--rg-gradient-hover-from: #1A6FBA;--rg-gradient-hover-to: #1EA1B5}html,body{font-family:Open Sans,sans-serif;font-weight:300;scroll-padding-top:75px}body{padding-top:80px}h1,h2,h3,h4,h5,h6{font-weight:300}.pro-button{color:#fff!important;background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%);padding:3px 8px;border-radius:10px;font-weight:700;margin-top:-3px;display:inline-block}.pro-button-tiny{font-size:.8rem;padding:2px 6px}.pro-text{color:var(--rg-primary-color)}.line{width:250px;max-width:80%;height:2px;margin-top:18px}.btn-primary{background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%);border-color:var(--rg-primary-color)}.btn-primary:hover{background-color:var(--rg-primary-hover-color);background-image:linear-gradient(50deg,var(--rg-gradient-hover-from) 0%,var(--rg-gradient-hover-from) 100%);border-color:var(--rg-primary-hover-color)}input.ng-invalid.ng-touched,select.ng-invalid.ng-touched,textarea.ng-invalid.ng-touched{border-color:#c00;background-color:#ffc4c4}.bg-light{background-color:#e9e9e9!important}.navbar-light .navbar-toggler{border:none}.githubheart{color:#ec6cb9}.required{color:var(--rg-primary-hover-color)} diff --git a/docs/usage.html b/docs/usage.html index b3193fa6..92b9a712 100644 --- a/docs/usage.html +++ b/docs/usage.html @@ -8,8 +8,8 @@ - + - + \ No newline at end of file diff --git a/global.json b/global.json index 5eac5439..0229f005 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "9.0.203", + "version": "10.0.100", "rollForward": "latestMajor" } } \ No newline at end of file diff --git a/src/AngularComponents/angular.json b/src/AngularComponents/angular.json index 6f668be4..d7bc4faf 100644 --- a/src/AngularComponents/angular.json +++ b/src/AngularComponents/angular.json @@ -110,5 +110,31 @@ }, "cli": { "analytics": false + }, + "schematics": { + "@schematics/angular:component": { + "type": "component" + }, + "@schematics/angular:directive": { + "type": "directive" + }, + "@schematics/angular:service": { + "type": "service" + }, + "@schematics/angular:guard": { + "typeSeparator": "." + }, + "@schematics/angular:interceptor": { + "typeSeparator": "." + }, + "@schematics/angular:module": { + "typeSeparator": "." + }, + "@schematics/angular:pipe": { + "typeSeparator": "." + }, + "@schematics/angular:resolver": { + "typeSeparator": "." + } } } diff --git a/src/AngularComponents/package-lock.json b/src/AngularComponents/package-lock.json index d9ca19aa..81aa7bd9 100644 --- a/src/AngularComponents/package-lock.json +++ b/src/AngularComponents/package-lock.json @@ -8,25 +8,234 @@ "name": "coverage-app", "version": "0.0.0", "dependencies": { - "@angular-slider/ngx-slider": "^19.0.0", - "@angular/animations": "^19.2.9", - "@angular/common": "^19.2.9", - "@angular/compiler": "^19.2.9", - "@angular/core": "^19.2.9", - "@angular/forms": "^19.2.9", - "@angular/platform-browser": "^19.2.9", - "@angular/platform-browser-dynamic": "^19.2.9", - "@angular/router": "^19.2.9", - "rxjs": "~7.8.1", + "@angular-slider/ngx-slider": "^20.0.0", + "@angular/animations": "^20.3.15", + "@angular/common": "^20.3.15", + "@angular/compiler": "^20.3.15", + "@angular/core": "^20.3.15", + "@angular/forms": "^20.3.15", + "@angular/platform-browser": "^20.3.15", + "@angular/platform-browser-dynamic": "^20.3.15", + "@angular/router": "^20.3.15", + "rxjs": "~7.8.2", "tslib": "^2.6.3", "zone.js": "~0.15.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^19.2.10", - "@angular/cli": "^19.2.10", - "@angular/compiler-cli": "^19.2.9", + "@angular-devkit/build-angular": "^20.3.12", + "@angular/cli": "^20.3.12", + "@angular/compiler-cli": "^20.3.15", "@types/node": "^12.11.1", - "typescript": "~5.5.3" + "typescript": "~5.8.3" + } + }, + "node_modules/@algolia/abtesting": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.1.0.tgz", + "integrity": "sha512-sEyWjw28a/9iluA37KLGu8vjxEIlb60uxznfTUmXImy7H5NvbpSO6yYgmgH5KiD7j+zTUUihiST0jEP12IoXow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-abtesting": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.35.0.tgz", + "integrity": "sha512-uUdHxbfHdoppDVflCHMxRlj49/IllPwwQ2cQ8DLC4LXr3kY96AHBpW0dMyi6ygkn2MtFCc6BxXCzr668ZRhLBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.35.0.tgz", + "integrity": "sha512-SunAgwa9CamLcRCPnPHx1V2uxdQwJGqb1crYrRWktWUdld0+B2KyakNEeVn5lln4VyeNtW17Ia7V7qBWyM/Skw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.35.0.tgz", + "integrity": "sha512-ipE0IuvHu/bg7TjT2s+187kz/E3h5ssfTtjpg1LbWMgxlgiaZIgTTbyynM7NfpSJSKsgQvCQxWjGUO51WSCu7w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.35.0.tgz", + "integrity": "sha512-UNbCXcBpqtzUucxExwTSfAe8gknAJ485NfPN6o1ziHm6nnxx97piIbcBQ3edw823Tej2Wxu1C0xBY06KgeZ7gA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.35.0.tgz", + "integrity": "sha512-/KWjttZ6UCStt4QnWoDAJ12cKlQ+fkpMtyPmBgSS2WThJQdSV/4UWcqCUqGH7YLbwlj3JjNirCu3Y7uRTClxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.35.0.tgz", + "integrity": "sha512-8oCuJCFf/71IYyvQQC+iu4kgViTODbXDk3m7yMctEncRSRV+u2RtDVlpGGfPlJQOrAY7OONwJlSHkmbbm2Kp/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.35.0.tgz", + "integrity": "sha512-FfmdHTrXhIduWyyuko1YTcGLuicVbhUyRjO3HbXE4aP655yKZgdTIfMhZ/V5VY9bHuxv/fGEh3Od1Lvv2ODNTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/ingestion": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.35.0.tgz", + "integrity": "sha512-gPzACem9IL1Co8mM1LKMhzn1aSJmp+Vp434An4C0OBY4uEJRcqsLN3uLBlY+bYvFg8C8ImwM9YRiKczJXRk0XA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/monitoring": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.35.0.tgz", + "integrity": "sha512-w9MGFLB6ashI8BGcQoVt7iLgDIJNCn4OIu0Q0giE3M2ItNrssvb8C0xuwJQyTy1OFZnemG0EB1OvXhIHOvQwWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.35.0.tgz", + "integrity": "sha512-AhrVgaaXAb8Ue0u2nuRWwugt0dL5UmRgS9LXe0Hhz493a8KFeZVUE56RGIV3hAa6tHzmAV7eIoqcWTQvxzlJeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.35.0.tgz", + "integrity": "sha512-diY415KLJZ6x1Kbwl9u96Jsz0OstE3asjXtJ9pmk1d+5gPuQ5jQyEsgC+WmEXzlec3iuVszm8AzNYYaqw6B+Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.35.0.tgz", + "integrity": "sha512-uydqnSmpAjrgo8bqhE9N1wgcB98psTRRQXcjc4izwMB7yRl9C8uuAQ/5YqRj04U0mMQ+fdu2fcNF6m9+Z1BzDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.35.0.tgz", + "integrity": "sha512-RgLX78ojYOrThJHrIiPzT4HW3yfQa0D7K+MQ81rhxqaNyNBu4F1r+72LNHYH/Z+y9I1Mrjrd/c/Ue5zfDgAEjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" } }, "node_modules/@ampproject/remapping": { @@ -34,6 +243,7 @@ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" @@ -43,112 +253,119 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1902.10", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1902.10.tgz", - "integrity": "sha512-Oa0mJi/SgBFLpZTzyO1KfkrS8dKvFnOl8pxJNb51s5i+yUSBNQOC7H6ulq4sSPjswzPe2vcizoKIxBkdLjwJDA==", + "version": "0.2003.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2003.12.tgz", + "integrity": "sha512-5H40lAFF4CKY32C4HOp6bTlOF1f4WsGCwe7FjFQp9A+T7yoCBiHpIWt2JKTwV4sBoTKVDZOnuf0GG+UVKjQT4A==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "19.2.10", - "rxjs": "7.8.1" + "@angular-devkit/core": "20.3.12", + "rxjs": "7.8.2" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } }, "node_modules/@angular-devkit/build-angular": { - "version": "19.2.10", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.2.10.tgz", - "integrity": "sha512-YaGfGxHFvlXLkaYQl++mOPYagT0jm65D4aTp1YxbvCSjrbTG1++sAvaR50VN71ZnbnGpEq807PHIwBp6eWluiQ==", + "version": "20.3.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-20.3.12.tgz", + "integrity": "sha512-HPepPbJA5vprYTWJaSCfpk0s1bPT6Ui6VjFOSb9oY+p9iq+MGkuB1I+swNcRcMLttyMD+FpbMd27F8jSeX5XVw==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1902.10", - "@angular-devkit/build-webpack": "0.1902.10", - "@angular-devkit/core": "19.2.10", - "@angular/build": "19.2.10", - "@babel/core": "7.26.10", - "@babel/generator": "7.26.10", - "@babel/helper-annotate-as-pure": "7.25.9", + "@angular-devkit/architect": "0.2003.12", + "@angular-devkit/build-webpack": "0.2003.12", + "@angular-devkit/core": "20.3.12", + "@angular/build": "20.3.12", + "@babel/core": "7.28.3", + "@babel/generator": "7.28.3", + "@babel/helper-annotate-as-pure": "7.27.3", "@babel/helper-split-export-declaration": "7.24.7", - "@babel/plugin-transform-async-generator-functions": "7.26.8", - "@babel/plugin-transform-async-to-generator": "7.25.9", - "@babel/plugin-transform-runtime": "7.26.10", - "@babel/preset-env": "7.26.9", - "@babel/runtime": "7.26.10", + "@babel/plugin-transform-async-generator-functions": "7.28.0", + "@babel/plugin-transform-async-to-generator": "7.27.1", + "@babel/plugin-transform-runtime": "7.28.3", + "@babel/preset-env": "7.28.3", + "@babel/runtime": "7.28.3", "@discoveryjs/json-ext": "0.6.3", - "@ngtools/webpack": "19.2.10", - "@vitejs/plugin-basic-ssl": "1.2.0", + "@ngtools/webpack": "20.3.12", "ansi-colors": "4.1.3", - "autoprefixer": "10.4.20", - "babel-loader": "9.2.1", + "autoprefixer": "10.4.21", + "babel-loader": "10.0.0", "browserslist": "^4.21.5", - "copy-webpack-plugin": "12.0.2", + "copy-webpack-plugin": "13.0.1", "css-loader": "7.1.2", - "esbuild-wasm": "0.25.1", + "esbuild-wasm": "0.25.9", "fast-glob": "3.3.3", "http-proxy-middleware": "3.0.5", "istanbul-lib-instrument": "6.0.3", "jsonc-parser": "3.3.1", "karma-source-map-support": "1.4.0", - "less": "4.2.2", - "less-loader": "12.2.0", + "less": "4.4.0", + "less-loader": "12.3.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.3.1", - "mini-css-extract-plugin": "2.9.2", - "open": "10.1.0", - "ora": "5.4.1", - "picomatch": "4.0.2", - "piscina": "4.8.0", - "postcss": "8.5.2", + "mini-css-extract-plugin": "2.9.4", + "open": "10.2.0", + "ora": "8.2.0", + "picomatch": "4.0.3", + "piscina": "5.1.3", + "postcss": "8.5.6", "postcss-loader": "8.1.1", "resolve-url-loader": "5.0.0", - "rxjs": "7.8.1", - "sass": "1.85.0", + "rxjs": "7.8.2", + "sass": "1.90.0", "sass-loader": "16.0.5", - "semver": "7.7.1", + "semver": "7.7.2", "source-map-loader": "5.0.0", "source-map-support": "0.5.21", - "terser": "5.39.0", + "terser": "5.43.1", "tree-kill": "1.2.2", "tslib": "2.8.1", - "webpack": "5.98.0", + "webpack": "5.101.2", "webpack-dev-middleware": "7.4.2", - "webpack-dev-server": "5.2.0", + "webpack-dev-server": "5.2.2", "webpack-merge": "6.0.1", "webpack-subresource-integrity": "5.1.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, "optionalDependencies": { - "esbuild": "0.25.1" + "esbuild": "0.25.9" }, "peerDependencies": { - "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0", - "@angular/localize": "^19.0.0 || ^19.2.0-next.0", - "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", - "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "^19.2.10", + "@angular/compiler-cli": "^20.0.0", + "@angular/core": "^20.0.0", + "@angular/localize": "^20.0.0", + "@angular/platform-browser": "^20.0.0", + "@angular/platform-server": "^20.0.0", + "@angular/service-worker": "^20.0.0", + "@angular/ssr": "^20.3.12", "@web/test-runner": "^0.20.0", "browser-sync": "^3.0.2", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", + "jest": "^29.5.0 || ^30.2.0", + "jest-environment-jsdom": "^29.5.0 || ^30.2.0", "karma": "^6.3.0", - "ng-packagr": "^19.0.0 || ^19.2.0-next.0", + "ng-packagr": "^20.0.0", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", - "typescript": ">=5.5 <5.9" + "typescript": ">=5.8 <6.0" }, "peerDependenciesMeta": { + "@angular/core": { + "optional": true + }, "@angular/localize": { "optional": true }, + "@angular/platform-browser": { + "optional": true + }, "@angular/platform-server": { "optional": true }, @@ -184,140 +401,137 @@ } } }, - "node_modules/@angular-devkit/build-angular/node_modules/@babel/core": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", - "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", + "node_modules/@angular-devkit/build-angular/node_modules/@angular/build": { + "version": "20.3.12", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-20.3.12.tgz", + "integrity": "sha512-iAZve4VPviC8y6RFctyh3qFXSlP5mth9K46/0zasB4LV4pcmu8BrzIHERxIn/jCDNdVdPh973kxo1ksO4WpyuA==", "dev": true, "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.10", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.10", - "@babel/parser": "^7.26.10", - "@babel/template": "^7.26.9", - "@babel/traverse": "^7.26.10", - "@babel/types": "^7.26.10", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" + "@ampproject/remapping": "2.3.0", + "@angular-devkit/architect": "0.2003.12", + "@babel/core": "7.28.3", + "@babel/helper-annotate-as-pure": "7.27.3", + "@babel/helper-split-export-declaration": "7.24.7", + "@inquirer/confirm": "5.1.14", + "@vitejs/plugin-basic-ssl": "2.1.0", + "beasties": "0.3.5", + "browserslist": "^4.23.0", + "esbuild": "0.25.9", + "https-proxy-agent": "7.0.6", + "istanbul-lib-instrument": "6.0.3", + "jsonc-parser": "3.3.1", + "listr2": "9.0.1", + "magic-string": "0.30.17", + "mrmime": "2.0.1", + "parse5-html-rewriting-stream": "8.0.0", + "picomatch": "4.0.3", + "piscina": "5.1.3", + "rollup": "4.52.3", + "sass": "1.90.0", + "semver": "7.7.2", + "source-map-support": "0.5.21", + "tinyglobby": "0.2.14", + "vite": "7.1.11", + "watchpack": "2.4.4" }, "engines": { - "node": ">=6.9.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/win32-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", - "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/@types/node": { - "version": "22.13.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.0.tgz", - "integrity": "sha512-ClIbNe36lawluuvq3+YYhnIN2CELi+6q8NpnM7PYp4hBn/TatfboPgVSm2rwKRfnV2M+Ty9GWDFI64KEe+kysA==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "undici-types": "~6.20.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/@vitejs/plugin-basic-ssl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.2.0.tgz", - "integrity": "sha512-mkQnxTkcldAzIsomk1UuLfAu9n+kpQ3JbHcpCp7d2Oo6ITtji8pHS3QToOWjhPFvNQSnhlkAjmGbhv2QvwO/7Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.21.3" + "optionalDependencies": { + "lmdb": "3.4.2" }, "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" + "@angular/compiler": "^20.0.0", + "@angular/compiler-cli": "^20.0.0", + "@angular/core": "^20.0.0", + "@angular/localize": "^20.0.0", + "@angular/platform-browser": "^20.0.0", + "@angular/platform-server": "^20.0.0", + "@angular/service-worker": "^20.0.0", + "@angular/ssr": "^20.3.12", + "karma": "^6.4.0", + "less": "^4.2.0", + "ng-packagr": "^20.0.0", + "postcss": "^8.4.0", + "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", + "tslib": "^2.3.0", + "typescript": ">=5.8 <6.0", + "vitest": "^3.1.1" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + }, + "@angular/localize": { + "optional": true + }, + "@angular/platform-browser": { + "optional": true + }, + "@angular/platform-server": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "@angular/ssr": { + "optional": true + }, + "karma": { + "optional": true + }, + "less": { + "optional": true + }, + "ng-packagr": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tailwindcss": { + "optional": true + }, + "vitest": { + "optional": true + } } }, - "node_modules/@angular-devkit/build-angular/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@angular-devkit/build-angular/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "node_modules/@angular-devkit/build-angular/node_modules/@angular/build/node_modules/@vitejs/plugin-basic-ssl": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.0.tgz", + "integrity": "sha512-dOxxrhgyDIEUADhb/8OlV9JIqYLgos03YorAueTIeOUskLJSEsfwCByjbu98ctXitUN3znXKp0bYD/WHSudCeA==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0" } }, - "node_modules/@angular-devkit/build-angular/node_modules/vite": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.11.tgz", - "integrity": "sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==", + "node_modules/@angular-devkit/build-angular/node_modules/@angular/build/node_modules/vite": { + "version": "7.1.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.11.tgz", + "integrity": "sha512-uzcxnSDVjAopEUjljkWh8EIrg6tlzrjFUfMcR1EVsRDGwf/ccef0qQPRyOrROwhrTDaApueq+ja+KLPlzR/zdg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "esbuild": "^0.24.2", - "postcss": "^8.4.49", - "rollup": "^4.23.0" + "esbuild": "^0.25.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + "node": "^20.19.0 || >=22.12.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -326,14 +540,14 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", - "less": "*", + "less": "^4.0.0", "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" @@ -374,84 +588,190 @@ } } }, - "node_modules/@angular-devkit/build-angular/node_modules/vite/node_modules/esbuild": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", - "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", + "node_modules/@angular-devkit/build-angular/node_modules/@angular/build/node_modules/vite/node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "dev": true, - "hasInstallScript": true, "license": "MIT", - "peer": true, - "bin": { - "esbuild": "bin/esbuild" + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" }, "engines": { - "node": ">=18" + "node": ">=12.0.0" }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.24.2", - "@esbuild/android-arm": "0.24.2", - "@esbuild/android-arm64": "0.24.2", - "@esbuild/android-x64": "0.24.2", - "@esbuild/darwin-arm64": "0.24.2", - "@esbuild/darwin-x64": "0.24.2", - "@esbuild/freebsd-arm64": "0.24.2", - "@esbuild/freebsd-x64": "0.24.2", - "@esbuild/linux-arm": "0.24.2", - "@esbuild/linux-arm64": "0.24.2", - "@esbuild/linux-ia32": "0.24.2", - "@esbuild/linux-loong64": "0.24.2", - "@esbuild/linux-mips64el": "0.24.2", - "@esbuild/linux-ppc64": "0.24.2", - "@esbuild/linux-riscv64": "0.24.2", - "@esbuild/linux-s390x": "0.24.2", - "@esbuild/linux-x64": "0.24.2", - "@esbuild/netbsd-arm64": "0.24.2", - "@esbuild/netbsd-x64": "0.24.2", - "@esbuild/openbsd-arm64": "0.24.2", - "@esbuild/openbsd-x64": "0.24.2", - "@esbuild/sunos-x64": "0.24.2", - "@esbuild/win32-arm64": "0.24.2", - "@esbuild/win32-ia32": "0.24.2", - "@esbuild/win32-x64": "0.24.2" + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/@angular-devkit/build-webpack": { - "version": "0.1902.10", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1902.10.tgz", - "integrity": "sha512-nf8ce3T+kfaU1cmwawxCsRl4Q6TZzVzFIOCW+NpTeFtqUAhGkLiSO+qvWCAUiLSSpqxjvRpgh2LIV1SxaayfbA==", + "node_modules/@angular-devkit/build-angular/node_modules/@inquirer/confirm": { + "version": "5.1.14", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.14.tgz", + "integrity": "sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1902.10", - "rxjs": "7.8.1" + "@inquirer/core": "^10.1.15", + "@inquirer/type": "^3.0.8" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" + "node": ">=18" }, "peerDependencies": { - "webpack": "^5.30.0", - "webpack-dev-server": "^5.0.2" + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "node_modules/@angular-devkit/core": { - "version": "19.2.10", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.10.tgz", - "integrity": "sha512-xYF+Vgc+j6iPboR0uptQk3QFed5n/0KSgITbfV/uPEqhzSNdkiM4Y2i/sKlTZrI07cRK/m/dbZ6sZsbvXJVtkA==", + "node_modules/@angular-devkit/build-angular/node_modules/@inquirer/core": { + "version": "10.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.3.2.tgz", + "integrity": "sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "8.17.1", - "ajv-formats": "3.0.1", - "jsonc-parser": "3.3.1", - "picomatch": "4.0.2", - "rxjs": "7.8.1", - "source-map": "0.7.4" - }, + "@inquirer/ansi": "^1.0.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@inquirer/type": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.10.tgz", + "integrity": "sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@angular-devkit/build-webpack": { + "version": "0.2003.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.2003.12.tgz", + "integrity": "sha512-IkhCU0nAsXYBQOfHu2gQBcYBKhaV1c8wYtu7MmelBcN/iUrG8hRf1sZx+ppUgsdZuBYxCiDiLpcfRVRCIASkvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/architect": "0.2003.12", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "webpack": "^5.30.0", + "webpack-dev-server": "^5.0.2" + } + }, + "node_modules/@angular-devkit/core": { + "version": "20.3.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.3.12.tgz", + "integrity": "sha512-ReFxd/UOoVDr3+kIUjmYILQZF89qg62POdY7a7OqBH7plmInFlYVSEDouJvGqj3LVCPiqTk2ZOSChbhS/eLxXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.3", + "rxjs": "7.8.2", + "source-map": "0.7.6" + }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, @@ -483,9 +803,9 @@ } }, "node_modules/@angular-devkit/core/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", "engines": { @@ -496,28 +816,87 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "19.2.10", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.2.10.tgz", - "integrity": "sha512-S+7Mvi9GMiJu3BY0Dpa7TrrAiFIwGwCIKLpO0IgGLUDh9fVLIlcIC/PZgU+L46gEpRwPZfrfMbDFKIlGGz/eQQ==", + "version": "20.3.13", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-20.3.13.tgz", + "integrity": "sha512-hdMKY4rUTko8xqeWYGnwwDYDomkeOoLsYsP6SdaHWK7hpGvzWsT6Q/aIv8J8NrCYkLu+M+5nLiKOooweUZu3GQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "19.2.10", + "@angular-devkit/core": "20.3.13", "jsonc-parser": "3.3.1", "magic-string": "0.30.17", - "ora": "5.4.1", - "rxjs": "7.8.1" + "ora": "8.2.0", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/@angular-devkit/core": { + "version": "20.3.13", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.3.13.tgz", + "integrity": "sha512-/D84T1Caxll3I2sRihPDR9UaWBhF50M+tAX15PdP6uSh/TxwAlLl9p7Rm1bD0mPjPercqaEKA+h9a9qLP16hug==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.3", + "rxjs": "7.8.2", + "source-map": "0.7.6" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/@angular-slider/ngx-slider": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular-slider/ngx-slider/-/ngx-slider-19.0.0.tgz", - "integrity": "sha512-VVJ+Fij5SKnbltxh6TdoBAUAKWfCnSLRPZ7e+r2uO88t8qte5/KHqVOdK4DWCjBr3rEr4YrPR4ylqBCuAWPsKQ==", + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/@angular-slider/ngx-slider/-/ngx-slider-20.0.0.tgz", + "integrity": "sha512-tDBAh3PvgtuQ7ExXlvOGcRcoHFaPybFwIp2mvOI2xO0q0nsUdB4JTOPrGIYNEzOMTZ+wxWNbZ8ZkQx7VwGsNzA==", "license": "MIT", "dependencies": { "detect-passive-events": "^2.0.3", @@ -525,190 +904,117 @@ "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/common": "^19.0.0", - "@angular/core": "^19.0.0", - "@angular/forms": "^19.0.0" + "@angular/common": "^20.0.0", + "@angular/core": "^20.0.0", + "@angular/forms": "^20.0.0" } }, "node_modules/@angular/animations": { - "version": "19.2.9", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.2.9.tgz", - "integrity": "sha512-Xg/JD8GyeUpBwno51iuK/iJnbSVc6A+THyP+2ScNVdWFdLyuCiEr9EbIHdeGDnhK1f/MVjRKbkrN6OElkxCx8A==", + "version": "20.3.15", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-20.3.15.tgz", + "integrity": "sha512-ikyKfhkxoqQA6JcBN0B9RaN6369sM1XYX81Id0lI58dmWCe7gYfrTp8ejqxxKftl514psQO3pkW8Gn1nJ131Gw==", "license": "MIT", + "peer": true, "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "19.2.9", - "@angular/core": "19.2.9" + "@angular/core": "20.3.15" } }, - "node_modules/@angular/build": { - "version": "19.2.10", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.2.10.tgz", - "integrity": "sha512-1+veE1S2fuQ3WjzYBabjk5/+7TM91kkyvKo+2P8vc0eb+c9K2VfYx+6ErCHs38mPPqL1JjixsX9Nqbd5b7yowA==", + "node_modules/@angular/cli": { + "version": "20.3.13", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-20.3.13.tgz", + "integrity": "sha512-G78I/HDJULloS2LSqfUfbmBlhDCbcWujIRWfuMnGsRf82TyGA2OEPe3IA/F8MrJfeOzPQim2fMyn24MqHL40Vg==", "dev": true, "license": "MIT", "dependencies": { - "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1902.10", - "@babel/core": "7.26.10", - "@babel/helper-annotate-as-pure": "7.25.9", - "@babel/helper-split-export-declaration": "7.24.7", - "@babel/plugin-syntax-import-attributes": "7.26.0", - "@inquirer/confirm": "5.1.6", - "@vitejs/plugin-basic-ssl": "1.2.0", - "beasties": "0.3.2", - "browserslist": "^4.23.0", - "esbuild": "0.25.1", - "fast-glob": "3.3.3", - "https-proxy-agent": "7.0.6", - "istanbul-lib-instrument": "6.0.3", - "listr2": "8.2.5", - "magic-string": "0.30.17", - "mrmime": "2.0.1", - "parse5-html-rewriting-stream": "7.0.0", - "picomatch": "4.0.2", - "piscina": "4.8.0", - "rollup": "4.34.8", - "sass": "1.85.0", - "semver": "7.7.1", - "source-map-support": "0.5.21", - "vite": "6.2.7", - "watchpack": "2.4.2" + "@angular-devkit/architect": "0.2003.13", + "@angular-devkit/core": "20.3.13", + "@angular-devkit/schematics": "20.3.13", + "@inquirer/prompts": "7.8.2", + "@listr2/prompt-adapter-inquirer": "3.0.1", + "@modelcontextprotocol/sdk": "1.24.0", + "@schematics/angular": "20.3.13", + "@yarnpkg/lockfile": "1.1.0", + "algoliasearch": "5.35.0", + "ini": "5.0.0", + "jsonc-parser": "3.3.1", + "listr2": "9.0.1", + "npm-package-arg": "13.0.0", + "pacote": "21.0.0", + "resolve": "1.22.10", + "semver": "7.7.2", + "yargs": "18.0.0", + "zod": "4.1.13" + }, + "bin": { + "ng": "bin/ng.js" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" - }, - "optionalDependencies": { - "lmdb": "3.2.6" - }, - "peerDependencies": { - "@angular/compiler": "^19.0.0 || ^19.2.0-next.0", - "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0", - "@angular/localize": "^19.0.0 || ^19.2.0-next.0", - "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", - "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "^19.2.10", - "karma": "^6.4.0", - "less": "^4.2.0", - "ng-packagr": "^19.0.0 || ^19.2.0-next.0", - "postcss": "^8.4.0", - "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", - "typescript": ">=5.5 <5.9" - }, - "peerDependenciesMeta": { - "@angular/localize": { - "optional": true - }, - "@angular/platform-server": { - "optional": true - }, - "@angular/service-worker": { - "optional": true - }, - "@angular/ssr": { - "optional": true - }, - "karma": { - "optional": true - }, - "less": { - "optional": true - }, - "ng-packagr": { - "optional": true - }, - "postcss": { - "optional": true - }, - "tailwindcss": { - "optional": true - } } }, - "node_modules/@angular/build/node_modules/@babel/core": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", - "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", + "node_modules/@angular/cli/node_modules/@angular-devkit/architect": { + "version": "0.2003.13", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2003.13.tgz", + "integrity": "sha512-JyH6Af6PNC1IHJToColFk1RaXDU87mpPjz7M5sWDfn8bC+KBipw6dSdRkCEuw0D9HY1lZkC9EBV9k9GhpvHjCQ==", "dev": true, "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.10", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.10", - "@babel/parser": "^7.26.10", - "@babel/template": "^7.26.9", - "@babel/traverse": "^7.26.10", - "@babel/types": "^7.26.10", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" + "@angular-devkit/core": "20.3.13", + "rxjs": "7.8.2" }, "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@angular/build/node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, - "node_modules/@angular/build/node_modules/@inquirer/confirm": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.6.tgz", - "integrity": "sha512-6ZXYK3M1XmaVBZX6FCfChgtponnL0R6I7k8Nu+kaoNkT828FVZTcca1MqmWQipaW2oNREQl5AaPCUOOCVNdRMw==", + "node_modules/@angular/cli/node_modules/@angular-devkit/core": { + "version": "20.3.13", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.3.13.tgz", + "integrity": "sha512-/D84T1Caxll3I2sRihPDR9UaWBhF50M+tAX15PdP6uSh/TxwAlLl9p7Rm1bD0mPjPercqaEKA+h9a9qLP16hug==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.7", - "@inquirer/type": "^3.0.4" + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.3", + "rxjs": "7.8.2", + "source-map": "0.7.6" }, "engines": { - "node": ">=18" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" }, "peerDependencies": { - "@types/node": ">=18" + "chokidar": "^4.0.0" }, "peerDependenciesMeta": { - "@types/node": { + "chokidar": { "optional": true } } }, - "node_modules/@angular/build/node_modules/@inquirer/core": { - "version": "10.1.10", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.10.tgz", - "integrity": "sha512-roDaKeY1PYY0aCqhRmXihrHjoSW2A00pV3Ke5fTpMCkzcGF64R8e0lw3dK+eLEHwS4vB5RnW1wuQmvzoRul8Mw==", + "node_modules/@angular/cli/node_modules/@inquirer/checkbox": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.2.2.tgz", + "integrity": "sha512-E+KExNurKcUJJdxmjglTl141EwxWyAHplvsYJQgSwXf8qiNWkTxTuCCqmhFEmbIXd4zLaGMfQFJ6WrZ7fSeV3g==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/figures": "^1.0.11", - "@inquirer/type": "^3.0.6", + "@inquirer/core": "^10.2.0", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", "ansi-escapes": "^4.3.2", - "cli-width": "^4.1.0", - "mute-stream": "^2.0.0", - "signal-exit": "^4.1.0", - "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.2" }, "engines": { @@ -723,12 +1029,16 @@ } } }, - "node_modules/@angular/build/node_modules/@inquirer/type": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.6.tgz", - "integrity": "sha512-/mKVCtVpyBu3IDarv0G+59KC4stsD5mDsGpYh+GKs1NZT88Jh52+cuoA1AtLk2Q0r/quNl+1cSUyLRHBFeD0XA==", + "node_modules/@angular/cli/node_modules/@inquirer/confirm": { + "version": "5.1.16", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.16.tgz", + "integrity": "sha512-j1a5VstaK5KQy8Mu8cHmuQvN1Zc62TbLhjJxwHvKPPKEoowSF6h/0UdOpA9DNdWZ+9Inq73+puRq1df6OJ8Sag==", "dev": true, "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.0", + "@inquirer/type": "^3.0.8" + }, "engines": { "node": ">=18" }, @@ -741,279 +1051,20 @@ } } }, - "node_modules/@angular/build/node_modules/@types/node": { - "version": "22.15.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.3.tgz", - "integrity": "sha512-lX7HFZeHf4QG/J7tBZqrCAXwz9J5RD56Y6MpP0eJkka8p+K0RY/yBTW7CYFJ4VGCclxqOLKmiGP5juQc6MKgcw==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "undici-types": "~6.21.0" - } - }, - "node_modules/@angular/build/node_modules/@vitejs/plugin-basic-ssl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.2.0.tgz", - "integrity": "sha512-mkQnxTkcldAzIsomk1UuLfAu9n+kpQ3JbHcpCp7d2Oo6ITtji8pHS3QToOWjhPFvNQSnhlkAjmGbhv2QvwO/7Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.21.3" - }, - "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" - } - }, - "node_modules/@angular/build/node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@angular/build/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@angular/build/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@angular/build/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/@angular/build/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@angular/build/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@angular/build/node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/@angular/build/node_modules/vite": { - "version": "6.2.7", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.7.tgz", - "integrity": "sha512-qg3LkeuinTrZoJHHF94coSaTfIPyBYoywp+ys4qu20oSJFbKMYoIJo0FWJT9q6Vp49l6z9IsJRbHdcGtiKbGoQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.25.0", - "postcss": "^8.5.3", - "rollup": "^4.30.1" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/@angular/build/node_modules/vite/node_modules/postcss": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/@angular/build/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@angular/cli": { - "version": "19.2.10", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.2.10.tgz", - "integrity": "sha512-gKQ63HJghKUoysCxL15GvKD+WkAG9E579PoH53oJLaIAtfCe30t4CC1BYfmhsvmqt/pt7TMb74f+Q+ckrbkS3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/architect": "0.1902.10", - "@angular-devkit/core": "19.2.10", - "@angular-devkit/schematics": "19.2.10", - "@inquirer/prompts": "7.3.2", - "@listr2/prompt-adapter-inquirer": "2.0.18", - "@schematics/angular": "19.2.10", - "@yarnpkg/lockfile": "1.1.0", - "ini": "5.0.0", - "jsonc-parser": "3.3.1", - "listr2": "8.2.5", - "npm-package-arg": "12.0.2", - "npm-pick-manifest": "10.0.0", - "pacote": "20.0.0", - "resolve": "1.22.10", - "semver": "7.7.1", - "symbol-observable": "4.0.0", - "yargs": "17.7.2" - }, - "bin": { - "ng": "bin/ng.js" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular/cli/node_modules/@inquirer/checkbox": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.1.4.tgz", - "integrity": "sha512-d30576EZdApjAMceijXA5jDzRQHT/MygbC+J8I7EqA6f/FRpYxlRtRJbHF8gHeWYeSdOuTEJqonn7QLB1ELezA==", + "node_modules/@angular/cli/node_modules/@inquirer/core": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.2.0.tgz", + "integrity": "sha512-NyDSjPqhSvpZEMZrLCYUquWNl+XC/moEcVFqS55IEYIYsY0a1cUCevSqk7ctOlnm/RaSBU5psFryNlxcmGrjaA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.9", - "@inquirer/figures": "^1.0.11", - "@inquirer/type": "^3.0.5", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", "yoctocolors-cjs": "^2.1.2" }, "engines": { @@ -1028,15 +1079,16 @@ } } }, - "node_modules/@angular/cli/node_modules/@inquirer/confirm": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.8.tgz", - "integrity": "sha512-dNLWCYZvXDjO3rnQfk2iuJNL4Ivwz/T2+C3+WnNfJKsNGSuOs3wAo2F6e0p946gtSAk31nZMfW+MRmYaplPKsg==", + "node_modules/@angular/cli/node_modules/@inquirer/editor": { + "version": "4.2.18", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.18.tgz", + "integrity": "sha512-yeQN3AXjCm7+Hmq5L6Dm2wEDeBRdAZuyZ4I7tWSSanbxDzqM0KqzoDbKM7p4ebllAYdoQuPJS6N71/3L281i6w==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.9", - "@inquirer/type": "^3.0.5" + "@inquirer/core": "^10.2.0", + "@inquirer/external-editor": "^1.0.1", + "@inquirer/type": "^3.0.8" }, "engines": { "node": ">=18" @@ -1050,20 +1102,15 @@ } } }, - "node_modules/@angular/cli/node_modules/@inquirer/core": { - "version": "10.1.9", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.9.tgz", - "integrity": "sha512-sXhVB8n20NYkUBfDYgizGHlpRVaCRjtuzNZA6xpALIUbkgfd2Hjz+DfEN6+h1BRnuxw0/P4jCIMjMsEOAMwAJw==", + "node_modules/@angular/cli/node_modules/@inquirer/expand": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.18.tgz", + "integrity": "sha512-xUjteYtavH7HwDMzq4Cn2X4Qsh5NozoDHCJTdoXg9HfZ4w3R6mxV1B9tL7DGJX2eq/zqtsFjhm0/RJIMGlh3ag==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/figures": "^1.0.11", - "@inquirer/type": "^3.0.5", - "ansi-escapes": "^4.3.2", - "cli-width": "^4.1.0", - "mute-stream": "^2.0.0", - "signal-exit": "^4.1.0", - "wrap-ansi": "^6.2.0", + "@inquirer/core": "^10.2.0", + "@inquirer/type": "^3.0.8", "yoctocolors-cjs": "^2.1.2" }, "engines": { @@ -1078,49 +1125,15 @@ } } }, - "node_modules/@angular/cli/node_modules/@inquirer/core/node_modules/mute-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", - "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@angular/cli/node_modules/@inquirer/editor": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.9.tgz", - "integrity": "sha512-8HjOppAxO7O4wV1ETUlJFg6NDjp/W2NP5FB9ZPAcinAlNT4ZIWOLe2pUVwmmPRSV0NMdI5r/+lflN55AwZOKSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/core": "^10.1.9", - "@inquirer/type": "^3.0.5", - "external-editor": "^3.1.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@angular/cli/node_modules/@inquirer/expand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.11.tgz", - "integrity": "sha512-OZSUW4hFMW2TYvX/Sv+NnOZgO8CHT2TU1roUCUIF2T+wfw60XFRRp9MRUPCT06cRnKL+aemt2YmTWwt7rOrNEA==", + "node_modules/@angular/cli/node_modules/@inquirer/external-editor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.1.tgz", + "integrity": "sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.9", - "@inquirer/type": "^3.0.5", - "yoctocolors-cjs": "^2.1.2" + "chardet": "^2.1.0", + "iconv-lite": "^0.6.3" }, "engines": { "node": ">=18" @@ -1135,14 +1148,14 @@ } }, "node_modules/@angular/cli/node_modules/@inquirer/input": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.1.8.tgz", - "integrity": "sha512-WXJI16oOZ3/LiENCAxe8joniNp8MQxF6Wi5V+EBbVA0ZIOpFcL4I9e7f7cXse0HJeIPCWO8Lcgnk98juItCi7Q==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.2.tgz", + "integrity": "sha512-hqOvBZj/MhQCpHUuD3MVq18SSoDNHy7wEnQ8mtvs71K8OPZVXJinOzcvQna33dNYLYE4LkA9BlhAhK6MJcsVbw==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.9", - "@inquirer/type": "^3.0.5" + "@inquirer/core": "^10.2.0", + "@inquirer/type": "^3.0.8" }, "engines": { "node": ">=18" @@ -1157,14 +1170,14 @@ } }, "node_modules/@angular/cli/node_modules/@inquirer/number": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.11.tgz", - "integrity": "sha512-pQK68CsKOgwvU2eA53AG/4npRTH2pvs/pZ2bFvzpBhrznh8Mcwt19c+nMO7LHRr3Vreu1KPhNBF3vQAKrjIulw==", + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.18.tgz", + "integrity": "sha512-7exgBm52WXZRczsydCVftozFTrrwbG5ySE0GqUd2zLNSBXyIucs2Wnm7ZKLe/aUu6NUg9dg7Q80QIHCdZJiY4A==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.9", - "@inquirer/type": "^3.0.5" + "@inquirer/core": "^10.2.0", + "@inquirer/type": "^3.0.8" }, "engines": { "node": ">=18" @@ -1179,14 +1192,14 @@ } }, "node_modules/@angular/cli/node_modules/@inquirer/password": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.11.tgz", - "integrity": "sha512-dH6zLdv+HEv1nBs96Case6eppkRggMe8LoOTl30+Gq5Wf27AO/vHFgStTVz4aoevLdNXqwE23++IXGw4eiOXTg==", + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.18.tgz", + "integrity": "sha512-zXvzAGxPQTNk/SbT3carAD4Iqi6A2JS2qtcqQjsL22uvD+JfQzUrDEtPjLL7PLn8zlSNyPdY02IiQjzoL9TStA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.9", - "@inquirer/type": "^3.0.5", + "@inquirer/core": "^10.2.0", + "@inquirer/type": "^3.0.8", "ansi-escapes": "^4.3.2" }, "engines": { @@ -1202,22 +1215,23 @@ } }, "node_modules/@angular/cli/node_modules/@inquirer/prompts": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.3.2.tgz", - "integrity": "sha512-G1ytyOoHh5BphmEBxSwALin3n1KGNYB6yImbICcRQdzXfOGbuJ9Jske/Of5Sebk339NSGGNfUshnzK8YWkTPsQ==", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.8.2.tgz", + "integrity": "sha512-nqhDw2ZcAUrKNPwhjinJny903bRhI0rQhiDz1LksjeRxqa36i3l75+4iXbOy0rlDpLJGxqtgoPavQjmmyS5UJw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@inquirer/checkbox": "^4.1.2", - "@inquirer/confirm": "^5.1.6", - "@inquirer/editor": "^4.2.7", - "@inquirer/expand": "^4.0.9", - "@inquirer/input": "^4.1.6", - "@inquirer/number": "^3.0.9", - "@inquirer/password": "^4.0.9", - "@inquirer/rawlist": "^4.0.9", - "@inquirer/search": "^3.0.9", - "@inquirer/select": "^4.0.9" + "@inquirer/checkbox": "^4.2.1", + "@inquirer/confirm": "^5.1.14", + "@inquirer/editor": "^4.2.17", + "@inquirer/expand": "^4.0.17", + "@inquirer/input": "^4.2.1", + "@inquirer/number": "^3.0.17", + "@inquirer/password": "^4.0.17", + "@inquirer/rawlist": "^4.1.5", + "@inquirer/search": "^3.1.0", + "@inquirer/select": "^4.3.1" }, "engines": { "node": ">=18" @@ -1232,14 +1246,14 @@ } }, "node_modules/@angular/cli/node_modules/@inquirer/rawlist": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.0.11.tgz", - "integrity": "sha512-uAYtTx0IF/PqUAvsRrF3xvnxJV516wmR6YVONOmCWJbbt87HcDHLfL9wmBQFbNJRv5kCjdYKrZcavDkH3sVJPg==", + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.6.tgz", + "integrity": "sha512-KOZqa3QNr3f0pMnufzL7K+nweFFCCBs6LCXZzXDrVGTyssjLeudn5ySktZYv1XiSqobyHRYYK0c6QsOxJEhXKA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.9", - "@inquirer/type": "^3.0.5", + "@inquirer/core": "^10.2.0", + "@inquirer/type": "^3.0.8", "yoctocolors-cjs": "^2.1.2" }, "engines": { @@ -1255,15 +1269,15 @@ } }, "node_modules/@angular/cli/node_modules/@inquirer/search": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.0.11.tgz", - "integrity": "sha512-9CWQT0ikYcg6Ls3TOa7jljsD7PgjcsYEM0bYE+Gkz+uoW9u8eaJCRHJKkucpRE5+xKtaaDbrND+nPDoxzjYyew==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.1.1.tgz", + "integrity": "sha512-TkMUY+A2p2EYVY3GCTItYGvqT6LiLzHBnqsU1rJbrpXUijFfM6zvUx0R4civofVwFCmJZcKqOVwwWAjplKkhxA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.9", - "@inquirer/figures": "^1.0.11", - "@inquirer/type": "^3.0.5", + "@inquirer/core": "^10.2.0", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", "yoctocolors-cjs": "^2.1.2" }, "engines": { @@ -1279,15 +1293,15 @@ } }, "node_modules/@angular/cli/node_modules/@inquirer/select": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.1.0.tgz", - "integrity": "sha512-z0a2fmgTSRN+YBuiK1ROfJ2Nvrpij5lVN3gPDkQGhavdvIVGHGW29LwYZfM/j42Ai2hUghTI/uoBuTbrJk42bA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.3.2.tgz", + "integrity": "sha512-nwous24r31M+WyDEHV+qckXkepvihxhnyIaod2MG7eCE6G0Zm/HUF6jgN8GXgf4U7AU6SLseKdanY195cwvU6w==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.1.9", - "@inquirer/figures": "^1.0.11", - "@inquirer/type": "^3.0.5", + "@inquirer/core": "^10.2.0", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", "ansi-escapes": "^4.3.2", "yoctocolors-cjs": "^2.1.2" }, @@ -1304,9 +1318,9 @@ } }, "node_modules/@angular/cli/node_modules/@inquirer/type": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.5.tgz", - "integrity": "sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.8.tgz", + "integrity": "sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==", "dev": true, "license": "MIT", "engines": { @@ -1322,44 +1336,38 @@ } }, "node_modules/@angular/cli/node_modules/@listr2/prompt-adapter-inquirer": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.18.tgz", - "integrity": "sha512-0hz44rAcrphyXcA8IS7EJ2SCoaBZD2u5goE8S/e+q/DL+dOGpqpcLidVOFeLG3VgML62SXmfRLAhWt0zL1oW4Q==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.1.tgz", + "integrity": "sha512-3XFmGwm3u6ioREG+ynAQB7FoxfajgQnMhIu8wC5eo/Lsih4aKDg0VuIMGaOsYn7hJSJagSeaD4K8yfpkEoDEmA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/type": "^1.5.5" + "@inquirer/type": "^3.0.7" }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" }, "peerDependencies": { - "@inquirer/prompts": ">= 3 < 8" + "@inquirer/prompts": ">= 3 < 8", + "listr2": "9.0.1" } }, - "node_modules/@angular/cli/node_modules/@listr2/prompt-adapter-inquirer/node_modules/@inquirer/type": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.5.tgz", - "integrity": "sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==", + "node_modules/@angular/cli/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", "dev": true, "license": "MIT", "dependencies": { - "mute-stream": "^1.0.0" + "ajv": "^8.0.0" }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@angular/cli/node_modules/@types/node": { - "version": "22.13.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz", - "integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "undici-types": "~6.20.0" + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, "node_modules/@angular/cli/node_modules/ansi-escapes": { @@ -1394,40 +1402,56 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@angular/cli/node_modules/mute-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", - "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "node_modules/@angular/cli/node_modules/hosted-git-info": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.0.tgz", + "integrity": "sha512-gEf705MZLrDPkbbhi8PnoO4ZwYgKoNL+ISZ3AjZMht2r3N5tuTwncyDi6Fv2/qDnMmZxgs0yI8WDOyR8q3G+SQ==", "dev": true, "license": "ISC", + "dependencies": { + "lru-cache": "^11.1.0" + }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/@angular/cli/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "node_modules/@angular/cli/node_modules/lru-cache": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.1.tgz", + "integrity": "sha512-r8LA6i4LP4EeWOhqBaZZjDWwehd1xUJPCJd9Sv300H0ZmcUER4+JPh7bqqZeqs1o5pgtgvXm+d9UGrB5zZGDiQ==", "dev": true, "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, "engines": { - "node": ">=10" + "node": "20 || >=22" } }, - "node_modules/@angular/cli/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "node_modules/@angular/cli/node_modules/npm-package-arg": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.0.tgz", + "integrity": "sha512-+t2etZAGcB7TbbLHfDwooV9ppB2LhhcT6A+L9cahsf9mEUAoQ6CktLEVvEnpD0N5CkX7zJqnPGaFtoQDy9EkHQ==", "dev": true, "license": "ISC", + "dependencies": { + "hosted-git-info": "^9.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, "engines": { - "node": ">=14" + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@angular/cli/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/@angular/cli/node_modules/wrap-ansi": { @@ -1446,111 +1470,130 @@ } }, "node_modules/@angular/common": { - "version": "19.2.9", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.2.9.tgz", - "integrity": "sha512-4Lio3nRp13sTU15hsVcv8Zkj+7OKZ6Pc6CIIkQYHs9KisSwwvwmRZDU1wFhKlH+ogebLgOcNurIPdqeYWWnLjQ==", + "version": "20.3.15", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.3.15.tgz", + "integrity": "sha512-k4mCXWRFiOHK3bUKfWkRQQ8KBPxW8TAJuKLYCsSHPCpMz6u0eA1F0VlrnOkZVKWPI792fOaEAWH2Y4PTaXlUHw==", "license": "MIT", + "peer": true, "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "19.2.9", + "@angular/core": "20.3.15", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "19.2.9", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.2.9.tgz", - "integrity": "sha512-K6wtAsJhQeD2OjoupV03gWHBqnqhEP9llzFzlnQoXAAZzM1eIT/KAtQEdNY75NO+BESKxaXvQBAU16Tg/1I6uw==", + "version": "20.3.15", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.3.15.tgz", + "integrity": "sha512-lMicIAFAKZXa+BCZWs3soTjNQPZZXrF/WMVDinm8dQcggNarnDj4UmXgKSyXkkyqK5SLfnLsXVzrX6ndVT6z7A==", "license": "MIT", + "peer": true, "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, "node_modules/@angular/compiler-cli": { - "version": "19.2.9", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.2.9.tgz", - "integrity": "sha512-+tTxBHO0siPPK6yxQeEQOS/Ihn9ntEa/uiwVO2IEaCrsmRLEYS6Wwqq7H3x7Pj64axnZdA0YRo8kOyTUbMs4+A==", + "version": "20.3.15", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-20.3.15.tgz", + "integrity": "sha512-8sJoxodxsfyZ8eJ5r6Bx7BCbazXYgsZ1+dE8t5u5rTQ6jNggwNtYEzkyReoD5xvP+MMtRkos3xpwq4rtFnpI6A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@babel/core": "7.26.9", + "@babel/core": "7.28.3", "@jridgewell/sourcemap-codec": "^1.4.14", "chokidar": "^4.0.0", "convert-source-map": "^1.5.1", "reflect-metadata": "^0.2.0", "semver": "^7.0.0", "tslib": "^2.3.0", - "yargs": "^17.2.1" + "yargs": "^18.0.0" }, "bin": { "ng-xi18n": "bundles/src/bin/ng_xi18n.js", - "ngc": "bundles/src/bin/ngc.js", - "ngcc": "bundles/ngcc/index.js" + "ngc": "bundles/src/bin/ngc.js" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "19.2.9", - "typescript": ">=5.5 <5.9" + "@angular/compiler": "20.3.15", + "typescript": ">=5.8 <6.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/@angular/core": { - "version": "19.2.9", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.2.9.tgz", - "integrity": "sha512-73WMvxWll8/nQiAbigDhR27dQ+GjciODY5JVADdneNBSEwcQxi0HirlGzm5wy1TonOu4eTTWkvgV/3YlTOmo4A==", + "version": "20.3.15", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.3.15.tgz", + "integrity": "sha512-NMbX71SlTZIY9+rh/SPhRYFJU0pMJYW7z/TBD4lqiO+b0DTOIg1k7Pg9ydJGqSjFO1Z4dQaA6TteNuF99TJCNw==", "license": "MIT", + "peer": true, "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { + "@angular/compiler": "20.3.15", "rxjs": "^6.5.3 || ^7.4.0", "zone.js": "~0.15.0" + }, + "peerDependenciesMeta": { + "@angular/compiler": { + "optional": true + }, + "zone.js": { + "optional": true + } } }, "node_modules/@angular/forms": { - "version": "19.2.9", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.2.9.tgz", - "integrity": "sha512-RKzShsMf9X7LQd4qsfx1ShSPF0qODS7HWBPz/khFvfpscDYAqXvqzfXS2yvu0PaCwyNneR7vZKYMCN564SK7hw==", + "version": "20.3.15", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.3.15.tgz", + "integrity": "sha512-gS5hQkinq52pm/7mxz4yHPCzEcmRWjtUkOVddPH0V1BW/HMni/p4Y6k2KqKBeGb9p8S5EAp6PDxDVLOPukp3mg==", "license": "MIT", + "peer": true, "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "19.2.9", - "@angular/core": "19.2.9", - "@angular/platform-browser": "19.2.9", + "@angular/common": "20.3.15", + "@angular/core": "20.3.15", + "@angular/platform-browser": "20.3.15", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/platform-browser": { - "version": "19.2.9", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.2.9.tgz", - "integrity": "sha512-vMBgCj/R2OxVX7YAqBTOsBiEUbwB3sJoZSy+E05vJovC0QhPWTiR4QiBXB1nlCoAZ8HTv79j7j8AYl10pqlPfQ==", + "version": "20.3.15", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.3.15.tgz", + "integrity": "sha512-TxRM/wTW/oGXv/3/Iohn58yWoiYXOaeEnxSasiGNS1qhbkcKtR70xzxW6NjChBUYAixz2ERkLURkpx3pI8Q6Dw==", "license": "MIT", + "peer": true, "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/animations": "19.2.9", - "@angular/common": "19.2.9", - "@angular/core": "19.2.9" + "@angular/animations": "20.3.15", + "@angular/common": "20.3.15", + "@angular/core": "20.3.15" }, "peerDependenciesMeta": { "@angular/animations": { @@ -1559,60 +1602,60 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "19.2.9", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.2.9.tgz", - "integrity": "sha512-llyjP1d3f6NDP6GwfHVNKZmkHlKpRKR/nYvP60Xl5vt90Gw2H5MJ+JHlzAHMt4O4paQHaYH1+b+2bio5/VSxjQ==", + "version": "20.3.15", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-20.3.15.tgz", + "integrity": "sha512-RizuRdBt0d6ongQ2y8cr8YsXFyjF8f91vFfpSNw+cFj+oiEmRC1txcWUlH5bPLD9qSDied8qazUi0Tb8VPQDGw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "19.2.9", - "@angular/compiler": "19.2.9", - "@angular/core": "19.2.9", - "@angular/platform-browser": "19.2.9" + "@angular/common": "20.3.15", + "@angular/compiler": "20.3.15", + "@angular/core": "20.3.15", + "@angular/platform-browser": "20.3.15" } }, "node_modules/@angular/router": { - "version": "19.2.9", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.2.9.tgz", - "integrity": "sha512-EOTzOJhdUHRakK+/oJV8tArLEs3xbe0AIxxdvntBVIy/99x/ovjAkdDs5QtIOFSYmZ7I0FgQpx5b8AXPkBxcRw==", + "version": "20.3.15", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-20.3.15.tgz", + "integrity": "sha512-6+qgk8swGSoAu7ISSY//GatAyCP36hEvvUgvjbZgkXLLH9yUQxdo77ij05aJ5s0OyB25q/JkqS8VTY0z1yE9NQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "19.2.9", - "@angular/core": "19.2.9", - "@angular/platform-browser": "19.2.9", + "@angular/common": "20.3.15", + "@angular/core": "20.3.15", + "@angular/platform-browser": "20.3.15", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", + "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", - "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz", + "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==", "dev": true, "license": "MIT", "engines": { @@ -1620,22 +1663,23 @@ } }, "node_modules/@babel/core": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz", - "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.3.tgz", + "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.9", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.9", - "@babel/parser": "^7.26.9", - "@babel/template": "^7.26.9", - "@babel/traverse": "^7.26.9", - "@babel/types": "^7.26.9", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.3", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -1654,28 +1698,30 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.10.tgz", - "integrity": "sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.26.10", - "@babel/types": "^7.26.10", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", + "@babel/parser": "^7.28.3", + "@babel/types": "^7.28.2", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" }, "engines": { @@ -1683,27 +1729,27 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", - "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.9" + "@babel/types": "^7.27.3" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", - "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.26.5", - "@babel/helper-validator-option": "^7.25.9", + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -1723,18 +1769,18 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz", - "integrity": "sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz", + "integrity": "sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-member-expression-to-functions": "^7.25.9", - "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/helper-replace-supers": "^7.26.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/traverse": "^7.26.9", + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.3", "semver": "^6.3.1" }, "engines": { @@ -1755,13 +1801,13 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz", - "integrity": "sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz", + "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-annotate-as-pure": "^7.27.1", "regexpu-core": "^6.2.0", "semver": "^6.3.1" }, @@ -1783,60 +1829,70 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", - "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", + "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "debug": "^4.4.1", "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" + "resolve": "^1.22.10" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", - "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", + "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", - "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" }, "engines": { "node": ">=6.9.0" @@ -1846,22 +1902,22 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", - "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.9" + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", - "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", "dev": true, "license": "MIT", "engines": { @@ -1869,15 +1925,15 @@ } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", - "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-wrap-function": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1887,15 +1943,15 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", - "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.25.9", - "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/traverse": "^7.26.5" + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1905,14 +1961,14 @@ } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", - "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1932,9 +1988,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, "license": "MIT", "engines": { @@ -1942,9 +1998,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true, "license": "MIT", "engines": { @@ -1952,9 +2008,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", - "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true, "license": "MIT", "engines": { @@ -1962,42 +2018,42 @@ } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", - "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz", + "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.10.tgz", - "integrity": "sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.26.9", - "@babel/types": "^7.26.10" + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.10.tgz", - "integrity": "sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", + "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.26.10" + "@babel/types": "^7.28.4" }, "bin": { "parser": "bin/babel-parser.js" @@ -2007,14 +2063,14 @@ } }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", - "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz", + "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2024,13 +2080,13 @@ } }, "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", - "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2040,13 +2096,13 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", - "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2056,15 +2112,15 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", - "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/plugin-transform-optional-chaining": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2074,14 +2130,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", - "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz", + "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.3" }, "engines": { "node": ">=6.9.0" @@ -2104,13 +2160,13 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", - "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", + "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2120,13 +2176,13 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", - "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2153,13 +2209,13 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", - "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2169,15 +2225,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz", - "integrity": "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", + "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-remap-async-to-generator": "^7.25.9", - "@babel/traverse": "^7.26.8" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -2187,15 +2243,15 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", - "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", + "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-remap-async-to-generator": "^7.25.9" + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2205,13 +2261,13 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz", - "integrity": "sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2221,13 +2277,13 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", - "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.4.tgz", + "integrity": "sha512-1yxmvN0MJHOhPVmAsmoW5liWwoILobu/d/ShymZmj867bAdxGbehIrew1DuLpw2Ukv+qDSSPQdYW1dLNE7t11A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2237,14 +2293,14 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", - "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", + "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2254,14 +2310,14 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", - "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", + "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-class-features-plugin": "^7.28.3", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2271,18 +2327,18 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", - "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz", + "integrity": "sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9", - "@babel/traverse": "^7.25.9", - "globals": "^11.1.0" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/traverse": "^7.28.4" }, "engines": { "node": ">=6.9.0" @@ -2292,14 +2348,14 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", - "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", + "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/template": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/template": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2309,13 +2365,14 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", - "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz", + "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -2325,14 +2382,14 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", - "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", + "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2342,13 +2399,13 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", - "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2358,14 +2415,14 @@ } }, "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", - "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2375,13 +2432,30 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", - "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", + "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0" }, "engines": { "node": ">=6.9.0" @@ -2391,13 +2465,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz", - "integrity": "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", + "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2407,13 +2481,13 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", - "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2423,14 +2497,14 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz", - "integrity": "sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2440,15 +2514,15 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", - "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2458,13 +2532,13 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", - "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", + "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2474,13 +2548,13 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", - "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2490,13 +2564,13 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", - "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz", + "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2506,13 +2580,13 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", - "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2522,14 +2596,14 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", - "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2539,14 +2613,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz", - "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2556,16 +2630,16 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", - "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz", + "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2575,14 +2649,14 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", - "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2592,14 +2666,14 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", - "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2609,13 +2683,13 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", - "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2625,13 +2699,13 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.26.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz", - "integrity": "sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", + "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2641,13 +2715,13 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", - "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", + "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2657,15 +2731,17 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", - "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz", + "integrity": "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/plugin-transform-parameters": "^7.25.9" + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.4" }, "engines": { "node": ">=6.9.0" @@ -2675,14 +2751,14 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", - "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-replace-supers": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2692,13 +2768,13 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", - "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", + "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2708,14 +2784,14 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", - "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz", + "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2725,13 +2801,13 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", - "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2741,14 +2817,14 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", - "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", + "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2758,15 +2834,15 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", - "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", + "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2776,13 +2852,13 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", - "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2792,14 +2868,13 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", - "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz", + "integrity": "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "regenerator-transform": "^0.15.2" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2809,14 +2884,14 @@ } }, "node_modules/@babel/plugin-transform-regexp-modifiers": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", - "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", + "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2826,13 +2901,13 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", - "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2842,17 +2917,17 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.26.10.tgz", - "integrity": "sha512-NWaL2qG6HRpONTnj4JvDU6th4jYeZOJgu3QhmFTCihib0ermtOJqktA5BduGm3suhhVe9EMP9c9+mfJ/I9slqw==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.3.tgz", + "integrity": "sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-plugin-utils": "^7.26.5", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.11.0", - "babel-plugin-polyfill-regenerator": "^0.6.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", "semver": "^6.3.1" }, "engines": { @@ -2873,13 +2948,13 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", - "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2889,14 +2964,14 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", - "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", + "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2906,13 +2981,13 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", - "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2922,13 +2997,13 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz", - "integrity": "sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2938,13 +3013,13 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.26.7.tgz", - "integrity": "sha512-jfoTXXZTgGg36BmhqT3cAYK5qkmqvJpvNrPhaK/52Vgjhw4Rq29s9UqpWWV0D6yuRmgiFH/BUVlkl96zJWqnaw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2954,13 +3029,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", - "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2970,14 +3045,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", - "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", + "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -2987,14 +3062,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", - "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -3004,14 +3079,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", - "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", + "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -3021,80 +3096,81 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.9.tgz", - "integrity": "sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.3.tgz", + "integrity": "sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.26.8", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-validator-option": "^7.25.9", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", + "@babel/compat-data": "^7.28.0", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.26.0", - "@babel/plugin-syntax-import-attributes": "^7.26.0", + "@babel/plugin-syntax-import-assertions": "^7.27.1", + "@babel/plugin-syntax-import-attributes": "^7.27.1", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.25.9", - "@babel/plugin-transform-async-generator-functions": "^7.26.8", - "@babel/plugin-transform-async-to-generator": "^7.25.9", - "@babel/plugin-transform-block-scoped-functions": "^7.26.5", - "@babel/plugin-transform-block-scoping": "^7.25.9", - "@babel/plugin-transform-class-properties": "^7.25.9", - "@babel/plugin-transform-class-static-block": "^7.26.0", - "@babel/plugin-transform-classes": "^7.25.9", - "@babel/plugin-transform-computed-properties": "^7.25.9", - "@babel/plugin-transform-destructuring": "^7.25.9", - "@babel/plugin-transform-dotall-regex": "^7.25.9", - "@babel/plugin-transform-duplicate-keys": "^7.25.9", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", - "@babel/plugin-transform-dynamic-import": "^7.25.9", - "@babel/plugin-transform-exponentiation-operator": "^7.26.3", - "@babel/plugin-transform-export-namespace-from": "^7.25.9", - "@babel/plugin-transform-for-of": "^7.26.9", - "@babel/plugin-transform-function-name": "^7.25.9", - "@babel/plugin-transform-json-strings": "^7.25.9", - "@babel/plugin-transform-literals": "^7.25.9", - "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", - "@babel/plugin-transform-member-expression-literals": "^7.25.9", - "@babel/plugin-transform-modules-amd": "^7.25.9", - "@babel/plugin-transform-modules-commonjs": "^7.26.3", - "@babel/plugin-transform-modules-systemjs": "^7.25.9", - "@babel/plugin-transform-modules-umd": "^7.25.9", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", - "@babel/plugin-transform-new-target": "^7.25.9", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.26.6", - "@babel/plugin-transform-numeric-separator": "^7.25.9", - "@babel/plugin-transform-object-rest-spread": "^7.25.9", - "@babel/plugin-transform-object-super": "^7.25.9", - "@babel/plugin-transform-optional-catch-binding": "^7.25.9", - "@babel/plugin-transform-optional-chaining": "^7.25.9", - "@babel/plugin-transform-parameters": "^7.25.9", - "@babel/plugin-transform-private-methods": "^7.25.9", - "@babel/plugin-transform-private-property-in-object": "^7.25.9", - "@babel/plugin-transform-property-literals": "^7.25.9", - "@babel/plugin-transform-regenerator": "^7.25.9", - "@babel/plugin-transform-regexp-modifiers": "^7.26.0", - "@babel/plugin-transform-reserved-words": "^7.25.9", - "@babel/plugin-transform-shorthand-properties": "^7.25.9", - "@babel/plugin-transform-spread": "^7.25.9", - "@babel/plugin-transform-sticky-regex": "^7.25.9", - "@babel/plugin-transform-template-literals": "^7.26.8", - "@babel/plugin-transform-typeof-symbol": "^7.26.7", - "@babel/plugin-transform-unicode-escapes": "^7.25.9", - "@babel/plugin-transform-unicode-property-regex": "^7.25.9", - "@babel/plugin-transform-unicode-regex": "^7.25.9", - "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.28.0", + "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.0", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.28.3", + "@babel/plugin-transform-classes": "^7.28.3", + "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.0", + "@babel/plugin-transform-exponentiation-operator": "^7.27.1", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.27.1", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-modules-systemjs": "^7.27.1", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", + "@babel/plugin-transform-numeric-separator": "^7.27.1", + "@babel/plugin-transform-object-rest-spread": "^7.28.0", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/plugin-transform-private-methods": "^7.27.1", + "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.28.3", + "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.11.0", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.40.0", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "core-js-compat": "^3.43.0", "semver": "^6.3.1" }, "engines": { @@ -3130,61 +3206,58 @@ } }, "node_modules/@babel/runtime": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz", - "integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==", + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.3.tgz", + "integrity": "sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA==", "dev": true, "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", - "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/parser": "^7.26.9", - "@babel/types": "^7.26.9" + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.10.tgz", - "integrity": "sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", + "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.10", - "@babel/parser": "^7.26.10", - "@babel/template": "^7.26.9", - "@babel/types": "^7.26.10", - "debug": "^4.3.1", - "globals": "^11.1.0" + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.4", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4", + "debug": "^4.3.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/types": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz", - "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", + "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -3200,287 +3273,350 @@ "node": ">=14.17.0" } }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.1.tgz", - "integrity": "sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", + "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==", "cpu": [ - "x64" + "ppc64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "win32" + "aix" ], "engines": { "node": ">=18" } }, - "node_modules/@inquirer/figures": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.11.tgz", - "integrity": "sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw==", + "node_modules/@esbuild/android-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz", + "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { "node": ">=18" } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "node_modules/@esbuild/android-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", + "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "node_modules/@esbuild/android-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz", + "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "node": ">=18" } }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", + "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", + "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=18" } }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", + "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=18" } }, - "node_modules/@isaacs/fs-minipass": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", + "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.4" - }, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=18.0.0" + "node": ">=18" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "node_modules/@esbuild/linux-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", + "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", + "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0.0" + "node": ">=18" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", + "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==", + "cpu": [ + "ia32" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0.0" + "node": ">=18" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", + "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==", + "cpu": [ + "loong64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0.0" + "node": ">=18" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", + "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==", + "cpu": [ + "mips64el" + ], "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", + "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==", + "cpu": [ + "ppc64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", + "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@jsonjoy.com/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", + "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==", + "cpu": [ + "s390x" + ], "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" + "node": ">=18" } }, - "node_modules/@jsonjoy.com/json-pack": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.2.0.tgz", - "integrity": "sha512-io1zEbbYcElht3tdlqEOFxZ0dMTYrHz9iMf0gqn1pPjZFTCgM5R4R5IMA20Chb2UPYYsxjzs8CgZ7Nb5n2K2rA==", + "node_modules/@esbuild/linux-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", + "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jsonjoy.com/base64": "^1.1.1", - "@jsonjoy.com/util": "^1.1.2", - "hyperdyperid": "^1.2.0", - "thingies": "^1.20.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" + "node": ">=18" } }, - "node_modules/@jsonjoy.com/util": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.5.0.tgz", - "integrity": "sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==", + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", + "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" + "node": ">=18" } }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", + "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/@lmdb/lmdb-win32-x64": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.2.6.tgz", - "integrity": "sha512-XlqVtILonQnG+9fH2N3Aytria7P/1fwDgDhl29rde96uH2sLB8CHORIf2PfuLVzFQJ7Uqp8py9AYwr3ZUCFfWg==", + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", + "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==", "cpu": [ - "x64" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "win32" - ] + "openbsd" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", - "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", + "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==", "cpu": [ "x64" ], @@ -3488,46 +3624,33 @@ "license": "MIT", "optional": true, "os": [ - "win32" - ] + "openbsd" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/@napi-rs/nice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.0.1.tgz", - "integrity": "sha512-zM0mVWSXE0a0h9aKACLwKmD6nHcRiKrPpCfvaKqG1CqDEyjEawId0ocXxVzPMCAm6kkWr2P025msfxXEnt8UGQ==", + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", + "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", "optional": true, + "os": [ + "openharmony" + ], "engines": { - "node": ">= 10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" - }, - "optionalDependencies": { - "@napi-rs/nice-android-arm-eabi": "1.0.1", - "@napi-rs/nice-android-arm64": "1.0.1", - "@napi-rs/nice-darwin-arm64": "1.0.1", - "@napi-rs/nice-darwin-x64": "1.0.1", - "@napi-rs/nice-freebsd-x64": "1.0.1", - "@napi-rs/nice-linux-arm-gnueabihf": "1.0.1", - "@napi-rs/nice-linux-arm64-gnu": "1.0.1", - "@napi-rs/nice-linux-arm64-musl": "1.0.1", - "@napi-rs/nice-linux-ppc64-gnu": "1.0.1", - "@napi-rs/nice-linux-riscv64-gnu": "1.0.1", - "@napi-rs/nice-linux-s390x-gnu": "1.0.1", - "@napi-rs/nice-linux-x64-gnu": "1.0.1", - "@napi-rs/nice-linux-x64-musl": "1.0.1", - "@napi-rs/nice-win32-arm64-msvc": "1.0.1", - "@napi-rs/nice-win32-ia32-msvc": "1.0.1", - "@napi-rs/nice-win32-x64-msvc": "1.0.1" + "node": ">=18" } }, - "node_modules/@napi-rs/nice-win32-x64-msvc": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.0.1.tgz", - "integrity": "sha512-JlF+uDcatt3St2ntBG8H02F1mM45i5SF9W+bIKiReVE6wiy3o16oBP/yxt+RZ+N6LbCImJXJ6bXNO2kn9AXicg==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", + "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==", "cpu": [ "x64" ], @@ -3535,582 +3658,2080 @@ "license": "MIT", "optional": true, "os": [ - "win32" + "sunos" ], "engines": { - "node": ">= 10" + "node": ">=18" } }, - "node_modules/@ngtools/webpack": { - "version": "19.2.10", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.2.10.tgz", - "integrity": "sha512-L6X4BbP0zENnOU6++e2sVcMJnsVu2sS3xDeKE2Ybj6gLXdbk4LG1zeYLcrNft5MKEE3mqrygNxlMay7G95cpQA==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", + "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0", - "typescript": ">=5.5 <5.9", - "webpack": "^5.54.0" + "node": ">=18" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", + "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">= 8" + "node": ">=18" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@esbuild/win32-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", + "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">= 8" + "node": ">=18" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@inquirer/ansi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.2.tgz", + "integrity": "sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==", "dev": true, "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, "engines": { - "node": ">= 8" + "node": ">=18" } }, - "node_modules/@npmcli/agent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", - "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==", + "node_modules/@inquirer/figures": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz", + "integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==", "dev": true, - "license": "ISC", - "dependencies": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.3" - }, + "license": "MIT", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=18" } }, - "node_modules/@npmcli/agent/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/@npmcli/fs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", - "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, "license": "ISC", "dependencies": { - "semver": "^7.3.5" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=12" } }, - "node_modules/@npmcli/git": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-6.0.1.tgz", - "integrity": "sha512-BBWMMxeQzalmKadyimwb2/VVQyJB01PH0HhVSNLHNBDZN/M/h/02P6f8fxedIiFhpMj11SO9Ep5tKTBE7zL2nw==", + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/promise-spawn": "^8.0.0", - "ini": "^5.0.0", - "lru-cache": "^10.0.1", - "npm-pick-manifest": "^10.0.0", - "proc-log": "^5.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^5.0.0" - }, + "license": "MIT", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/@npmcli/installed-package-contents": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-3.0.0.tgz", - "integrity": "sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==", + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "npm-bundled": "^4.0.0", - "npm-normalize-package-bin": "^4.0.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, - "bin": { - "installed-package-contents": "bin/index.js" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@npmcli/node-gyp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-4.0.0.tgz", - "integrity": "sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==", + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@npmcli/package-json": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-6.1.0.tgz", - "integrity": "sha512-t6G+6ZInT4X+tqj2i+wlLIeCKnKOTuz9/VFYDtj+TGTur5q7sp/OYrQA19LdBbWfXDOi0Y4jtedV6xtB8zQ9ug==", + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", "dev": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^6.0.0", - "glob": "^10.2.2", - "hosted-git-info": "^8.0.0", - "json-parse-even-better-errors": "^4.0.0", - "normalize-package-data": "^7.0.0", - "proc-log": "^5.0.0", - "semver": "^7.5.3" + "minipass": "^7.0.4" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=18.0.0" } }, - "node_modules/@npmcli/package-json/node_modules/json-parse-even-better-errors": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", - "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, "license": "MIT", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=8" } }, - "node_modules/@npmcli/promise-spawn": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-8.0.2.tgz", - "integrity": "sha512-/bNJhjc+o6qL+Dwz/bqfTQClkEO5nTQ1ZEcdCkAQjhkZMHIh22LPG7fNh1enJP1NKWDqYiiABnjFCY7E0zHYtQ==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.12", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz", + "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "which": "^5.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@npmcli/redact": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-3.0.0.tgz", - "integrity": "sha512-/1uFzjVcfzqrgCeGW7+SZ4hv0qLWmKXVzFahZGJ6QuJBj6Myt9s17+JL86i76NV9YSnJRcGXJYQbAU0rn1YTCQ==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true, - "license": "ISC", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=6.0.0" } }, - "node_modules/@npmcli/run-script": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-9.0.2.tgz", - "integrity": "sha512-cJXiUlycdizQwvqE1iaAb4VRUM3RX09/8q46zjvy+ct9GhfZRWd7jXYVc1tn/CfRlGPVkX/u4sstRlepsm7hfw==", + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dev": true, - "license": "ISC", "dependencies": { - "@npmcli/node-gyp": "^4.0.0", - "@npmcli/package-json": "^6.0.0", - "@npmcli/promise-spawn": "^8.0.0", - "node-gyp": "^11.0.0", - "proc-log": "^5.0.0", - "which": "^5.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/@parcel/watcher": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", - "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.29", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz", + "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==", "dev": true, - "hasInstallScript": true, "license": "MIT", - "optional": true, "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" - }, + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jsonjoy.com/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">= 10.0.0" + "node": ">=10.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "type": "github", + "url": "https://github.com/sponsors/streamich" }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.5.1", - "@parcel/watcher-darwin-arm64": "2.5.1", - "@parcel/watcher-darwin-x64": "2.5.1", - "@parcel/watcher-freebsd-x64": "2.5.1", - "@parcel/watcher-linux-arm-glibc": "2.5.1", - "@parcel/watcher-linux-arm-musl": "2.5.1", - "@parcel/watcher-linux-arm64-glibc": "2.5.1", - "@parcel/watcher-linux-arm64-musl": "2.5.1", - "@parcel/watcher-linux-x64-glibc": "2.5.1", - "@parcel/watcher-linux-x64-musl": "2.5.1", - "@parcel/watcher-win32-arm64": "2.5.1", - "@parcel/watcher-win32-ia32": "2.5.1", - "@parcel/watcher-win32-x64": "2.5.1" + "peerDependencies": { + "tslib": "2" } }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", - "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", - "cpu": [ - "x64" - ], + "node_modules/@jsonjoy.com/buffers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", + "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "license": "Apache-2.0", "engines": { - "node": ">= 10.0.0" + "node": ">=10.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/@parcel/watcher/node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "node_modules/@jsonjoy.com/codegen": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz", + "integrity": "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==", "dev": true, "license": "Apache-2.0", - "optional": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, "engines": { - "node": ">=0.10" + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/@parcel/watcher/node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz", - "integrity": "sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@schematics/angular": { - "version": "19.2.10", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.2.10.tgz", - "integrity": "sha512-ZcsS3FyYdSkV6Br+vtYvn0eQP/H3AAZI4aBg3XVbIxRbWG5rChTqN5J9C8Ncl0VET7OAj+PeQwoFH6jFenVw0A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "19.2.10", - "@angular-devkit/schematics": "19.2.10", - "jsonc-parser": "3.3.1" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@sigstore/bundle": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-3.0.0.tgz", - "integrity": "sha512-XDUYX56iMPAn/cdgh/DTJxz5RWmqKV4pwvUAEKEWJl+HzKdCd/24wUa9JYNMlDSCb7SUHAdtksxYX779Nne/Zg==", + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.21.0.tgz", + "integrity": "sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2" + "@jsonjoy.com/base64": "^1.1.2", + "@jsonjoy.com/buffers": "^1.2.0", + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/json-pointer": "^1.0.2", + "@jsonjoy.com/util": "^1.9.0", + "hyperdyperid": "^1.2.0", + "thingies": "^2.5.0", + "tree-dump": "^1.1.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@sigstore/core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-2.0.0.tgz", - "integrity": "sha512-nYxaSb/MtlSI+JWcwTHQxyNmWeWrUXJJ/G4liLrGG7+tS4vAz6LF3xRXqLH6wPIVUoZQel2Fs4ddLx4NCpiIYg==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@sigstore/protobuf-specs": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.3.2.tgz", - "integrity": "sha512-c6B0ehIWxMI8wiS/bj6rHMPqeFvngFV7cDU/MY+B16P9Z3Mp9k8L93eYZ7BYzSickzuqAQqAq0V956b3Ju6mLw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@sigstore/sign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-3.0.0.tgz", - "integrity": "sha512-UjhDMQOkyDoktpXoc5YPJpJK6IooF2gayAr5LvXI4EL7O0vd58okgfRcxuaH+YTdhvb5aa1Q9f+WJ0c2sVuYIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/bundle": "^3.0.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "make-fetch-happen": "^14.0.1", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1" + "node": ">=10.0" }, - "engines": { - "node": "^18.17.0 || >=20.5.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/@sigstore/tuf": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-3.0.0.tgz", - "integrity": "sha512-9Xxy/8U5OFJu7s+OsHzI96IX/OzjF/zj0BSSaWhgJgTqtlBhQIV2xdrQI5qxLD7+CWWDepadnXAxzaZ3u9cvRw==", + "node_modules/@jsonjoy.com/json-pointer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-1.0.2.tgz", + "integrity": "sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2", - "tuf-js": "^3.0.1" + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/util": "^1.9.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/@sigstore/verify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-2.0.0.tgz", - "integrity": "sha512-Ggtq2GsJuxFNUvQzLoXqRwS4ceRfLAJnrIHUDrzAD0GgnOhwujJkKkxM/s5Bako07c3WtAs/sZo5PJq7VHjeDg==", + "node_modules/@jsonjoy.com/util": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.9.0.tgz", + "integrity": "sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^3.0.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.3.2" + "@jsonjoy.com/buffers": "^1.0.0", + "@jsonjoy.com/codegen": "^1.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@sindresorhus/merge-streams": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", - "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" + "node": ">=10.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/@tufjs/canonical-json": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", - "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", "dev": true, - "license": "MIT", - "engines": { - "node": "^16.14.0 || >=18.0.0" - } + "license": "MIT" }, - "node_modules/@tufjs/models": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-3.0.1.tgz", - "integrity": "sha512-UUYHISyhCU3ZgN8yaear3cGATHb3SMuKHsQ/nVbHXcmnBf+LzQ/cQfhNG+rfaSHgqGKNEm2cOCLVLELStUQ1JA==", + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.4.2.tgz", + "integrity": "sha512-NK80WwDoODyPaSazKbzd3NEJ3ygePrkERilZshxBViBARNz21rmediktGHExoj9n5t9+ChlgLlxecdFKLCuCKg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.5" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "node_modules/@lmdb/lmdb-darwin-x64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.4.2.tgz", + "integrity": "sha512-zevaowQNmrp3U7Fz1s9pls5aIgpKRsKb3dZWDINtLiozh3jZI9fBrI19lYYBxqdyiIyNdlyiidPnwPShj4aK+w==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@types/bonjour": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", - "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "node_modules/@lmdb/lmdb-linux-arm": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.4.2.tgz", + "integrity": "sha512-OmHCULY17rkx/RoCoXlzU7LyR8xqrksgdYWwtYa14l/sseezZ8seKWXcogHcjulBddER5NnEFV4L/Jtr2nyxeg==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "node_modules/@lmdb/lmdb-linux-arm64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.4.2.tgz", + "integrity": "sha512-ZBEfbNZdkneebvZs98Lq30jMY8V9IJzckVeigGivV7nTHJc+89Ctomp1kAIWKlwIG0ovCDrFI448GzFPORANYg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", - "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.4.2.tgz", + "integrity": "sha512-vL9nM17C77lohPYE4YaAQvfZCSVJSryE4fXdi8M7uWPBnU+9DJabgKVAeyDb84ZM2vcFseoBE4/AagVtJeRE7g==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@types/eslint": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "node_modules/@lmdb/lmdb-win32-arm64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.4.2.tgz", + "integrity": "sha512-SXWjdBfNDze4ZPeLtYIzsIeDJDJ/SdsA0pEXcUBayUIMO0FQBHfVZZyHXQjjHr4cvOAzANBgIiqaXRwfMhzmLw==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.4.2.tgz", + "integrity": "sha512-IY+r3bxKW6Q6sIPiMC0L533DEfRJSXibjSI3Ft/w9Q8KQBNqEIvUFXt+09wV8S5BRk0a8uSF19YWxuRwEfI90g==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true, - "license": "MIT" + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "node_modules/@modelcontextprotocol/sdk": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.24.0.tgz", + "integrity": "sha512-D8h5KXY2vHFW8zTuxn2vuZGN0HGrQ5No6LkHwlEA9trVgNdPL3TF1dSqKA7Dny6BbBYKSW/rOBDXdC8KJAjUCg==", "dev": true, "license": "MIT", "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" + "ajv": "^8.17.1", + "ajv-formats": "^3.0.1", + "content-type": "^1.0.5", + "cors": "^2.8.5", + "cross-spawn": "^7.0.5", + "eventsource": "^3.0.2", + "eventsource-parser": "^3.0.0", + "express": "^5.0.1", + "express-rate-limit": "^7.5.0", + "jose": "^6.1.1", + "pkce-challenge": "^5.0.0", + "raw-body": "^3.0.0", + "zod": "^3.25 || ^4.0", + "zod-to-json-schema": "^3.25.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@cfworker/json-schema": "^4.1.1", + "zod": "^3.25 || ^4.0" + }, + "peerDependenciesMeta": { + "@cfworker/json-schema": { + "optional": true + }, + "zod": { + "optional": false + } } }, - "node_modules/@types/express-serve-static-core": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.6.tgz", - "integrity": "sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==", + "node_modules/@modelcontextprotocol/sdk/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/@types/express/node_modules/@types/express-serve-static-core": { - "version": "4.19.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", - "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", + "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", + "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", + "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", + "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", + "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", + "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@napi-rs/nice": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.1.1.tgz", + "integrity": "sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/nice-android-arm-eabi": "1.1.1", + "@napi-rs/nice-android-arm64": "1.1.1", + "@napi-rs/nice-darwin-arm64": "1.1.1", + "@napi-rs/nice-darwin-x64": "1.1.1", + "@napi-rs/nice-freebsd-x64": "1.1.1", + "@napi-rs/nice-linux-arm-gnueabihf": "1.1.1", + "@napi-rs/nice-linux-arm64-gnu": "1.1.1", + "@napi-rs/nice-linux-arm64-musl": "1.1.1", + "@napi-rs/nice-linux-ppc64-gnu": "1.1.1", + "@napi-rs/nice-linux-riscv64-gnu": "1.1.1", + "@napi-rs/nice-linux-s390x-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-musl": "1.1.1", + "@napi-rs/nice-openharmony-arm64": "1.1.1", + "@napi-rs/nice-win32-arm64-msvc": "1.1.1", + "@napi-rs/nice-win32-ia32-msvc": "1.1.1", + "@napi-rs/nice-win32-x64-msvc": "1.1.1" + } + }, + "node_modules/@napi-rs/nice-android-arm-eabi": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.1.1.tgz", + "integrity": "sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-android-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.1.1.tgz", + "integrity": "sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.1.1.tgz", + "integrity": "sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.1.1.tgz", + "integrity": "sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-freebsd-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.1.1.tgz", + "integrity": "sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm-gnueabihf": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.1.1.tgz", + "integrity": "sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.1.1.tgz", + "integrity": "sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.1.1.tgz", + "integrity": "sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-ppc64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.1.1.tgz", + "integrity": "sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-riscv64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.1.1.tgz", + "integrity": "sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-s390x-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.1.1.tgz", + "integrity": "sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.1.1.tgz", + "integrity": "sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.1.1.tgz", + "integrity": "sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-openharmony-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-openharmony-arm64/-/nice-openharmony-arm64-1.1.1.tgz", + "integrity": "sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-arm64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.1.1.tgz", + "integrity": "sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-ia32-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.1.1.tgz", + "integrity": "sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-x64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.1.1.tgz", + "integrity": "sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@ngtools/webpack": { + "version": "20.3.12", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-20.3.12.tgz", + "integrity": "sha512-ePuofHOtbgvEq2t+hcmL30s4q9HQ/nv9ABwpLiELdVIObcWUnrnizAvM7hujve/9CQL6gRCeEkxPLPS4ZrK9AQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^20.0.0", + "typescript": ">=5.8 <6.0", + "webpack": "^5.54.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", + "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@npmcli/fs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", + "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/git": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-6.0.3.tgz", + "integrity": "sha512-GUYESQlxZRAdhs3UhbB6pVRNUELQOHXwK9ruDkwmCv2aZ5y0SApQzUJCg02p3A7Ue2J5hxvlk1YI53c00NmRyQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^8.0.0", + "ini": "^5.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^10.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-3.0.0.tgz", + "integrity": "sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-4.0.0.tgz", + "integrity": "sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/package-json": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-6.2.0.tgz", + "integrity": "sha512-rCNLSB/JzNvot0SEyXqWZ7tX2B5dD2a1br2Dp0vSYVo5jh8Z0EZ7lS9TsZ1UtziddB1UfNUaMCc538/HztnJGA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", + "semver": "^7.5.3", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/json-parse-even-better-errors": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-8.0.2.tgz", + "integrity": "sha512-/bNJhjc+o6qL+Dwz/bqfTQClkEO5nTQ1ZEcdCkAQjhkZMHIh22LPG7fNh1enJP1NKWDqYiiABnjFCY7E0zHYtQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/redact": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-3.2.2.tgz", + "integrity": "sha512-7VmYAmk4csGv08QzrDKScdzn11jHPFGyqJW39FyPgPuAp3zIaUmuCo1yxw9aGs+NEJuTGQ9Gwqpt93vtJubucg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-9.1.0.tgz", + "integrity": "sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "node-gyp": "^11.0.0", + "proc-log": "^5.0.0", + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/@parcel/watcher/node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.3.tgz", + "integrity": "sha512-h6cqHGZ6VdnwliFG1NXvMPTy/9PS3h8oLh7ImwR+kl+oYnQizgjxsONmmPSb2C66RksfkfIxEVtDSEcJiO0tqw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.3.tgz", + "integrity": "sha512-wd+u7SLT/u6knklV/ifG7gr5Qy4GUbH2hMWcDauPFJzmCZUAJ8L2bTkVXC2niOIxp8lk3iH/QX8kSrUxVZrOVw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.3.tgz", + "integrity": "sha512-lj9ViATR1SsqycwFkJCtYfQTheBdvlWJqzqxwc9f2qrcVrQaF/gCuBRTiTolkRWS6KvNxSk4KHZWG7tDktLgjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.3.tgz", + "integrity": "sha512-+Dyo7O1KUmIsbzx1l+4V4tvEVnVQqMOIYtrxK7ncLSknl1xnMHLgn7gddJVrYPNZfEB8CIi3hK8gq8bDhb3h5A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.3.tgz", + "integrity": "sha512-u9Xg2FavYbD30g3DSfNhxgNrxhi6xVG4Y6i9Ur1C7xUuGDW3banRbXj+qgnIrwRN4KeJ396jchwy9bCIzbyBEQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.3.tgz", + "integrity": "sha512-5M8kyi/OX96wtD5qJR89a/3x5x8x5inXBZO04JWhkQb2JWavOWfjgkdvUqibGJeNNaz1/Z1PPza5/tAPXICI6A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.3.tgz", + "integrity": "sha512-IoerZJ4l1wRMopEHRKOO16e04iXRDyZFZnNZKrWeNquh5d6bucjezgd+OxG03mOMTnS1x7hilzb3uURPkJ0OfA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.3.tgz", + "integrity": "sha512-ZYdtqgHTDfvrJHSh3W22TvjWxwOgc3ThK/XjgcNGP2DIwFIPeAPNsQxrJO5XqleSlgDux2VAoWQ5iJrtaC1TbA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.3.tgz", + "integrity": "sha512-NcViG7A0YtuFDA6xWSgmFb6iPFzHlf5vcqb2p0lGEbT+gjrEEz8nC/EeDHvx6mnGXnGCC1SeVV+8u+smj0CeGQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.3.tgz", + "integrity": "sha512-d3pY7LWno6SYNXRm6Ebsq0DJGoiLXTb83AIPCXl9fmtIQs/rXoS8SJxxUNtFbJ5MiOvs+7y34np77+9l4nfFMw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.3.tgz", + "integrity": "sha512-3y5GA0JkBuirLqmjwAKwB0keDlI6JfGYduMlJD/Rl7fvb4Ni8iKdQs1eiunMZJhwDWdCvrcqXRY++VEBbvk6Eg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.3.tgz", + "integrity": "sha512-AUUH65a0p3Q0Yfm5oD2KVgzTKgwPyp9DSXc3UA7DtxhEb/WSPfbG4wqXeSN62OG5gSo18em4xv6dbfcUGXcagw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.3.tgz", + "integrity": "sha512-1makPhFFVBqZE+XFg3Dkq+IkQ7JvmUrwwqaYBL2CE+ZpxPaqkGaiWFEWVGyvTwZace6WLJHwjVh/+CXbKDGPmg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.3.tgz", + "integrity": "sha512-OOFJa28dxfl8kLOPMUOQBCO6z3X2SAfzIE276fwT52uXDWUS178KWq0pL7d6p1kz7pkzA0yQwtqL0dEPoVcRWg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.3.tgz", + "integrity": "sha512-jMdsML2VI5l+V7cKfZx3ak+SLlJ8fKvLJ0Eoa4b9/vCUrzXKgoKxvHqvJ/mkWhFiyp88nCkM5S2v6nIwRtPcgg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.3.tgz", + "integrity": "sha512-tPgGd6bY2M2LJTA1uGq8fkSPK8ZLYjDjY+ZLK9WHncCnfIz29LIXIqUgzCR0hIefzy6Hpbe8Th5WOSwTM8E7LA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.3.tgz", + "integrity": "sha512-BCFkJjgk+WFzP+tcSMXq77ymAPIxsX9lFJWs+2JzuZTLtksJ2o5hvgTdIcZ5+oKzUDMwI0PfWzRBYAydAHF2Mw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.3.tgz", + "integrity": "sha512-KTD/EqjZF3yvRaWUJdD1cW+IQBk4fbQaHYJUmP8N4XoKFZilVL8cobFSTDnjTtxWJQ3JYaMgF4nObY/+nYkumA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.3.tgz", + "integrity": "sha512-+zteHZdoUYLkyYKObGHieibUFLbttX2r+58l27XZauq0tcWYYuKUwY2wjeCN9oK1Um2YgH2ibd6cnX/wFD7DuA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.3.tgz", + "integrity": "sha512-of1iHkTQSo3kr6dTIRX6t81uj/c/b15HXVsPcEElN5sS859qHrOepM5p9G41Hah+CTqSh2r8Bm56dL2z9UQQ7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.3.tgz", + "integrity": "sha512-s0hybmlHb56mWVZQj8ra9048/WZTPLILKxcvcq+8awSZmyiSUZjjem1AhU3Tf4ZKpYhK4mg36HtHDOe8QJS5PQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.3.tgz", + "integrity": "sha512-zGIbEVVXVtauFgl3MRwGWEN36P5ZGenHRMgNw88X5wEhEBpq0XrMEZwOn07+ICrwM17XO5xfMZqh0OldCH5VTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@schematics/angular": { + "version": "20.3.13", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-20.3.13.tgz", + "integrity": "sha512-ETJ1budKmrkdxojo5QP6TPr6zQZYGxtWWf8NrX1cBIS851zPCmFkKyhSFLZsoksariYF/LP8ljvm8tlcIzt/XA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.3.13", + "@angular-devkit/schematics": "20.3.13", + "jsonc-parser": "3.3.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@schematics/angular/node_modules/@angular-devkit/core": { + "version": "20.3.13", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.3.13.tgz", + "integrity": "sha512-/D84T1Caxll3I2sRihPDR9UaWBhF50M+tAX15PdP6uSh/TxwAlLl9p7Rm1bD0mPjPercqaEKA+h9a9qLP16hug==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.3", + "rxjs": "7.8.2", + "source-map": "0.7.6" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@schematics/angular/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@schematics/angular/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@sigstore/bundle": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-3.1.0.tgz", + "integrity": "sha512-Mm1E3/CmDDCz3nDhFKTuYdB47EdRFRQMOE/EAbiG1MJW77/w1b3P7Qx7JSrVJs8PfwOLOVcKQCHErIwCTyPbag==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.4.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-2.0.0.tgz", + "integrity": "sha512-nYxaSb/MtlSI+JWcwTHQxyNmWeWrUXJJ/G4liLrGG7+tS4vAz6LF3xRXqLH6wPIVUoZQel2Fs4ddLx4NCpiIYg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.4.3.tgz", + "integrity": "sha512-fk2zjD9117RL9BjqEwF7fwv7Q/P9yGsMV4MUJZ/DocaQJ6+3pKr+syBq1owU5Q5qGw5CUbXzm+4yJ2JVRDQeSA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-3.1.0.tgz", + "integrity": "sha512-knzjmaOHOov1Ur7N/z4B1oPqZ0QX5geUfhrVaqVlu+hl0EAoL4o+l0MSULINcD5GCWe3Z0+YJO8ues6vFlW0Yw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "make-fetch-happen": "^14.0.2", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-3.1.1.tgz", + "integrity": "sha512-eFFvlcBIoGwVkkwmTi/vEQFSva3xs5Ot3WmBcjgjVdiaoelBLQaQ/ZBfhlG0MnG0cmTYScPpk7eDdGDWUcFUmg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.4.1", + "tuf-js": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/verify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-2.1.1.tgz", + "integrity": "sha512-hVJD77oT67aowHxwT4+M6PGOp+E2LtLdTK3+FC0lBO9T7sYwItDMXZ7Z07IDCvR1M717a4axbIWckrW67KMP/w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-3.0.1.tgz", + "integrity": "sha512-UUYHISyhCU3ZgN8yaear3cGATHb3SMuKHsQ/nVbHXcmnBf+LzQ/cQfhNG+rfaSHgqGKNEm2cOCLVLELStUQ1JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/express": { + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", + "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "^1" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.19.7", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.7.tgz", + "integrity": "sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", "@types/send": "*" } }, "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", "dev": true, "license": "MIT" }, @@ -4145,9 +5766,9 @@ "dev": true }, "node_modules/@types/node-forge": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", - "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", + "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", "dev": true, "license": "MIT", "dependencies": { @@ -4155,9 +5776,9 @@ } }, "node_modules/@types/qs": { - "version": "6.9.18", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.18.tgz", - "integrity": "sha512-kK7dgTYDyGqS+e2Q4aK9X3D7q234CIZ1Bv0q/7Z5IwRDoADNU81xXJK/YVyLbLTZCoIwUoDoffFeF+p/eIklAA==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", "dev": true, "license": "MIT" }, @@ -4176,13 +5797,12 @@ "license": "MIT" }, "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/mime": "^1", "@types/node": "*" } }, @@ -4197,15 +5817,26 @@ } }, "node_modules/@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", "dev": true, "license": "MIT", "dependencies": { "@types/http-errors": "*", "@types/node": "*", - "@types/send": "*" + "@types/send": "<1" + } + }, + "node_modules/@types/serve-static/node_modules/@types/send": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" } }, "node_modules/@types/sockjs": { @@ -4410,45 +6041,63 @@ "dev": true }, "node_modules/abbrev": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", - "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", + "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==", "dev": true, "license": "ISC", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", "dev": true, "license": "MIT", "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" }, "engines": { "node": ">= 0.6" } }, - "node_modules/accepts/node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "node_modules/accepts/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" } }, + "node_modules/accepts/node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -4456,6 +6105,19 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, "node_modules/adjust-sourcemap-loader": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", @@ -4501,6 +6163,7 @@ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -4543,6 +6206,32 @@ "ajv": "^8.8.2" } }, + "node_modules/algoliasearch": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.35.0.tgz", + "integrity": "sha512-Y+moNhsqgLmvJdgTsO4GZNgsaDWv8AOGAaPeIeHKlDn/XunoAqYbA+XNpBd1dW8GOXAUDyxC9Rxc7AV4kpFcIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/abtesting": "1.1.0", + "@algolia/client-abtesting": "5.35.0", + "@algolia/client-analytics": "5.35.0", + "@algolia/client-common": "5.35.0", + "@algolia/client-insights": "5.35.0", + "@algolia/client-personalization": "5.35.0", + "@algolia/client-query-suggestions": "5.35.0", + "@algolia/client-search": "5.35.0", + "@algolia/ingestion": "1.35.0", + "@algolia/monitoring": "1.35.0", + "@algolia/recommend": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/ansi-colors": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", @@ -4633,9 +6322,9 @@ "license": "MIT" }, "node_modules/autoprefixer": { - "version": "10.4.20", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", - "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "version": "10.4.21", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", + "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==", "dev": true, "funding": [ { @@ -4653,11 +6342,11 @@ ], "license": "MIT", "dependencies": { - "browserslist": "^4.23.3", - "caniuse-lite": "^1.0.30001646", + "browserslist": "^4.24.4", + "caniuse-lite": "^1.0.30001702", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.1", + "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -4671,32 +6360,31 @@ } }, "node_modules/babel-loader": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", - "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-10.0.0.tgz", + "integrity": "sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==", "dev": true, "license": "MIT", "dependencies": { - "find-cache-dir": "^4.0.0", - "schema-utils": "^4.0.0" + "find-up": "^5.0.0" }, "engines": { - "node": ">= 14.15.0" + "node": "^18.20.0 || ^20.10.0 || >=22.0.0" }, "peerDependencies": { "@babel/core": "^7.12.0", - "webpack": ">=5" + "webpack": ">=5.61.0" } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.12", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", - "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.3", + "@babel/compat-data": "^7.27.7", + "@babel/helper-define-polyfill-provider": "^0.6.5", "semver": "^6.3.1" }, "peerDependencies": { @@ -4714,27 +6402,27 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", - "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.3", - "core-js-compat": "^3.40.0" + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", - "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.3" + "@babel/helper-define-polyfill-provider": "^0.6.5" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -4747,26 +6435,6 @@ "dev": true, "license": "MIT" }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", @@ -4775,14 +6443,14 @@ "license": "MIT" }, "node_modules/beasties": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.2.tgz", - "integrity": "sha512-p4AF8uYzm9Fwu8m/hSVTCPXrRBPmB34hQpHsec2KOaR9CZmgoU8IOv4Cvwq4hgz2p4hLMNbsdNl5XeA6XbAQwA==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.5.tgz", + "integrity": "sha512-NaWu+f4YrJxEttJSm16AzMIFtVldCvaJ68b1L098KpqXmxt9xOLtKoLkKxb8ekhOrLqEJAbvT6n6SEvB/sac7A==", "dev": true, "license": "Apache-2.0", "dependencies": { - "css-select": "^5.1.0", - "css-what": "^6.1.0", + "css-select": "^6.0.0", + "css-what": "^7.0.0", "dom-serializer": "^2.0.0", "domhandler": "^5.0.3", "htmlparser2": "^10.0.0", @@ -4817,72 +6485,48 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, "node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.1.tgz", + "integrity": "sha512-nfDwkulwiZYQIGwxdy0RUmowMhKcFVcYXUU7m4QlKYim1rUtg83xm2yjZ40QjDuc291AJjjeSc9b++AWHSgSHw==", "dev": true, "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.3", + "http-errors": "^2.0.0", + "iconv-lite": "^0.7.0", + "on-finished": "^2.4.1", + "qs": "^6.14.0", + "raw-body": "^3.0.1", + "type-is": "^2.0.1" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/body-parser/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz", + "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==", "dev": true, "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, "node_modules/bonjour-service": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", @@ -4902,9 +6546,9 @@ "license": "ISC" }, "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4925,9 +6569,9 @@ } }, "node_modules/browserslist": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "version": "4.25.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.4.tgz", + "integrity": "sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==", "dev": true, "funding": [ { @@ -4944,11 +6588,12 @@ } ], "license": "MIT", + "peer": true, "dependencies": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", + "caniuse-lite": "^1.0.30001737", + "electron-to-chromium": "^1.5.211", "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.1" + "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" @@ -4957,30 +6602,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -5140,9 +6761,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001690", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz", - "integrity": "sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==", + "version": "1.0.30001741", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001741.tgz", + "integrity": "sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw==", "dev": true, "funding": [ { @@ -5160,10 +6781,23 @@ ], "license": "CC-BY-4.0" }, + "node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz", + "integrity": "sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==", "dev": true, "license": "MIT" }, @@ -5173,6 +6807,7 @@ "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "readdirp": "^4.0.1" }, @@ -5204,15 +6839,19 @@ } }, "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", "dev": true, + "license": "MIT", "dependencies": { - "restore-cursor": "^3.1.0" + "restore-cursor": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/cli-spinners": { @@ -5246,9 +6885,9 @@ } }, "node_modules/cli-truncate/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", + "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", "dev": true, "license": "MIT", "engines": { @@ -5259,9 +6898,9 @@ } }, "node_modules/cli-truncate/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz", + "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==", "dev": true, "license": "MIT" }, @@ -5310,26 +6949,72 @@ } }, "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", "dev": true, + "license": "ISC", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" }, + "engines": { + "node": ">=20" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "node_modules/cliui/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, "engines": { - "node": ">=0.8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/clone-deep": { @@ -5380,13 +7065,6 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", - "dev": true, - "license": "ISC" - }, "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", @@ -5401,9 +7079,9 @@ } }, "node_modules/compression": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.0.tgz", - "integrity": "sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", "dev": true, "license": "MIT", "dependencies": { @@ -5411,7 +7089,7 @@ "compressible": "~2.0.18", "debug": "2.6.9", "negotiator": "~0.6.4", - "on-headers": "~1.0.2", + "on-headers": "~1.1.0", "safe-buffer": "5.2.1", "vary": "~1.1.2" }, @@ -5478,39 +7156,19 @@ } }, "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz", + "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==", "dev": true, "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/content-disposition/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, "node_modules/content-type": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", @@ -5531,9 +7189,9 @@ } }, "node_modules/cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", "dev": true, "license": "MIT", "engines": { @@ -5541,17 +7199,21 @@ } }, "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } }, "node_modules/copy-anything": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", "dev": true, + "license": "MIT", "dependencies": { "is-what": "^3.14.1" }, @@ -5560,18 +7222,17 @@ } }, "node_modules/copy-webpack-plugin": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-12.0.2.tgz", - "integrity": "sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA==", + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-13.0.1.tgz", + "integrity": "sha512-J+YV3WfhY6W/Xf9h+J1znYuqTye2xkBUIGyTPWuBAT27qajBa5mR4f8WBmfDY3YjRftT2kqZZiLi1qf0H+UOFw==", "dev": true, "license": "MIT", "dependencies": { - "fast-glob": "^3.3.2", "glob-parent": "^6.0.1", - "globby": "^14.0.0", "normalize-path": "^3.0.0", "schema-utils": "^4.2.0", - "serialize-javascript": "^6.0.2" + "serialize-javascript": "^6.0.2", + "tinyglobby": "^0.2.12" }, "engines": { "node": ">= 18.12.0" @@ -5584,27 +7245,14 @@ "webpack": "^5.1.0" } }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/core-js-compat": { - "version": "3.41.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.41.0.tgz", - "integrity": "sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A==", + "version": "3.45.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.45.1.tgz", + "integrity": "sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.24.4" + "browserslist": "^4.25.3" }, "funding": { "type": "opencollective", @@ -5618,6 +7266,20 @@ "dev": true, "license": "MIT" }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/cosmiconfig": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", @@ -5720,26 +7382,26 @@ } }, "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-6.0.0.tgz", + "integrity": "sha512-rZZVSLle8v0+EY8QAkDWrKhpgt6SA5OtHsgBnsj6ZaLb5dmDVOWUDtQitd9ydxxvEjhewNudS6eTVU7uOyzvXw==", "dev": true, "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" + "css-what": "^7.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "nth-check": "^2.1.1" }, "funding": { "url": "https://github.com/sponsors/fb55" } }, "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz", + "integrity": "sha512-wD5oz5xibMOPHzy13CyGmogB3phdvcDaB5t0W/Nr5Z2O/agcB8YwOz6e2Lsp10pNDzBoDO9nVa3RGs/2BttpHQ==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -5763,9 +7425,9 @@ } }, "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, "license": "MIT", "dependencies": { @@ -5781,9 +7443,9 @@ } }, "node_modules/default-browser": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", - "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz", + "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==", "dev": true, "license": "MIT", "dependencies": { @@ -5798,9 +7460,9 @@ } }, "node_modules/default-browser-id": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", - "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", "dev": true, "license": "MIT", "engines": { @@ -5810,15 +7472,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "dependencies": { - "clone": "^1.0.2" - } - }, "node_modules/define-lazy-prop": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", @@ -5859,9 +7512,9 @@ "integrity": "sha512-dg5YBTJYvogK1+dA2mBUDKzOWfYZtHVba89SyZUhc4+e3i2tzgjANFg5lDRCd3UOtRcw00vUTMK8LELcMdicug==" }, "node_modules/detect-libc": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", - "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", "dev": true, "license": "Apache-2.0", "optional": true, @@ -5986,9 +7639,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.75", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.75.tgz", - "integrity": "sha512-Lf3++DumRE/QmweGjU+ZcKqQ+3bKkU/qjaKYhIJKEOhgIO9Xs6IiAQFkfFoj+RhgDk4LUeNsLo6plExHqSyu6Q==", + "version": "1.5.214", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.214.tgz", + "integrity": "sha512-TpvUNdha+X3ybfU78NoQatKvQEm1oq3lf2QbnmCEdw+Bd9RuIAY+hJTvq1avzHM0f7EJfnH3vbCnbzKzisc/9Q==", "dev": true, "license": "ISC" }, @@ -6030,9 +7683,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "version": "5.18.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", + "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", "dev": true, "license": "MIT", "dependencies": { @@ -6090,6 +7743,7 @@ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "prr": "~1.0.1" @@ -6149,9 +7803,9 @@ } }, "node_modules/esbuild": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.1.tgz", - "integrity": "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", + "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -6162,37 +7816,38 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.1", - "@esbuild/android-arm": "0.25.1", - "@esbuild/android-arm64": "0.25.1", - "@esbuild/android-x64": "0.25.1", - "@esbuild/darwin-arm64": "0.25.1", - "@esbuild/darwin-x64": "0.25.1", - "@esbuild/freebsd-arm64": "0.25.1", - "@esbuild/freebsd-x64": "0.25.1", - "@esbuild/linux-arm": "0.25.1", - "@esbuild/linux-arm64": "0.25.1", - "@esbuild/linux-ia32": "0.25.1", - "@esbuild/linux-loong64": "0.25.1", - "@esbuild/linux-mips64el": "0.25.1", - "@esbuild/linux-ppc64": "0.25.1", - "@esbuild/linux-riscv64": "0.25.1", - "@esbuild/linux-s390x": "0.25.1", - "@esbuild/linux-x64": "0.25.1", - "@esbuild/netbsd-arm64": "0.25.1", - "@esbuild/netbsd-x64": "0.25.1", - "@esbuild/openbsd-arm64": "0.25.1", - "@esbuild/openbsd-x64": "0.25.1", - "@esbuild/sunos-x64": "0.25.1", - "@esbuild/win32-arm64": "0.25.1", - "@esbuild/win32-ia32": "0.25.1", - "@esbuild/win32-x64": "0.25.1" + "@esbuild/aix-ppc64": "0.25.9", + "@esbuild/android-arm": "0.25.9", + "@esbuild/android-arm64": "0.25.9", + "@esbuild/android-x64": "0.25.9", + "@esbuild/darwin-arm64": "0.25.9", + "@esbuild/darwin-x64": "0.25.9", + "@esbuild/freebsd-arm64": "0.25.9", + "@esbuild/freebsd-x64": "0.25.9", + "@esbuild/linux-arm": "0.25.9", + "@esbuild/linux-arm64": "0.25.9", + "@esbuild/linux-ia32": "0.25.9", + "@esbuild/linux-loong64": "0.25.9", + "@esbuild/linux-mips64el": "0.25.9", + "@esbuild/linux-ppc64": "0.25.9", + "@esbuild/linux-riscv64": "0.25.9", + "@esbuild/linux-s390x": "0.25.9", + "@esbuild/linux-x64": "0.25.9", + "@esbuild/netbsd-arm64": "0.25.9", + "@esbuild/netbsd-x64": "0.25.9", + "@esbuild/openbsd-arm64": "0.25.9", + "@esbuild/openbsd-x64": "0.25.9", + "@esbuild/openharmony-arm64": "0.25.9", + "@esbuild/sunos-x64": "0.25.9", + "@esbuild/win32-arm64": "0.25.9", + "@esbuild/win32-ia32": "0.25.9", + "@esbuild/win32-x64": "0.25.9" } }, "node_modules/esbuild-wasm": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.25.1.tgz", - "integrity": "sha512-dZxPeDHcDIQ6ilml/NzYxnPbNkoVsHSFH3JGLSobttc5qYYgExMo8lh2XcB+w+AfiqykVDGK5PWanGB0gWaAWw==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.25.9.tgz", + "integrity": "sha512-Jpv5tCSwQg18aCqCRD3oHIX/prBhXMDapIoG//A+6+dV0e7KQMGFg85ihJ5T1EeMjbZjON3TqFy0VrGAnIHLDA==", "dev": true, "license": "MIT", "bin": { @@ -6303,124 +7958,121 @@ "node": ">=0.8.x" } }, + "node_modules/eventsource": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", + "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventsource-parser": "^3.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/eventsource-parser": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", + "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/exponential-backoff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", - "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz", + "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==", "dev": true, "license": "Apache-2.0" }, "node_modules/express": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", - "proxy-addr": "~2.0.7", - "qs": "6.13.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" }, "engines": { - "node": ">= 0.10.0" + "node": ">= 18" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/express" } }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/express-rate-limit": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz", + "integrity": "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==", "dev": true, "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": ">= 4.11" } }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/express/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "node_modules/express/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "dev": true, "license": "MIT", - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/external-editor/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/express/node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", "dev": true, "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "mime-db": "^1.54.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/fast-deep-equal": { @@ -6446,6 +8098,19 @@ "node": ">=8.6.0" } }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fast-uri": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", @@ -6454,9 +8119,9 @@ "license": "MIT" }, "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, "license": "ISC", "dependencies": { @@ -6490,70 +8155,39 @@ } }, "node_modules/finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/find-cache-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", - "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", "dev": true, "license": "MIT", "dependencies": { - "common-path-prefix": "^3.0.0", - "pkg-dir": "^7.0.0" + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" }, "engines": { - "node": ">=14.16" + "node": ">= 18.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "license": "MIT", "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -6591,13 +8225,13 @@ } }, "node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", "dev": true, "license": "ISC", "dependencies": { - "cross-spawn": "^7.0.0", + "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" }, "engines": { @@ -6607,19 +8241,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -6645,13 +8266,13 @@ } }, "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/fs-minipass": { @@ -6697,6 +8318,7 @@ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -6706,14 +8328,15 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-east-asian-width": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", - "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.1.tgz", + "integrity": "sha512-R1QfovbPsKmosqTnPoRFiJ7CF9MLRgb53ChvMZm+r4p76/+8yKDy17qLL2PKInORy2RkZZekuK0efYgmzTkXyQ==", "dev": true, "license": "MIT", "engines": { @@ -6763,9 +8386,9 @@ } }, "node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", "dev": true, "license": "ISC", "dependencies": { @@ -6784,54 +8407,41 @@ } }, "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "node": ">=10.13.0" } }, - "node_modules/globby": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", - "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", + "node_modules/glob-to-regex.js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/glob-to-regex.js/-/glob-to-regex.js-1.2.0.tgz", + "integrity": "sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@sindresorhus/merge-streams": "^2.1.0", - "fast-glob": "^3.3.2", - "ignore": "^5.2.4", - "path-type": "^5.0.0", - "slash": "^5.1.0", - "unicorn-magic": "^0.1.0" - }, + "license": "Apache-2.0", "engines": { - "node": ">=18" + "node": ">=10.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -6896,9 +8506,9 @@ } }, "node_modules/hosted-git-info": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.0.2.tgz", - "integrity": "sha512-sYKnA7eGln5ov8T8gnYlkSOxFJvywzEx9BueN6xo/GKO8PGiI6uK6xx+DIGe45T3bdVjLAQDQW1aicT8z8JwQg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", "dev": true, "license": "ISC", "dependencies": { @@ -6975,9 +8585,9 @@ } }, "node_modules/htmlparser2/node_modules/entities": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", - "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -6988,9 +8598,9 @@ } }, "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", "dev": true, "license": "BSD-2-Clause" }, @@ -7018,6 +8628,16 @@ "node": ">= 0.8" } }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/http-parser-js": { "version": "0.5.10", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", @@ -7132,36 +8752,6 @@ "postcss": "^8.1.0" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/ignore-walk": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-7.0.0.tgz", @@ -7180,6 +8770,7 @@ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", "dev": true, + "license": "MIT", "optional": true, "bin": { "image-size": "bin/image-size.js" @@ -7226,7 +8817,8 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/ini": { "version": "5.0.0", @@ -7253,13 +8845,13 @@ } }, "node_modules/ipaddr.js": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", - "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, "license": "MIT", "engines": { - "node": ">= 10" + "node": ">= 0.10" } }, "node_modules/is-arrayish": { @@ -7364,18 +8956,22 @@ } }, "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-network-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", - "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.0.tgz", + "integrity": "sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==", "dev": true, "license": "MIT", "engines": { @@ -7421,13 +9017,21 @@ "node": ">=0.10.0" } }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true, + "license": "MIT" + }, "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -7437,7 +9041,8 @@ "version": "3.14.1", "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-wsl": { "version": "3.1.0", @@ -7546,10 +9151,21 @@ "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", "dev": true, "license": "MIT", + "peer": true, "bin": { "jiti": "bin/jiti.js" } }, + "node_modules/jose": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/jose/-/jose-6.1.3.tgz", + "integrity": "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -7558,9 +9174,9 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, "license": "MIT", "dependencies": { @@ -7653,22 +9269,23 @@ } }, "node_modules/launch-editor": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.10.0.tgz", - "integrity": "sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.12.0.tgz", + "integrity": "sha512-giOHXoOtifjdHqUamwKq6c49GzBdLjvxrd2D+Q4V6uOHopJv7p9VJxikDsQ/CBXZbEITgUqSVHXLTG3VhPP1Dg==", "dev": true, "license": "MIT", "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" } }, "node_modules/less": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/less/-/less-4.2.2.tgz", - "integrity": "sha512-tkuLHQlvWUTeQ3doAqnHbNn8T6WX1KA8yvbKG9x4VtKtIjHsVKQZCH11zRgAfbDAXC2UNIg/K9BYAAcEzUIrNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/less/-/less-4.4.0.tgz", + "integrity": "sha512-kdTwsyRuncDfjEs0DlRILWNvxhDG/Zij4YLO4TMJgDLW+8OzpfkdPnRgrsRuY1o+oaxJGWsps5f/RVBgGmmN0w==", "dev": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "copy-anything": "^2.0.1", "parse-node-version": "^1.0.1", @@ -7678,7 +9295,7 @@ "lessc": "bin/lessc" }, "engines": { - "node": ">=6" + "node": ">=14" }, "optionalDependencies": { "errno": "^0.1.1", @@ -7691,9 +9308,9 @@ } }, "node_modules/less-loader": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.2.0.tgz", - "integrity": "sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.3.0.tgz", + "integrity": "sha512-0M6+uYulvYIWs52y0LqN4+QM9TqWAohYSNTo4htE8Z7Cn3G/qQMEmktfHmyJT23k+20kU9zHH2wrfFXkxNLtVw==", "dev": true, "license": "MIT", "engines": { @@ -7717,35 +9334,12 @@ } } }, - "node_modules/less/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "optional": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/less/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "optional": true, - "bin": { - "semver": "bin/semver" - } - }, "node_modules/less/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "optional": true, "engines": { "node": ">=0.10.0" @@ -7777,61 +9371,328 @@ "license": "MIT" }, "node_modules/listr2": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.5.tgz", - "integrity": "sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.1.tgz", + "integrity": "sha512-SL0JY3DaxylDuo/MecFeiC+7pedM0zia33zl0vcjgwcq1q1FWWF1To9EIauPbl8GbMCU0R2e0uJ8bZunhYKD2g==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/listr2/node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lmdb": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.4.2.tgz", + "integrity": "sha512-nwVGUfTBUwJKXd6lRV8pFNfnrCC1+l49ESJRM19t/tFb/97QfJEixe5DYRvug5JO7DSFKoKaVy7oGMt5rVqZvg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "msgpackr": "^1.11.2", + "node-addon-api": "^6.1.0", + "node-gyp-build-optional-packages": "5.2.2", + "ordered-binary": "^1.5.3", + "weak-lru-cache": "^1.2.2" + }, + "bin": { + "download-lmdb-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "3.4.2", + "@lmdb/lmdb-darwin-x64": "3.4.2", + "@lmdb/lmdb-linux-arm": "3.4.2", + "@lmdb/lmdb-linux-arm64": "3.4.2", + "@lmdb/lmdb-linux-x64": "3.4.2", + "@lmdb/lmdb-win32-arm64": "3.4.2", + "@lmdb/lmdb-win32-x64": "3.4.2" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", + "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", + "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.3.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, "license": "MIT", + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/make-fetch-happen": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz", + "integrity": "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==", + "dev": true, + "license": "ISC", "dependencies": { - "cli-truncate": "^4.0.0", - "colorette": "^2.0.20", - "eventemitter3": "^5.0.1", - "log-update": "^6.1.0", - "rfdc": "^1.4.1", - "wrap-ansi": "^9.0.0" + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "ssri": "^12.0.0" }, "engines": { - "node": ">=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/listr2/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "node": ">= 0.4" } }, - "node_modules/listr2/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, - "node_modules/listr2/node_modules/eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "node_modules/memfs": { + "version": "4.51.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.51.0.tgz", + "integrity": "sha512-4zngfkVM/GpIhC8YazOsM6E8hoB33NP0BCESPOA6z7qaL6umPJNqkO8CNYaLV2FB2MV6H1O3x2luHHOSqppv+A==", "dev": true, - "license": "MIT" + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/json-pack": "^1.11.0", + "@jsonjoy.com/util": "^1.9.0", + "glob-to-regex.js": "^1.0.1", + "thingies": "^2.5.0", + "tree-dump": "^1.0.3", + "tslib": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + } }, - "node_modules/listr2/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", "dev": true, "license": "MIT", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, "engines": { "node": ">=18" }, @@ -7839,1925 +9700,1875 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/listr2/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">= 8" } }, - "node_modules/listr2/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">= 0.6" } }, - "node_modules/lmdb": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.2.6.tgz", - "integrity": "sha512-SuHqzPl7mYStna8WRotY8XX/EUZBjjv3QyKIByeCLFfC9uXT/OIHByEcA07PzbMfQAM0KYJtLgtpMRlIe5dErQ==", + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, - "hasInstallScript": true, "license": "MIT", - "optional": true, "dependencies": { - "msgpackr": "^1.11.2", - "node-addon-api": "^6.1.0", - "node-gyp-build-optional-packages": "5.2.2", - "ordered-binary": "^1.5.3", - "weak-lru-cache": "^1.2.2" - }, - "bin": { - "download-lmdb-prebuilds": "bin/download-prebuilds.js" + "braces": "^3.0.3", + "picomatch": "^2.3.1" }, - "optionalDependencies": { - "@lmdb/lmdb-darwin-arm64": "3.2.6", - "@lmdb/lmdb-darwin-x64": "3.2.6", - "@lmdb/lmdb-linux-arm": "3.2.6", - "@lmdb/lmdb-linux-arm64": "3.2.6", - "@lmdb/lmdb-linux-x64": "3.2.6", - "@lmdb/lmdb-win32-x64": "3.2.6" + "engines": { + "node": ">=8.6" } }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, "license": "MIT", + "bin": { + "mime": "cli.js" + }, "engines": { - "node": ">=6.11.5" + "node": ">=4" } }, - "node_modules/loader-utils": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", - "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 12.13.0" + "node": ">= 0.6" } }, - "node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "license": "MIT", "dependencies": { - "p-locate": "^6.0.0" + "mime-db": "1.52.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true, - "license": "MIT" - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/mini-css-extract-plugin": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.4.tgz", + "integrity": "sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" }, "engines": { - "node": ">=8" + "node": ">= 12.13.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, + "license": "ISC", "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/log-update": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", - "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "ansi-escapes": "^7.0.0", - "cli-cursor": "^5.0.0", - "slice-ansi": "^7.1.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" } }, - "node_modules/log-update/node_modules/cli-cursor": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", - "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "node_modules/minipass-fetch": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz", + "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==", "dev": true, "license": "MIT", "dependencies": { - "restore-cursor": "^5.0.0" + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^3.0.1" }, "engines": { - "node": ">=18" + "node": "^18.17.0 || >=20.5.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "node_modules/log-update/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", "dev": true, - "license": "MIT" + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } }, - "node_modules/log-update/node_modules/is-fullwidth-code-point": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", - "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "get-east-asian-width": "^1.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/log-update/node_modules/onetime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", - "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true, - "license": "MIT", + "license": "ISC" + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "license": "ISC", "dependencies": { - "mimic-function": "^5.0.0" + "minipass": "^3.0.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/log-update/node_modules/restore-cursor": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", - "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "onetime": "^7.0.0", - "signal-exit": "^4.1.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/log-update/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", "dev": true, "license": "ISC", - "engines": { - "node": ">=14" + "dependencies": { + "minipass": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=8" } }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", - "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "node": ">=8" } }, - "node_modules/log-update/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "node_modules/minipass-sized/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minizlib": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", + "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" + "minipass": "^7.1.2" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 18" } }, - "node_modules/log-update/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=10" } }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=10" } }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" + "license": "MIT" + }, + "node_modules/msgpackr": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.5.tgz", + "integrity": "sha512-UjkUHN0yqp9RWKy0Lplhh+wlpdt9oQBYgULZOiFhV3VclSF1JnSQWZ5r9gORQlNYaUKQoR8itv7g7z1xDDuACA==", + "dev": true, + "license": "MIT", + "optional": true, + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" } }, - "node_modules/magic-string": { - "version": "0.30.17", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "node_modules/msgpackr-extract": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", + "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", "dev": true, + "hasInstallScript": true, "license": "MIT", + "optional": true, "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" + "node-gyp-build-optional-packages": "5.2.2" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" } }, - "node_modules/make-fetch-happen": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz", - "integrity": "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==", + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@npmcli/agent": "^3.0.0", - "cacache": "^19.0.1", - "http-cache-semantics": "^4.1.1", - "minipass": "^7.0.2", - "minipass-fetch": "^4.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^1.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "ssri": "^12.0.0" + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" }, - "engines": { - "node": "^18.17.0 || >=20.5.0" + "bin": { + "multicast-dns": "cli.js" } }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "node_modules/mute-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">= 0.4" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, "engines": { - "node": ">= 0.6" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/memfs": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.17.1.tgz", - "integrity": "sha512-thuTRd7F4m4dReCIy7vv4eNYnU6XI/tHMLSMMHLiortw/Y0QxqKtinG523U2aerzwYWGi606oBP4oMPy4+edag==", + "node_modules/needle": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "optional": true, "dependencies": { - "@jsonjoy.com/json-pack": "^1.0.3", - "@jsonjoy.com/util": "^1.3.0", - "tree-dump": "^1.0.1", - "tslib": "^2.0.0" + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" }, - "engines": { - "node": ">= 4.0.0" + "bin": { + "needle": "bin/needle" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "engines": { + "node": ">= 4.4.x" } }, - "node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", "dev": true, "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 0.6" } }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true, "license": "MIT" }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 8" - } + "optional": true }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "node_modules/node-forge": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.2.tgz", + "integrity": "sha512-6xKiQ+cph9KImrRh0VsjH2d8/GXA4FIMlgU4B757iI1ApvcyA9VlouP0yZJha01V+huImO+kKMU7ih+2+E14fw==", "dev": true, - "license": "MIT", + "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { - "node": ">= 0.6" + "node": ">= 6.13.0" } }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "node_modules/node-gyp": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.2.0.tgz", + "integrity": "sha512-T0S1zqskVUSxcsSTkAsLc7xCycrRYmtDHadDinzocrThjyQCn5kMlEBSj6H4qDbgsIOSLmmlRIeb0lZXj+UArA==", "dev": true, "license": "MIT", "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^14.0.3", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "tar": "^7.4.3", + "tinyglobby": "^0.2.12", + "which": "^5.0.0" }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, "bin": { - "mime": "cli.js" + "node-gyp": "bin/node-gyp.js" }, "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "mime-db": "1.52.0" + "detect-libc": "^2.0.1" }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" } }, - "node_modules/mimic-function": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", - "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "node_modules/node-gyp/node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", "dev": true, - "license": "MIT", + "license": "BlueOak-1.0.0", "engines": { "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mini-css-extract-plugin": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", - "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", + "node_modules/node-gyp/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", "dev": true, "license": "MIT", - "dependencies": { - "schema-utils": "^4.0.0", - "tapable": "^2.2.1" + "bin": { + "mkdirp": "dist/cjs/src/bin.js" }, "engines": { - "node": ">= 12.13.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true, - "license": "ISC" - }, - "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "node_modules/node-gyp/node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=18" } }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "node_modules/node-gyp/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=18" } }, - "node_modules/minipass-collect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nopt": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", + "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", "dev": true, "license": "ISC", "dependencies": { - "minipass": "^7.0.3" + "abbrev": "^3.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/minipass-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.0.tgz", - "integrity": "sha512-2v6aXUXwLP1Epd/gc32HAMIWoczx+fZwEPRHm/VwtrJzRGwR1qGZXEYV3Zp8ZjjbwaZhMrM6uHV4KVkk+XCc2w==", + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, "license": "MIT", - "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^3.0.1" - }, "engines": { - "node": "^18.17.0 || >=20.5.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "node_modules/npm-bundled": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz", + "integrity": "sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==", "dev": true, "license": "ISC", "dependencies": { - "minipass": "^3.0.0" + "npm-normalize-package-bin": "^4.0.0" }, "engines": { - "node": ">= 8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "node_modules/npm-install-checks": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-7.1.1.tgz", + "integrity": "sha512-u6DCwbow5ynAX5BdiHQ9qvexme4U3qHW3MWe5NqH+NeBm0LbiH6zvGjNNew1fY+AZZUtVHbOPF3j7mJxbUzpXg==", "dev": true, - "license": "ISC", + "license": "BSD-2-Clause", "dependencies": { - "yallist": "^4.0.0" + "semver": "^7.1.1" }, "engines": { - "node": ">=8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/minipass-flush/node_modules/yallist": { + "node_modules/npm-normalize-package-bin": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", + "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", "dev": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "node_modules/npm-package-arg": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", "dev": true, "license": "ISC", "dependencies": { - "minipass": "^3.0.0" + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" }, "engines": { - "node": ">=8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "node_modules/npm-packlist": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.0.tgz", + "integrity": "sha512-rht9U6nS8WOBDc53eipZNPo5qkAV4X2rhKE2Oj1DYUQ3DieXfj0mKkVmjnf3iuNdtMd8WfLdi2L6ASkD/8a+Kg==", "dev": true, "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "ignore-walk": "^7.0.0" }, "engines": { - "node": ">=8" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/minipass-pipeline/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "node_modules/npm-pick-manifest": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-10.0.0.tgz", + "integrity": "sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ==", "dev": true, "license": "ISC", "dependencies": { - "minipass": "^3.0.0" + "npm-install-checks": "^7.1.0", + "npm-normalize-package-bin": "^4.0.0", + "npm-package-arg": "^12.0.0", + "semver": "^7.3.5" }, "engines": { - "node": ">=8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "node_modules/npm-registry-fetch": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-18.0.2.tgz", + "integrity": "sha512-LeVMZBBVy+oQb5R6FDV9OlJCcWDU+al10oKpe+nsvcHnG24Z3uM3SvJYKfGJlfGjVU8v9liejCrUR/M5HO5NEQ==", "dev": true, "license": "ISC", "dependencies": { - "yallist": "^4.0.0" + "@npmcli/redact": "^3.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^14.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^12.0.0", + "proc-log": "^5.0.0" }, "engines": { - "node": ">=8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/minipass-sized/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, - "node_modules/minizlib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.1.tgz", - "integrity": "sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==", + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "minipass": "^7.0.4", - "rimraf": "^5.0.5" + "boolbase": "^1.0.0" }, - "engines": { - "node": ">= 18" + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/mrmime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", - "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", "dev": true, "license": "MIT" }, - "node_modules/msgpackr": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.2.tgz", - "integrity": "sha512-F9UngXRlPyWCDEASDpTf6c9uNhGPTqnTeLVt7bN+bU1eajoR/8V9ys2BRaV5C/e5ihE6sJ9uPIKaYt6bFuO32g==", - "dev": true, - "license": "MIT", - "optional": true, - "optionalDependencies": { - "msgpackr-extract": "^3.0.2" - } - }, - "node_modules/msgpackr-extract": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", - "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, - "hasInstallScript": true, "license": "MIT", - "optional": true, "dependencies": { - "node-gyp-build-optional-packages": "5.2.2" - }, - "bin": { - "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + "ee-first": "1.1.1" }, - "optionalDependencies": { - "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" + "engines": { + "node": ">= 0.8" } }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", "dev": true, "license": "MIT", - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" + "engines": { + "node": ">= 0.8" } }, - "node_modules/mute-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", - "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" + "dependencies": { + "wrappy": "1" } }, - "node_modules/nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" + "dependencies": { + "mimic-function": "^5.0.0" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/needle": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", - "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", + "node_modules/open": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", "dev": true, - "optional": true, + "license": "MIT", "dependencies": { - "debug": "^3.2.6", - "iconv-lite": "^0.6.3", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "wsl-utils": "^0.1.0" }, "engines": { - "node": ">= 4.4.x" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/needle/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/ora": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-8.2.0.tgz", + "integrity": "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==", "dev": true, - "optional": true, + "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "chalk": "^5.3.0", + "cli-cursor": "^5.0.0", + "cli-spinners": "^2.9.2", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.2", + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "node_modules/ora/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "node_modules/ora/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", "dev": true, "license": "MIT" }, - "node_modules/node-addon-api": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "node_modules/ora/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "license": "MIT", - "optional": true - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "dev": true, - "license": "(BSD-3-Clause OR GPL-2.0)", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, "engines": { - "node": ">= 6.13.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/node-gyp": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.0.0.tgz", - "integrity": "sha512-zQS+9MTTeCMgY0F3cWPyJyRFAkVltQ1uXm+xXu/ES6KFgC6Czo1Seb9vQW2wNxSX2OrDTiqL0ojtkFxBQ0ypIw==", + "node_modules/ora/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "license": "MIT", "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "glob": "^10.3.10", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^14.0.3", - "nopt": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "tar": "^7.4.3", - "which": "^5.0.0" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" + "ansi-regex": "^6.0.1" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/node-gyp-build-optional-packages": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", - "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", + "node_modules/ordered-binary": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.0.tgz", + "integrity": "sha512-IQh2aMfMIDbPjI/8a3Edr+PiOpcsB7yo8NdW7aHWVaoR/pcDldunMvnnwbk/auPGqmKeAdxtZl7MHX/QmPwhvQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "detect-libc": "^2.0.1" + "yocto-queue": "^0.1.0" }, - "bin": { - "node-gyp-build-optional-packages": "bin.js", - "node-gyp-build-optional-packages-optional": "optional.js", - "node-gyp-build-optional-packages-test": "build-test.js" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/node-gyp/node_modules/chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, "engines": { - "node": ">=18" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/node-gyp/node_modules/mkdirp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "node_modules/p-map": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", + "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", "dev": true, "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/node-gyp/node_modules/tar": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", - "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "node_modules/p-retry": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", + "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", - "yallist": "^5.0.0" + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", + "retry": "^0.13.1" }, "engines": { - "node": ">=18" + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/node-gyp/node_modules/yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "node_modules/p-retry/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT", "engines": { - "node": ">=18" + "node": ">= 4" } }, - "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", "dev": true, - "license": "MIT" + "license": "BlueOak-1.0.0" }, - "node_modules/nopt": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.0.0.tgz", - "integrity": "sha512-1L/fTJ4UmV/lUxT2Uf006pfZKTvAgCF+chz+0OgBHO8u2Z67pE7AaAUUj7CJy0lXqHmymUvGFt6NE9R3HER0yw==", + "node_modules/pacote": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.0.0.tgz", + "integrity": "sha512-lcqexq73AMv6QNLo7SOpz0JJoaGdS3rBFgF122NZVl1bApo2mfu+XzUBU/X/XsiJu+iUmKpekRayqQYAs+PhkA==", "dev": true, "license": "ISC", "dependencies": { - "abbrev": "^2.0.0" + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^10.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", + "tar": "^6.1.11" }, "bin": { - "nopt": "bin/nopt.js" + "pacote": "bin/index.js" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/normalize-package-data": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-7.0.0.tgz", - "integrity": "sha512-k6U0gKRIuNCTkwHGZqblCfLfBRh+w1vI6tBo+IeJwq2M8FUiOqhX7GH+GArQGScA7azd1WfyRCvxoXDO3hQDIA==", + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "hosted-git-info": "^8.0.0", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" + "callsites": "^3.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=6" } }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", + "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-8.0.0.tgz", + "integrity": "sha512-wzh11mj8KKkno1pZEu+l2EVeWsuKDfR5KNWZOTsslfUX8lPDZx77m9T0kIoAVkFtD1nx6YF8oh4BnPHvxMtNMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0", + "parse5": "^8.0.0", + "parse5-sax-parser": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "engines": { - "node": ">=0.10.0" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/npm-bundled": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz", - "integrity": "sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==", + "node_modules/parse5-sax-parser": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-8.0.0.tgz", + "integrity": "sha512-/dQ8UzHZwnrzs3EvDj6IkKrD/jIZyTlB+8XrHJvcjNgRdmWruNdN9i9RK/JtxakmlUdPwKubKPTCqvbTgzGhrw==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "npm-normalize-package-bin": "^4.0.0" + "parse5": "^8.0.0" }, - "engines": { - "node": "^18.17.0 || >=20.5.0" + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "node_modules/npm-install-checks": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-7.1.1.tgz", - "integrity": "sha512-u6DCwbow5ynAX5BdiHQ9qvexme4U3qHW3MWe5NqH+NeBm0LbiH6zvGjNNew1fY+AZZUtVHbOPF3j7mJxbUzpXg==", + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", "dev": true, "license": "BSD-2-Clause", - "dependencies": { - "semver": "^7.1.1" - }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/npm-normalize-package-bin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", - "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">= 0.8" } }, - "node_modules/npm-package-arg": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", - "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "license": "ISC", - "dependencies": { - "hosted-git-info": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^6.0.0" - }, + "license": "MIT", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=8" } }, - "node_modules/npm-packlist": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-9.0.0.tgz", - "integrity": "sha512-8qSayfmHJQTx3nJWYbbUmflpyarbLMBc6LCAjYsiGtXxDB68HaZpb8re6zeaLGxZzDuMdhsg70jryJe+RrItVQ==", + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "license": "ISC", - "dependencies": { - "ignore-walk": "^7.0.0" - }, + "license": "MIT", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=8" } }, - "node_modules/npm-pick-manifest": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-10.0.0.tgz", - "integrity": "sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ==", + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "npm-install-checks": "^7.1.0", - "npm-normalize-package-bin": "^4.0.0", - "npm-package-arg": "^12.0.0", - "semver": "^7.3.5" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm-registry-fetch": { - "version": "18.0.2", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-18.0.2.tgz", - "integrity": "sha512-LeVMZBBVy+oQb5R6FDV9OlJCcWDU+al10oKpe+nsvcHnG24Z3uM3SvJYKfGJlfGjVU8v9liejCrUR/M5HO5NEQ==", + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/redact": "^3.0.0", - "jsonparse": "^1.3.1", - "make-fetch-happen": "^14.0.0", - "minipass": "^7.0.2", - "minipass-fetch": "^4.0.0", - "minizlib": "^3.0.1", - "npm-package-arg": "^12.0.0", - "proc-log": "^5.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } + "license": "ISC" }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "node_modules/path-to-regexp": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0" - }, + "license": "MIT", "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "engines": { + "node": ">=6" + } }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "node_modules/piscina": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-5.1.3.tgz", + "integrity": "sha512-0u3N7H4+hbr40KjuVn2uNhOcthu/9usKhnw5vT3J7ply79v3D3M8naI00el9Klcy16x557VsEkkUQaHCWFXC/g==", "dev": true, "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, "engines": { - "node": ">= 0.8" + "node": ">=20.x" + }, + "optionalDependencies": { + "@napi-rs/nice": "^1.0.4" } }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "node_modules/pkce-challenge": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz", + "integrity": "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=16.20.0" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, "dependencies": { - "mimic-fn": "^2.1.0" + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^10 || ^12 || >=14" } }, - "node_modules/open": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", - "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", + "node_modules/postcss-loader": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.1.1.tgz", + "integrity": "sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==", "dev": true, "license": "MIT", "dependencies": { - "default-browser": "^5.2.1", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^3.1.0" + "cosmiconfig": "^9.0.0", + "jiti": "^1.20.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "dev": true, + "license": "ISC", "engines": { - "node": ">=18" + "node": "^10 || ^12 || >= 14" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", + "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", "dev": true, + "license": "MIT", "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" }, "engines": { - "node": ">=10" + "node": "^10 || ^12 || >= 14" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/ora/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/postcss-modules-scope": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", + "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", "dev": true, + "license": "ISC", "dependencies": { - "color-convert": "^2.0.1" + "postcss-selector-parser": "^6.0.4" }, "engines": { - "node": ">=8" + "node": "^10 || ^12 || >= 14" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/ora/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", "dev": true, + "license": "ISC", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "icss-utils": "^5.0.0" }, "engines": { - "node": ">=10" + "node": "^10 || ^12 || >= 14" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/ora/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/postcss-selector-parser": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", + "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/ordered-binary": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.3.tgz", - "integrity": "sha512-oGFr3T+pYdTGJ+YFEILMpS3es+GiIbs9h/XQrclBXUtd44ey7XwfsMzM31f64I1SQOawDoDr/D823kNCADI8TA==", + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true, - "license": "MIT", - "optional": true + "license": "MIT" }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "node_modules/proc-log": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", + "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">=0.10.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", "dev": true, "license": "MIT", "dependencies": { - "yocto-queue": "^1.0.0" + "err-code": "^2.0.2", + "retry": "^0.12.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10" } }, - "node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, "license": "MIT", "dependencies": { - "p-limit": "^4.0.0" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.10" } }, - "node_modules/p-map": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", - "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "dev": true, "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "optional": true }, - "node_modules/p-retry": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", - "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "@types/retry": "0.12.2", - "is-network-error": "^1.0.0", - "retry": "^0.13.1" + "side-channel": "^1.1.0" }, "engines": { - "node": ">=16.17" + "node": ">=0.6" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry/node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, - "license": "BlueOak-1.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "node_modules/pacote": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-20.0.0.tgz", - "integrity": "sha512-pRjC5UFwZCgx9kUFDVM9YEahv4guZ1nSLqwmWiLUnDbGsjs+U5w7z6Uc8HNR1a6x8qnu5y9xtGE6D1uAuYz+0A==", + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "@npmcli/git": "^6.0.0", - "@npmcli/installed-package-contents": "^3.0.0", - "@npmcli/package-json": "^6.0.0", - "@npmcli/promise-spawn": "^8.0.0", - "@npmcli/run-script": "^9.0.0", - "cacache": "^19.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^7.0.2", - "npm-package-arg": "^12.0.0", - "npm-packlist": "^9.0.0", - "npm-pick-manifest": "^10.0.0", - "npm-registry-fetch": "^18.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "sigstore": "^3.0.0", - "ssri": "^12.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "bin/index.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" + "safe-buffer": "^5.1.0" } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": ">= 0.6" } }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "node_modules/raw-body": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true, "engines": { "node": ">= 0.10" } }, - "node_modules/parse5": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "entities": "^6.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-html-rewriting-stream": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", - "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==", + "node_modules/raw-body/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", "dev": true, "license": "MIT", "dependencies": { - "entities": "^4.3.0", - "parse5": "^7.0.0", - "parse5-sax-parser": "^7.0.0" + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" }, "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/parse5-sax-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", - "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==", + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz", + "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==", "dev": true, "license": "MIT", "dependencies": { - "parse5": "^7.0.0" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5/node_modules/entities": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", - "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==", - "dev": true, - "license": "BSD-2-Clause", "engines": { - "node": ">=0.12" + "node": ">=0.10.0" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, "engines": { - "node": ">= 0.8" + "node": ">= 6" } }, - "node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "node_modules/readdirp": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.1.tgz", + "integrity": "sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==", "dev": true, "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "license": "Apache-2.0" }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true, + "license": "MIT" }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "node_modules/regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT", "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "regenerate": "^1.4.2" }, "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=4" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/path-to-regexp": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "node_modules/regex-parser": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz", + "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==", "dev": true, "license": "MIT" }, - "node_modules/path-type": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", - "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "node_modules/regexpu-core": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.12.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" } }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/regjsparser": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", "dev": true, - "engines": { - "node": ">=8.6" + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.0.2" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "bin": { + "regjsparser": "bin/parser" } }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "node_modules/regjsparser/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", "dev": true, - "optional": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, "engines": { "node": ">=6" } }, - "node_modules/piscina": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.8.0.tgz", - "integrity": "sha512-EZJb+ZxDrQf3dihsUL7p42pjNyrNIFJCrRHPMgxu/svsj+P3xS3fuEWp7k2+rfsavfl1N0G29b1HGs7J0m8rZA==", - "dev": true, - "license": "MIT", - "optionalDependencies": { - "@napi-rs/nice": "^1.0.1" - } - }, - "node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^6.3.0" - }, "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/postcss": { - "version": "8.5.2", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.2.tgz", - "integrity": "sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==", + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } + "license": "MIT" }, - "node_modules/postcss-loader": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.1.1.tgz", - "integrity": "sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==", + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, "license": "MIT", "dependencies": { - "cosmiconfig": "^9.0.0", - "jiti": "^1.20.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" + "bin": { + "resolve": "bin/resolve" }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/postcss-media-query-parser": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", - "dev": true, - "license": "MIT" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", - "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=4" } }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", - "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "node_modules/resolve-url-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", + "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", "dev": true, "license": "MIT", "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.14", + "source-map": "0.6.1" }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=12" } }, - "node_modules/postcss-modules-scope": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", - "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "node_modules/resolve-url-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.4" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=8.9.0" } }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "ISC", - "dependencies": { - "icss-utils": "^5.0.0" - }, + "license": "BSD-3-Clause", "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=0.10.0" } }, - "node_modules/postcss-selector-parser": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", - "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", "dev": true, "license": "MIT", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 4" + } }, - "node_modules/proc-log": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", - "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==", + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": "^18.17.0 || >=20.5.0" + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", "dev": true, "license": "MIT" }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "node_modules/rollup": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.3.tgz", + "integrity": "sha512-RIDh866U8agLgiIcdpB+COKnlCreHJLfIhWC3LVflku5YHfpnsIKigRZeFfMfCc4dVcqNVfQQ5gO/afOck064A==", "dev": true, "license": "MIT", "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=10" + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.52.3", + "@rollup/rollup-android-arm64": "4.52.3", + "@rollup/rollup-darwin-arm64": "4.52.3", + "@rollup/rollup-darwin-x64": "4.52.3", + "@rollup/rollup-freebsd-arm64": "4.52.3", + "@rollup/rollup-freebsd-x64": "4.52.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.52.3", + "@rollup/rollup-linux-arm-musleabihf": "4.52.3", + "@rollup/rollup-linux-arm64-gnu": "4.52.3", + "@rollup/rollup-linux-arm64-musl": "4.52.3", + "@rollup/rollup-linux-loong64-gnu": "4.52.3", + "@rollup/rollup-linux-ppc64-gnu": "4.52.3", + "@rollup/rollup-linux-riscv64-gnu": "4.52.3", + "@rollup/rollup-linux-riscv64-musl": "4.52.3", + "@rollup/rollup-linux-s390x-gnu": "4.52.3", + "@rollup/rollup-linux-x64-gnu": "4.52.3", + "@rollup/rollup-linux-x64-musl": "4.52.3", + "@rollup/rollup-openharmony-arm64": "4.52.3", + "@rollup/rollup-win32-arm64-msvc": "4.52.3", + "@rollup/rollup-win32-ia32-msvc": "4.52.3", + "@rollup/rollup-win32-x64-gnu": "4.52.3", + "@rollup/rollup-win32-x64-msvc": "4.52.3", + "fsevents": "~2.3.2" } }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", "dev": true, "license": "MIT", "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" }, "engines": { - "node": ">= 0.10" + "node": ">= 18" } }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.10" - } - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "optional": true - }, - "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ { @@ -9773,1988 +11584,2019 @@ "url": "https://feross.org/support" } ], - "license": "MIT" - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, "license": "MIT", "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" + "queue-microtask": "^1.2.2" } }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dev": true, - "license": "MIT", + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "license": "Apache-2.0", + "peer": true, "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" + "tslib": "^2.1.0" } }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sass": { + "version": "1.90.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.90.0.tgz", + "integrity": "sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" }, "engines": { - "node": ">= 6" + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" } }, - "node_modules/readdirp": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.1.tgz", - "integrity": "sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==", + "node_modules/sass-loader": { + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.5.tgz", + "integrity": "sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==", "dev": true, "license": "MIT", + "dependencies": { + "neo-async": "^2.6.2" + }, "engines": { - "node": ">= 14.18.0" + "node": ">= 18.12.0" }, "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "webpack": { + "optional": true + } } }, - "node_modules/reflect-metadata": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", - "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", "dev": true, - "license": "MIT" + "license": "ISC", + "optional": true }, - "node_modules/regenerate-unicode-properties": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", - "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "node_modules/schema-utils": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", + "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", "dev": true, "license": "MIT", "dependencies": { - "regenerate": "^1.4.2" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">=4" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", "dev": true, "license": "MIT" }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.8.4" + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" } }, - "node_modules/regex-parser": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz", - "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==", + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "license": "MIT" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/regexpu-core": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", - "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", + "node_modules/send": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", + "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", "dev": true, "license": "MIT", "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.2.0", - "regjsgen": "^0.8.0", - "regjsparser": "^0.12.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" + "debug": "^4.3.5", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "mime-types": "^3.0.1", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.1" }, "engines": { - "node": ">=4" + "node": ">= 18" } }, - "node_modules/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/regjsparser": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", - "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", + "node_modules/send/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "jsesc": "~3.0.2" - }, - "bin": { - "regjsparser": "bin/parser" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "node_modules/regjsparser/node_modules/jsesc": { + "node_modules/send/node_modules/mime-types": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", "dev": true, "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" + "dependencies": { + "mime-db": "^1.54.0" }, "engines": { - "node": ">=6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, - "engines": { - "node": ">=0.10.0" + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "node_modules/serve-index/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.6" } }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/resolve-url-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", - "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "dev": true, "license": "MIT", - "dependencies": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.14", - "source-map": "0.6.1" - }, "engines": { - "node": ">=12" + "node": ">= 0.6" } }, - "node_modules/resolve-url-loader/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", "dev": true, "license": "MIT", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" }, "engines": { - "node": ">=8.9.0" + "node": ">= 0.6" } }, - "node_modules/resolve-url-loader/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } + "license": "ISC" }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, + "license": "MIT" + }, + "node_modules/serve-index/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 4" + "node": ">= 0.6" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "node_modules/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", "dev": true, "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "node": ">= 18" } }, - "node_modules/rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/rimraf": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", - "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "glob": "^10.3.7" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" + "kind-of": "^6.0.2" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=8" } }, - "node_modules/rollup": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.8.tgz", - "integrity": "sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.6" - }, - "bin": { - "rollup": "dist/bin/rollup" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.34.8", - "@rollup/rollup-android-arm64": "4.34.8", - "@rollup/rollup-darwin-arm64": "4.34.8", - "@rollup/rollup-darwin-x64": "4.34.8", - "@rollup/rollup-freebsd-arm64": "4.34.8", - "@rollup/rollup-freebsd-x64": "4.34.8", - "@rollup/rollup-linux-arm-gnueabihf": "4.34.8", - "@rollup/rollup-linux-arm-musleabihf": "4.34.8", - "@rollup/rollup-linux-arm64-gnu": "4.34.8", - "@rollup/rollup-linux-arm64-musl": "4.34.8", - "@rollup/rollup-linux-loongarch64-gnu": "4.34.8", - "@rollup/rollup-linux-powerpc64le-gnu": "4.34.8", - "@rollup/rollup-linux-riscv64-gnu": "4.34.8", - "@rollup/rollup-linux-s390x-gnu": "4.34.8", - "@rollup/rollup-linux-x64-gnu": "4.34.8", - "@rollup/rollup-linux-x64-musl": "4.34.8", - "@rollup/rollup-win32-arm64-msvc": "4.34.8", - "@rollup/rollup-win32-ia32-msvc": "4.34.8", - "@rollup/rollup-win32-x64-msvc": "4.34.8", - "fsevents": "~2.3.2" + "node": ">=8" } }, - "node_modules/run-applescript": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", - "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/sass": { - "version": "1.85.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.85.0.tgz", - "integrity": "sha512-3ToiC1xZ1Y8aU7+CkgCI/tqyuPXEmYGJXO7H4uqp0xkLXUqp88rQQ4j1HmP37xSJLbCJPaIiv+cT1y+grssrww==", + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dev": true, "license": "MIT", "dependencies": { - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" }, "engines": { - "node": ">=14.0.0" + "node": ">= 0.4" }, - "optionalDependencies": { - "@parcel/watcher": "^2.4.1" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sass-loader": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.5.tgz", - "integrity": "sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==", + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", "dev": true, "license": "MIT", "dependencies": { - "neo-async": "^2.6.2" + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" }, "engines": { - "node": ">= 18.12.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", - "sass": "^1.3.0", - "sass-embedded": "*", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "webpack": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true, - "optional": true - }, - "node_modules/schema-utils": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz", - "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==", + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", "dev": true, "license": "MIT", "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "dev": true, - "license": "MIT" - }, - "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", "dev": true, "license": "MIT", "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, "engines": { - "node": ">=10" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "node_modules/sigstore": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-3.1.0.tgz", + "integrity": "sha512-ZpzWAFHIFqyFE56dXqgX/DkDRZdz+rRcjoIk/RQU4IX0wiCv1l8S7ZrXDHcCc+uaf+6o7w3h2l3g6GYG5TKN9Q==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "@sigstore/sign": "^3.1.0", + "@sigstore/tuf": "^3.1.0", + "@sigstore/verify": "^2.1.0" }, "engines": { - "node": ">= 0.8.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/send/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">= 6.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "randombytes": "^2.1.0" + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" } }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "node_modules/socks": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.5.tgz", + "integrity": "sha512-iF+tNDQla22geJdTyJB1wM/qrX9DMRwWrciEPwWLPRWAUEM8sQiyxgckLxWT1f7+9VabJS0jTGGr4QgBuvi6Ww==", "dev": true, "license": "MIT", "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 10.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" } }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "engines": { - "node": ">= 0.6" + "node": ">= 12" } }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-5.0.0.tgz", + "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==", "dev": true, "license": "MIT", "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.2" }, "engines": { - "node": ">= 0.6" + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.72.1" } }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, - "license": "ISC" + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, - "license": "ISC" + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } + "license": "CC-BY-3.0" }, - "node_modules/serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "license": "MIT", "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.21", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz", + "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==", "dev": true, - "license": "ISC" + "license": "CC0-1.0" }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", "dev": true, "license": "MIT", "dependencies": { - "kind-of": "^6.0.2" + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", "dev": true, "license": "MIT", "dependencies": { - "shebang-regex": "^3.0.0" + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/ssri": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", + "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" }, "engines": { - "node": ">=8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/shell-quote": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", - "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", + "node_modules/stdin-discarder": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", + "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "safe-buffer": "~5.2.0" } }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sigstore": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-3.0.0.tgz", - "integrity": "sha512-PHMifhh3EN4loMcHCz6l3v/luzgT3za+9f8subGgeMNjbJjzH4Ij/YoX3Gvu+kaouJRIlVdTHHCREADYf+ZteA==", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@sigstore/bundle": "^3.0.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "@sigstore/sign": "^3.0.0", - "@sigstore/tuf": "^3.0.0", - "@sigstore/verify": "^2.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=8" } }, - "node_modules/slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=14.16" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" + "node": ">=8" } }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "dev": true, - "license": "MIT", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" + "license": "ISC", + "engines": { + "node": ">=8" } }, - "node_modules/socks": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", - "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "node_modules/tar/node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dev": true, "license": "MIT", "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" + "minipass": "^3.0.0", + "yallist": "^4.0.0" }, "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" + "node": ">= 8" } }, - "node_modules/socks-proxy-agent": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", - "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "node_modules/tar/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "socks": "^2.8.3" + "yallist": "^4.0.0" }, "engines": { - "node": ">= 14" + "node": ">=8" } }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } + "license": "ISC" }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "node_modules/terser": { + "version": "5.43.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.43.1.tgz", + "integrity": "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==", "dev": true, - "license": "BSD-3-Clause", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.14.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/source-map-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-5.0.0.tgz", - "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==", + "node_modules/terser-webpack-plugin": { + "version": "5.3.14", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", + "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", "dev": true, "license": "MIT", "dependencies": { - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.2" + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" }, "engines": { - "node": ">= 18.12.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^5.72.1" + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } } }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "node_modules/thingies": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.5.0.tgz", + "integrity": "sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==", "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "license": "MIT", + "engines": { + "node": ">=10.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "^2" } }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "node_modules/spdx-exceptions": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, - "license": "CC-BY-3.0" + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "license": "MIT", "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "node_modules/spdx-license-ids": { - "version": "3.0.20", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", - "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, - "license": "CC0-1.0" + "license": "MIT", + "engines": { + "node": ">=0.6" + } }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "node_modules/tree-dump": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz", + "integrity": "sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==", "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, + "license": "Apache-2.0", "engines": { - "node": ">=6.0.0" + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD", + "peer": true + }, + "node_modules/tuf-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-3.0.1.tgz", + "integrity": "sha512-+68OP1ZzSF84rTckf3FA95vJ1Zlx/uaXyiiKyPd1pA4rZNkpEvDAKmsu1xUSmbF/chCRYgZ6UZkDwC7PmzmAyA==", "dev": true, "license": "MIT", "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" + "@tufjs/models": "3.0.1", + "debug": "^4.3.6", + "make-fetch-happen": "^14.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "license": "BSD-3-Clause" + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/ssri": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", - "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "minipass": "^7.0.3" + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">= 0.6" } }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/type-is/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/type-is/node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", "dev": true, + "license": "MIT", "dependencies": { - "safe-buffer": "~5.2.0" + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/typed-assert": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", + "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "license": "MIT" }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=8" + "node": ">=14.17" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", "dev": true, "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">=4" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "node_modules/unique-filename": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", + "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", "dev": true, - "engines": { - "node": ">= 0.4" + "license": "ISC", + "dependencies": { + "unique-slug": "^5.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/symbol-observable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", - "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "node_modules/unique-slug": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", + "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, "engines": { - "node": ">=0.10" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 0.8" } }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", "dev": true, - "license": "ISC", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 0.4.0" } }, - "node_modules/tar/node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "license": "ISC", + "license": "Apache-2.0", "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "node_modules/validate-npm-package-name": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.1.tgz", + "integrity": "sha512-OaI//3H0J7ZkR1OqlhGA8cA+Cbk/2xFOQpJOt5+s27/ta9eZwpeervh4Mxh4w0im/kdgktowaqVNR7QOrUd7Yg==", "dev": true, "license": "ISC", "engines": { - "node": ">=8" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/tar/node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true, "license": "MIT", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, "engines": { - "node": ">= 8" + "node": ">= 0.8" } }, - "node_modules/tar/node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "node_modules/watchpack": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", + "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" }, "engines": { - "node": ">=8" + "node": ">=10.13.0" } }, - "node_modules/tar/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, - "node_modules/terser": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz", - "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==", + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" + "minimalistic-assert": "^1.0.0" } }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.14", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", - "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/webpack": { + "version": "5.101.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.101.2.tgz", + "integrity": "sha512-4JLXU0tD6OZNVqlwzm3HGEhAHufSiyv+skb7q0d2367VDMzrU1Q/ZeepvkcHH0rZie6uqEtTQQe0OEOOluH3Mg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "jest-worker": "^27.4.5", - "schema-utils": "^4.3.0", - "serialize-javascript": "^6.0.2", - "terser": "^5.31.1" + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.24.0", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.3", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.2", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.11", + "watchpack": "^2.4.1", + "webpack-sources": "^3.3.3" + }, + "bin": { + "webpack": "bin/webpack.js" }, "engines": { - "node": ">= 10.13.0" + "node": ">=10.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, - "peerDependencies": { - "webpack": "^5.1.0" - }, "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { + "webpack-cli": { "optional": true } } }, - "node_modules/thingies": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", - "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", - "dev": true, - "license": "Unlicense", - "engines": { - "node": ">=10.18" - }, - "peerDependencies": { - "tslib": "^2" - } - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true, - "license": "MIT" - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/webpack-dev-middleware": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz", + "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==", "dev": true, "license": "MIT", "dependencies": { - "is-number": "^7.0.0" + "colorette": "^2.0.10", + "memfs": "^4.6.0", + "mime-types": "^2.1.31", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" }, "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tree-dump": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", - "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.0" + "node": ">= 18.12.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, - "license": "MIT", - "bin": { - "tree-kill": "cli.js" + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } } }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/tuf-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-3.0.1.tgz", - "integrity": "sha512-+68OP1ZzSF84rTckf3FA95vJ1Zlx/uaXyiiKyPd1pA4rZNkpEvDAKmsu1xUSmbF/chCRYgZ6UZkDwC7PmzmAyA==", + "node_modules/webpack-dev-server": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz", + "integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@tufjs/models": "3.0.1", - "debug": "^4.3.6", - "make-fetch-happen": "^14.0.1" + "@types/bonjour": "^3.5.13", + "@types/connect-history-api-fallback": "^1.5.4", + "@types/express": "^4.17.21", + "@types/express-serve-static-core": "^4.17.21", + "@types/serve-index": "^1.9.4", + "@types/serve-static": "^1.15.5", + "@types/sockjs": "^0.3.36", + "@types/ws": "^8.5.10", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.2.1", + "chokidar": "^3.6.0", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "express": "^4.21.2", + "graceful-fs": "^4.2.6", + "http-proxy-middleware": "^2.0.9", + "ipaddr.js": "^2.1.0", + "launch-editor": "^2.6.1", + "open": "^10.0.3", + "p-retry": "^6.2.0", + "schema-utils": "^4.2.0", + "selfsigned": "^2.4.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^7.4.2", + "ws": "^8.18.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" }, "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" + "node": ">= 18.12.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } } }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "node_modules/webpack-dev-server/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "license": "MIT", "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { "node": ">= 0.6" } }, - "node_modules/typed-assert": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", - "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", - "dev": true, - "license": "MIT" - }, - "node_modules/typescript": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", - "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", + "node_modules/webpack-dev-server/node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">=14.17" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", - "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "node_modules/webpack-dev-server/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, "engines": { - "node": ">=4" + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "node_modules/webpack-dev-server/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "license": "MIT", "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" + "safe-buffer": "5.2.1" }, "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", - "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "node_modules/webpack-dev-server/node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "node_modules/webpack-dev-server/node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/unicorn-magic": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", - "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "node_modules/webpack-dev-server/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/unique-filename": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", - "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", - "dev": true, - "license": "ISC", "dependencies": { - "unique-slug": "^5.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" + "ms": "2.0.0" } }, - "node_modules/unique-slug": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", - "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", + "node_modules/webpack-dev-server/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } + "license": "MIT" }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "node_modules/webpack-dev-server/node_modules/express": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "dev": true, "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.12", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, "engines": { - "node": ">= 0.8" + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/update-browserslist-db": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", - "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "node_modules/webpack-dev-server/node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.0" - }, - "bin": { - "update-browserslist-db": "cli.js" + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "engines": { + "node": ">= 0.8" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "node_modules/webpack-dev-server/node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4.0" + "node": ">= 0.6" } }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "node_modules/webpack-dev-server/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", + "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } } }, - "node_modules/validate-npm-package-name": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.0.tgz", - "integrity": "sha512-d7KLgL1LD3U3fgnvWEY1cQXoO/q6EQ1BSz48Sa149V/5zVTAbgmZIpyI8TRi6U9/JNyeYLlTKsEMPtLC27RFUg==", + "node_modules/webpack-dev-server/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=0.10.0" } }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "node_modules/webpack-dev-server/node_modules/ipaddr.js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">= 10" } }, - "node_modules/watchpack": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", - "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "node_modules/webpack-dev-server/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, "license": "MIT", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, "engines": { - "node": ">=10.13.0" + "node": ">= 0.6" } }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "node_modules/webpack-dev-server/node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", "dev": true, "license": "MIT", - "dependencies": { - "minimalistic-assert": "^1.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "node_modules/webpack-dev-server/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, - "dependencies": { - "defaults": "^1.0.3" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "node_modules/weak-lru-cache": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", - "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", + "node_modules/webpack-dev-server/node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", "dev": true, - "license": "MIT", - "optional": true + "license": "MIT" }, - "node_modules/webpack": { - "version": "5.98.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.98.0.tgz", - "integrity": "sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA==", + "node_modules/webpack-dev-server/node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.6", - "@webassemblyjs/ast": "^1.14.1", - "@webassemblyjs/wasm-edit": "^1.14.1", - "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.14.0", - "browserslist": "^4.24.0", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^4.3.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.11", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" + "side-channel": "^1.0.6" }, "engines": { - "node": ">=10.13.0" + "node": ">=0.6" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/webpack-dev-middleware": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz", - "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==", + "node_modules/webpack-dev-server/node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, "license": "MIT", "dependencies": { - "colorette": "^2.0.10", - "memfs": "^4.6.0", - "mime-types": "^2.1.31", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - } + "node": ">= 0.8" } }, - "node_modules/webpack-dev-server": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.0.tgz", - "integrity": "sha512-90SqqYXA2SK36KcT6o1bvwvZfJFcmoamqeJY7+boioffX9g9C0wjjJRGUrQIuh43pb0ttX7+ssavmj/WN2RHtA==", + "node_modules/webpack-dev-server/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "license": "MIT", "dependencies": { - "@types/bonjour": "^3.5.13", - "@types/connect-history-api-fallback": "^1.5.4", - "@types/express": "^4.17.21", - "@types/serve-index": "^1.9.4", - "@types/serve-static": "^1.15.5", - "@types/sockjs": "^0.3.36", - "@types/ws": "^8.5.10", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.2.1", - "chokidar": "^3.6.0", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "express": "^4.21.2", - "graceful-fs": "^4.2.6", - "http-proxy-middleware": "^2.0.7", - "ipaddr.js": "^2.1.0", - "launch-editor": "^2.6.1", - "open": "^10.0.3", - "p-retry": "^6.2.0", - "schema-utils": "^4.2.0", - "selfsigned": "^2.4.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^7.4.2", - "ws": "^8.18.0" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" + "picomatch": "^2.2.1" }, "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true + "node": ">=8.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "webpack-cli": { - "optional": true + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } - } + ], + "license": "MIT" }, - "node_modules/webpack-dev-server/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "node_modules/webpack-dev-server/node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dev": true, "license": "MIT", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">= 0.8.0" } }, - "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", - "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", + "node_modules/webpack-dev-server/node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/webpack-dev-server/node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dev": true, "license": "MIT", "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" }, "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } + "node": ">= 0.8.0" } }, - "node_modules/webpack-dev-server/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/webpack-dev-server/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/webpack-dev-server/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "license": "MIT", "dependencies": { - "picomatch": "^2.2.1" + "media-typer": "0.3.0", + "mime-types": "~2.1.24" }, "engines": { - "node": ">=8.10.0" + "node": ">= 0.6" } }, "node_modules/webpack-merge": { @@ -11773,9 +13615,9 @@ } }, "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", "dev": true, "license": "MIT", "engines": { @@ -11853,17 +13695,18 @@ "license": "MIT" }, "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" @@ -11904,25 +13747,71 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, "node_modules/ws": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", - "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "dev": true, "license": "MIT", "engines": { @@ -11941,11 +13830,28 @@ } } }, + "node_modules/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, + "license": "ISC", "engines": { "node": ">=10" } @@ -11958,49 +13864,104 @@ "license": "ISC" }, "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", "dev": true, + "license": "MIT", "dependencies": { - "cliui": "^8.0.1", + "cliui": "^9.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", + "string-width": "^7.2.0", "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "yargs-parser": "^22.0.0" }, "engines": { - "node": ">=12" + "node": "^20.19.0 || ^22.12.0 || >=23" } }, "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/yocto-queue": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", - "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, "license": "MIT", "engines": { - "node": ">=12.20" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/yoctocolors-cjs": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz", - "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", "dev": true, "license": "MIT", "engines": { @@ -12010,11 +13971,33 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/zod": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.13.tgz", + "integrity": "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==", + "dev": true, + "license": "MIT", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.0.tgz", + "integrity": "sha512-HvWtU2UG41LALjajJrML6uQejQhNJx+JBO9IflpSja4R03iNWfKXrj6W2h7ljuLyc1nKS+9yDyL/9tD1U/yBnQ==", + "dev": true, + "license": "ISC", + "peerDependencies": { + "zod": "^3.25 || ^4" + } + }, "node_modules/zone.js": { "version": "0.15.0", "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.15.0.tgz", "integrity": "sha512-9oxn0IIjbCZkJ67L+LkhYWRyAy7axphb3VgE2MBDlOqnmHMPWGYMxJxBYFueFq/JGY2GMwS0rU+UCLunEmy5UA==", - "license": "MIT" + "license": "MIT", + "peer": true } } } diff --git a/src/AngularComponents/package.json b/src/AngularComponents/package.json index c8bce452..09060c9e 100644 --- a/src/AngularComponents/package.json +++ b/src/AngularComponents/package.json @@ -9,24 +9,24 @@ }, "private": true, "dependencies": { - "@angular-slider/ngx-slider": "^19.0.0", - "@angular/animations": "^19.2.9", - "@angular/common": "^19.2.9", - "@angular/compiler": "^19.2.9", - "@angular/core": "^19.2.9", - "@angular/forms": "^19.2.9", - "@angular/platform-browser": "^19.2.9", - "@angular/platform-browser-dynamic": "^19.2.9", - "@angular/router": "^19.2.9", - "rxjs": "~7.8.1", + "@angular-slider/ngx-slider": "^20.0.0", + "@angular/animations": "^20.3.15", + "@angular/common": "^20.3.15", + "@angular/compiler": "^20.3.15", + "@angular/core": "^20.3.15", + "@angular/forms": "^20.3.15", + "@angular/platform-browser": "^20.3.15", + "@angular/platform-browser-dynamic": "^20.3.15", + "@angular/router": "^20.3.15", + "rxjs": "~7.8.2", "tslib": "^2.6.3", "zone.js": "~0.15.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^19.2.10", - "@angular/cli": "^19.2.10", - "@angular/compiler-cli": "^19.2.9", + "@angular-devkit/build-angular": "^20.3.12", + "@angular/cli": "^20.3.12", + "@angular/compiler-cli": "^20.3.15", "@types/node": "^12.11.1", - "typescript": "~5.5.3" + "typescript": "~5.8.3" } } \ No newline at end of file diff --git a/src/AngularComponents/src/app/components/coverageinfo/class-row.component.ts b/src/AngularComponents/src/app/components/coverageinfo/class-row.component.ts index ed132861..2eefdf1e 100644 --- a/src/AngularComponents/src/app/components/coverageinfo/class-row.component.ts +++ b/src/AngularComponents/src/app/components/coverageinfo/class-row.component.ts @@ -6,191 +6,237 @@ import { ClassViewModel } from "./viewmodels/class-viewmodel.class"; selector: "[class-row]", template: `
- - +} +@if (lineCoverageAvailable) { + - - - +} +@if (lineCoverageAvailable) { + +} +@if (lineCoverageAvailable) { + +} +@if (lineCoverageAvailable) { + - - +} +@if (lineCoverageAvailable) { + +} +@if (branchCoverageAvailable) { + + } + +} - - +} +@if (branchCoverageAvailable) { + - + } + +} +@if (branchCoverageAvailable) { + +} - - - +} +@if (methodCoverageAvailable) { + +} +@if (methodCoverageAvailable) { + - + } + +} +@if (methodCoverageAvailable) { + +} - - - +} +@if (methodFullCoverageAvailable) { + +} +@if (methodFullCoverageAvailable) { + - -`, + } + +} +@if (methodFullCoverageAvailable) { + +} +@for (metric of visibleMetrics; track metric) { + +}`, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false }) diff --git a/src/AngularComponents/src/app/components/coverageinfo/codeelement-row.component.ts b/src/AngularComponents/src/app/components/coverageinfo/codeelement-row.component.ts index e1ed4227..bfa3e7ac 100644 --- a/src/AngularComponents/src/app/components/coverageinfo/codeelement-row.component.ts +++ b/src/AngularComponents/src/app/components/coverageinfo/codeelement-row.component.ts @@ -7,33 +7,71 @@ import { CodeElementViewModel } from "./viewmodels/codelement-viewmodel.class"; template: ` - - - - - - - - - - - - - - - - - - -`, +@if (lineCoverageAvailable) { + +} +@if (lineCoverageAvailable) { + +} +@if (lineCoverageAvailable) { + +} +@if (lineCoverageAvailable) { + +} +@if (lineCoverageAvailable) { + +} +@if (lineCoverageAvailable) { + +} +@if (branchCoverageAvailable) { + +} +@if (branchCoverageAvailable) { + +} +@if (branchCoverageAvailable) { + +} +@if (branchCoverageAvailable) { + +} +@if (methodCoverageAvailable) { + +} +@if (methodCoverageAvailable) { + +} +@if (methodCoverageAvailable) { + +} +@if (methodCoverageAvailable) { + +} +@if (methodFullCoverageAvailable) { + +} +@if (methodFullCoverageAvailable) { + +} +@if (methodFullCoverageAvailable) { + +} +@if (methodFullCoverageAvailable) { + +} +@for (metric of visibleMetrics; track metric) { + +}`, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false }) diff --git a/src/AngularComponents/src/app/components/coverageinfo/coverage-bar.component.ts b/src/AngularComponents/src/app/components/coverageinfo/coverage-bar.component.ts index 5ad67087..fe53e0cb 100644 --- a/src/AngularComponents/src/app/components/coverageinfo/coverage-bar.component.ts +++ b/src/AngularComponents/src/app/components/coverageinfo/coverage-bar.component.ts @@ -4,9 +4,15 @@ import { ChangeDetectionStrategy, Component, Input } from "@angular/core"; selector: "coverage-bar", template: `
MarkdownCreates a single Markdown file containing a summary for all classes and detailed reports for each class.
MarkdownSummary Creates a single Markdown file containing coverage information per class. - {{clazz.name}} - {{clazz.name}} + @if (clazz.reportPath !== '') { + {{clazz.name}} + } + @if (clazz.reportPath === '') { + {{clazz.name}} + } - -
+@if (lineCoverageAvailable) { +
+ @if (clazz.currentHistoricCoverage !== null) { +
+ {{clazz.coveredLines}} +
+
+ {{clazz.currentHistoricCoverage.cl}} +
+ } + @if (clazz.currentHistoricCoverage === null) { {{clazz.coveredLines}} - -
- {{clazz.currentHistoricCoverage.cl}} -
- - - {{clazz.coveredLines}} - -
- -
+ } +
+ @if (clazz.currentHistoricCoverage !== null) { +
+ {{clazz.uncoveredLines}} +
+
+ {{clazz.currentHistoricCoverage.ucl}} +
+ } + @if (clazz.currentHistoricCoverage === null) { {{clazz.uncoveredLines}} - -
- {{clazz.currentHistoricCoverage.ucl}} -
- - - {{clazz.uncoveredLines}} - -
- -
{{clazz.coverableLines}}
-
{{clazz.currentHistoricCoverage.cal}}
-
- - {{clazz.coverableLines}} - -
- -
{{clazz.totalLines}}
-
{{clazz.currentHistoricCoverage.tl}}
-
- - {{clazz.totalLines}} - -
-
-
- -
+ } +
+ @if (clazz.currentHistoricCoverage !== null) { +
{{clazz.coverableLines}}
+
{{clazz.currentHistoricCoverage.cal}}
+ } + @if (clazz.currentHistoricCoverage === null) { + {{clazz.coverableLines}} + } +
+ @if (clazz.currentHistoricCoverage !== null) { +
{{clazz.totalLines}}
+
{{clazz.currentHistoricCoverage.tl}}
+ } + @if (clazz.currentHistoricCoverage === null) { + {{clazz.totalLines}} + } +
+ @if (clazz.lineCoverageHistory.length > 1) { +
+
+ } + @if (clazz.currentHistoricCoverage !== null) { +
+ {{clazz.coveragePercentage}} +
+
{{clazz.currentHistoricCoverage.lcq}}%
+ } + @if (clazz.currentHistoricCoverage === null) { {{clazz.coveragePercentage}} - -
{{clazz.currentHistoricCoverage.lcq}}%
- - - {{clazz.coveragePercentage}} - -
- -
+ } +
+ @if (clazz.currentHistoricCoverage !== null) { +
+ {{clazz.coveredBranches}} +
+
+ {{clazz.currentHistoricCoverage.cb}} +
+ } + @if (clazz.currentHistoricCoverage === null) { {{clazz.coveredBranches}} - -
- {{clazz.currentHistoricCoverage.cb}} -
- - - {{clazz.coveredBranches}} - -
- -
{{clazz.totalBranches}}
-
{{clazz.currentHistoricCoverage.tb}}
-
- - {{clazz.totalBranches}} - -
-
-
- -
+@if (branchCoverageAvailable) { +
+ @if (clazz.currentHistoricCoverage !== null) { +
{{clazz.totalBranches}}
+
{{clazz.currentHistoricCoverage.tb}}
+ } + @if (clazz.currentHistoricCoverage === null) { + {{clazz.totalBranches}} + } +
+ @if (clazz.branchCoverageHistory.length > 1) { +
+
+ } + @if (clazz.currentHistoricCoverage !== null) { +
+ {{clazz.branchCoveragePercentage}} +
+
{{clazz.currentHistoricCoverage.bcq}}%
+ } + @if (clazz.currentHistoricCoverage === null) { {{clazz.branchCoveragePercentage}} - -
{{clazz.currentHistoricCoverage.bcq}}%
- - - {{clazz.branchCoveragePercentage}} - -
- -
+@if (methodCoverageAvailable) { +
+ @if (clazz.currentHistoricCoverage !== null) { +
+ {{clazz.coveredMethods}} +
+
+ {{clazz.currentHistoricCoverage.cm}} +
+ } + @if (clazz.currentHistoricCoverage === null) { {{clazz.coveredMethods}} - -
- {{clazz.currentHistoricCoverage.cm}} -
- - - {{clazz.coveredMethods}} - -
- -
{{clazz.totalMethods}}
-
{{clazz.currentHistoricCoverage.tm}}
-
- - {{clazz.totalMethods}} - -
-
-
- -
+ } +
+ @if (clazz.currentHistoricCoverage !== null) { +
{{clazz.totalMethods}}
+
{{clazz.currentHistoricCoverage.tm}}
+ } + @if (clazz.currentHistoricCoverage === null) { + {{clazz.totalMethods}} + } +
+ @if (clazz.methodCoverageHistory.length > 1) { +
+
+ } + @if (clazz.currentHistoricCoverage !== null) { +
+ {{clazz.methodCoveragePercentage}} +
+
{{clazz.currentHistoricCoverage.mcq}}%
+ } + @if (clazz.currentHistoricCoverage === null) { {{clazz.methodCoveragePercentage}} - -
{{clazz.currentHistoricCoverage.mcq}}%
- - - {{clazz.methodCoveragePercentage}} - -
- -
+@if (methodFullCoverageAvailable) { +
+ @if (clazz.currentHistoricCoverage !== null) { +
+ {{clazz.fullyCoveredMethods}} +
+
+ {{clazz.currentHistoricCoverage.fcm}} +
+ } + @if (clazz.currentHistoricCoverage === null) { {{clazz.fullyCoveredMethods}} - -
- {{clazz.currentHistoricCoverage.fcm}} -
- - - {{clazz.fullyCoveredMethods}} - -
- -
{{clazz.totalMethods}}
-
{{clazz.currentHistoricCoverage.tm}}
-
- - {{clazz.totalMethods}} - -
-
-
- -
+ } +
+ @if (clazz.currentHistoricCoverage !== null) { +
{{clazz.totalMethods}}
+
{{clazz.currentHistoricCoverage.tm}}
+ } + @if (clazz.currentHistoricCoverage === null) { + {{clazz.totalMethods}} + } +
+ @if (clazz.methodFullCoverageHistory.length > 1) { +
+
+ } + @if (clazz.currentHistoricCoverage !== null) { +
+ {{clazz.methodFullCoveragePercentage}} +
+
{{clazz.currentHistoricCoverage.mfcq}}%
+ } + @if (clazz.currentHistoricCoverage === null) { {{clazz.methodFullCoveragePercentage}} - -
{{clazz.currentHistoricCoverage.mfcq}}%
- - - {{clazz.methodFullCoveragePercentage}} - -
{{ clazz.metrics[metric.abbreviation] }}{{ clazz.metrics[metric.abbreviation] }} - {{element.name}} +{{element.name}} {{element.coveredLines}}{{element.uncoveredLines}}{{element.coverableLines}}{{element.totalLines}}{{element.coveragePercentage}}{{element.coveredBranches}}{{element.totalBranches}}{{element.branchCoveragePercentage}} - -{{element.coveredMethods}}{{element.totalMethods}}{{element.methodCoveragePercentage}} - -{{element.fullyCoveredMethods}}{{element.totalMethods}}{{element.methodFullCoveragePercentage}} - -{{element.coveredLines}}{{element.uncoveredLines}}{{element.coverableLines}}{{element.totalLines}}{{element.coveragePercentage}}{{element.coveredBranches}}{{element.totalBranches}}{{element.branchCoveragePercentage}} + + {{element.coveredMethods}}{{element.totalMethods}}{{element.methodCoveragePercentage}} + + {{element.fullyCoveredMethods}}{{element.totalMethods}}{{element.methodFullCoveragePercentage}} + +
- - - + @if (grayVisible) { + + } + @if (greenVisible) { + + } + @if (redVisible) { + + }
`, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false diff --git a/src/AngularComponents/src/app/components/coverageinfo/coverage-info.component.ts b/src/AngularComponents/src/app/components/coverageinfo/coverage-info.component.ts index ffb52350..cea31b60 100644 --- a/src/AngularComponents/src/app/components/coverageinfo/coverage-info.component.ts +++ b/src/AngularComponents/src/app/components/coverageinfo/coverage-info.component.ts @@ -12,261 +12,382 @@ import { Helper } from "./viewmodels/helper.class"; @Component({ selector: "coverage-info", template: ` -
- - -
- -
- - {{translations.noGrouping}} - {{translations.byAssembly}} - {{translations.byNamespace + ' ' + this.settings.grouping}} - -
- {{translations.grouping}} - -
-
- -
- {{translations.compareHistory}} - + @if (codeElements.length > 0) { +
+ @if (popupVisible) { + + + } +
+ +
+ + @if (settings.grouping === -1) { + {{translations.noGrouping}} + } + @if (settings.grouping === 0) { + {{translations.byAssembly}} + } + @if (settings.grouping > 0) { + {{translations.byNamespace + ' ' + this.settings.grouping}} + } + +
+ {{translations.grouping}} +
-
-
- +
+ @if (historicCoverageExecutionTimes.length > 0) { +
+ {{translations.compareHistory}} + +
+ @if (settings.historyComparisionDate !== '') { +
+ } + @if (settings.historyComparisionDate !== '') { +
+ +
+ } + } +
+
+
- -
-
- -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + } + + + + @for (element of codeElements; track element) { + @if (element.visible(settings)) { + + + } + @for (clazz of element.classes; track clazz) { + @if (!element.collapsed + && clazz.visible(settings)) { + + + } + } + @for (subElement of element.subElements; track subElement) { + @if (!element.collapsed + && subElement.visible(settings)) { + + + @for (clazz of subElement.classes; track clazz) { + @if (!subElement.collapsed + && clazz.visible(settings)) { + + + } + } + } + } + } + +
{{translations.coverage}}{{translations.branchCoverage}}{{translations.methodCoverage}}{{translations.fullMethodCoverage}}{{translations.metrics}}
- - - - - - - - - -
+
+ + + + @if (settings.showLineCoverage) { + + } + @if (settings.showLineCoverage) { + + } + @if (settings.showLineCoverage) { + + } + @if (settings.showLineCoverage) { + + } + @if (settings.showLineCoverage) { + + } + @if (settings.showLineCoverage) { + + } + @if (branchCoverageAvailable && settings.showBranchCoverage) { + + } + @if (branchCoverageAvailable && settings.showBranchCoverage) { + + } + @if (branchCoverageAvailable && settings.showBranchCoverage) { + + } + @if (branchCoverageAvailable && settings.showBranchCoverage) { + + } + @if (methodCoverageAvailable && settings.showMethodCoverage) { + + } + @if (methodCoverageAvailable && settings.showMethodCoverage) { + + } + @if (methodCoverageAvailable && settings.showMethodCoverage) { + + } + @if (methodCoverageAvailable && settings.showMethodCoverage) { + + } + @if (methodCoverageAvailable && settings.showFullMethodCoverage) { + + } + @if (methodCoverageAvailable && settings.showFullMethodCoverage) { + + } + @if (methodCoverageAvailable && settings.showFullMethodCoverage) { + + } + @if (methodCoverageAvailable && settings.showFullMethodCoverage) { + + } + @for (metric of settings.visibleMetrics; track metric) { + + } + + + + + @if (settings.showLineCoverage) { + + } + @if (branchCoverageAvailable && settings.showBranchCoverage) { + + } + @if (methodCoverageAvailable && settings.showMethodCoverage) { + + } + @if (methodCoverageAvailable && settings.showFullMethodCoverage) { + + } + @if (settings.visibleMetrics.length > 0) { + + } + + + + @if (settings.showLineCoverage) { + + } + @if (branchCoverageAvailable && settings.showBranchCoverage) { + + } + @if (methodCoverageAvailable && settings.showMethodCoverage) { + + } + @if (methodCoverageAvailable && settings.showFullMethodCoverage) { + + } + @if (settings.visibleMetrics.length > 0) { + + } + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{{translations.coverage}}{{translations.branchCoverage}}{{translations.methodCoverage}}{{translations.fullMethodCoverage}}{{translations.metrics}}
+ + + + + + + + + +
{{translations.name}}{{translations.covered}}{{translations.uncovered}}{{translations.coverable}}{{translations.total}} - + {{translations.percentage}}{{translations.covered}}{{translations.total}} - + {{translations.percentage}}{{translations.covered}}{{translations.total}} - + {{translations.percentage}}{{translations.covered}}{{translations.total}} - + {{translations.percentage}} - + {{metric.name}} -
-
- `, +
+
+
+ }`, standalone: false }) export class CoverageInfoComponent { @@ -331,6 +452,10 @@ export class CoverageInfoComponent { this.settings.groupingMaximum = groupingMaximum; console.log("Grouping maximum: " + groupingMaximum); + if ((this.window).applyMaximumGroupingLevel) { + this.settings.grouping = groupingMaximum; + } + this.settings.showBranchCoverage = this.branchCoverageAvailable; this.settings.showMethodCoverage = this.methodCoverageAvailable; this.settings.showFullMethodCoverage = this.methodCoverageAvailable; diff --git a/src/AngularComponents/src/app/components/coverageinfo/popup.component.ts b/src/AngularComponents/src/app/components/coverageinfo/popup.component.ts index 234a4514..837b2006 100644 --- a/src/AngularComponents/src/app/components/coverageinfo/popup.component.ts +++ b/src/AngularComponents/src/app/components/coverageinfo/popup.component.ts @@ -11,24 +11,36 @@ import { Metric } from "./data/metric.class";
-
- -
-
- -
-
- -
- -
-
- {{translations.metrics}} -
-   + @if (branchCoverageAvailable) { +
+
- + } +
+ @if (!methodCoverageAvailable) { + + }
+
+ @if (!methodCoverageAvailable) { + + } +
+@if (metrics.length > 0) { +
+
+ {{translations.metrics}}@if (!methodCoverageAvailable) { + +} +@for (metric of metrics; track metric) { +
+  @if (metric.explanationUrl) { + + } +
+} +} +
`, standalone: false }) diff --git a/src/AngularComponents/src/app/components/riskhotspots/riskhotspots.component.ts b/src/AngularComponents/src/app/components/riskhotspots/riskhotspots.component.ts index a1e24331..90b21ae5 100644 --- a/src/AngularComponents/src/app/components/riskhotspots/riskhotspots.component.ts +++ b/src/AngularComponents/src/app/components/riskhotspots/riskhotspots.component.ts @@ -8,38 +8,54 @@ import { RiskHotspotsSettings } from "./data/riskhotspots-settings.class"; @Component({ selector: "risk-hotspots", template: ` -
-
-
- + @if (totalNumberOfRiskHotspots > 0) { +
+
+
+ +
+
+ @if (totalNumberOfRiskHotspots > 10) { + {{translations.top}} + } + @if (totalNumberOfRiskHotspots > 10) { + + } +
+
+
+ {{translations.filter}} + +
-
- {{translations.top}} - -
-
-
- {{translations.filter}} - -
-
- -
- - +
+
+ - + @for (riskHotspotMetric of riskHotspotMetrics; track riskHotspotMetric) { + + } @@ -55,32 +71,39 @@ import { RiskHotspotsSettings } from "./data/riskhotspots-settings.class"; [ngClass]="{'icon-up-dir_active': settings.sortBy === 'method' && settings.sortOrder === 'asc', 'icon-down-dir_active': settings.sortBy === 'method' && settings.sortOrder === 'desc', 'icon-up-down-dir': settings.sortBy !== 'method'}">{{translations.method}} - + + + } - - - - - - + @for (riskHotspot of riskHotspots | slice:0:settings.numberOfRiskHotspots; track riskHotspot) { + + + + + @for (metric of riskHotspot.metrics; track metric) { + + } + + }
- + {{riskHotspotMetric.name}} - -
{{riskHotspot.assembly}}{{riskHotspot.class}} - - {{riskHotspot.methodShortName}} - - {{metric.value}}
{{riskHotspot.assembly}}{{riskHotspot.class}} + + {{riskHotspot.methodShortName}} + + {{metric.value}}
- `, + } + `, styles: [], standalone: false }) diff --git a/src/AngularComponents/src/assets/icon_cube.svg b/src/AngularComponents/src/assets/icon_cube.svg new file mode 100644 index 00000000..3302443c --- /dev/null +++ b/src/AngularComponents/src/assets/icon_cube.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/AngularComponents/src/assets/icon_cube_dark.svg b/src/AngularComponents/src/assets/icon_cube_dark.svg new file mode 100644 index 00000000..3e7f0fa8 --- /dev/null +++ b/src/AngularComponents/src/assets/icon_cube_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/AngularComponents/src/assets/icon_fork.svg b/src/AngularComponents/src/assets/icon_fork.svg new file mode 100644 index 00000000..f0148b3a --- /dev/null +++ b/src/AngularComponents/src/assets/icon_fork.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/AngularComponents/src/assets/icon_fork_dark.svg b/src/AngularComponents/src/assets/icon_fork_dark.svg new file mode 100644 index 00000000..11930c9b --- /dev/null +++ b/src/AngularComponents/src/assets/icon_fork_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/AngularComponents/src/assets/icon_info-circled_dark.svg b/src/AngularComponents/src/assets/icon_info-circled_dark.svg new file mode 100644 index 00000000..252166bb --- /dev/null +++ b/src/AngularComponents/src/assets/icon_info-circled_dark.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/AngularComponents/src/assets/icon_minus_dark.svg b/src/AngularComponents/src/assets/icon_minus_dark.svg new file mode 100644 index 00000000..2516b6fc --- /dev/null +++ b/src/AngularComponents/src/assets/icon_minus_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/AngularComponents/src/assets/icon_plus_dark.svg b/src/AngularComponents/src/assets/icon_plus_dark.svg new file mode 100644 index 00000000..6ed4edd0 --- /dev/null +++ b/src/AngularComponents/src/assets/icon_plus_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/AngularComponents/src/assets/icon_search-minus.svg b/src/AngularComponents/src/assets/icon_search-minus.svg new file mode 100644 index 00000000..c174eb5e --- /dev/null +++ b/src/AngularComponents/src/assets/icon_search-minus.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/AngularComponents/src/assets/icon_search-minus_dark.svg b/src/AngularComponents/src/assets/icon_search-minus_dark.svg new file mode 100644 index 00000000..9caaffbc --- /dev/null +++ b/src/AngularComponents/src/assets/icon_search-minus_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/AngularComponents/src/assets/icon_search-plus.svg b/src/AngularComponents/src/assets/icon_search-plus.svg new file mode 100644 index 00000000..04b24ecc --- /dev/null +++ b/src/AngularComponents/src/assets/icon_search-plus.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/AngularComponents/src/assets/icon_search-plus_dark.svg b/src/AngularComponents/src/assets/icon_search-plus_dark.svg new file mode 100644 index 00000000..53241945 --- /dev/null +++ b/src/AngularComponents/src/assets/icon_search-plus_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/AngularComponents/src/assets/icon_sponsor.svg b/src/AngularComponents/src/assets/icon_sponsor.svg new file mode 100644 index 00000000..bf6d9591 --- /dev/null +++ b/src/AngularComponents/src/assets/icon_sponsor.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/AngularComponents/src/assets/icon_star.svg b/src/AngularComponents/src/assets/icon_star.svg new file mode 100644 index 00000000..b23c54ea --- /dev/null +++ b/src/AngularComponents/src/assets/icon_star.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/AngularComponents/src/assets/icon_star_dark.svg b/src/AngularComponents/src/assets/icon_star_dark.svg new file mode 100644 index 00000000..49c0d034 --- /dev/null +++ b/src/AngularComponents/src/assets/icon_star_dark.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/AngularComponents/src/assets/icon_up-down-dir.svg b/src/AngularComponents/src/assets/icon_up-down-dir.svg new file mode 100644 index 00000000..62a3f9cc --- /dev/null +++ b/src/AngularComponents/src/assets/icon_up-down-dir.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/AngularComponents/src/assets/icon_up-down-dir_dark.svg b/src/AngularComponents/src/assets/icon_up-down-dir_dark.svg new file mode 100644 index 00000000..2820a250 --- /dev/null +++ b/src/AngularComponents/src/assets/icon_up-down-dir_dark.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/AngularComponents/src/assets/icon_wrench.svg b/src/AngularComponents/src/assets/icon_wrench.svg new file mode 100644 index 00000000..b6aa318c --- /dev/null +++ b/src/AngularComponents/src/assets/icon_wrench.svg @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/AngularComponents/src/assets/icon_wrench_dark.svg b/src/AngularComponents/src/assets/icon_wrench_dark.svg new file mode 100644 index 00000000..5c77a9c8 --- /dev/null +++ b/src/AngularComponents/src/assets/icon_wrench_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/AngularComponents/tsconfig.json b/src/AngularComponents/tsconfig.json index 1407cb6e..2bbdd5b8 100644 --- a/src/AngularComponents/tsconfig.json +++ b/src/AngularComponents/tsconfig.json @@ -14,7 +14,7 @@ "declaration": false, "downlevelIteration": true, "experimentalDecorators": true, - "moduleResolution": "node", + "moduleResolution": "bundler", "importHelpers": true, "target": "ES2022", "module": "es2020", diff --git a/src/AzureDevopsTask/README.md b/src/AzureDevopsTask/README.md index 10af28d3..3fae16f1 100644 --- a/src/AzureDevopsTask/README.md +++ b/src/AzureDevopsTask/README.md @@ -18,7 +18,7 @@ To learn how to use *ReportGenerator* have a look at the: inputs: reports: 'coverage.xml' # REQUIRED # The coverage reports that should be parsed (separated by semicolon). Globbing is supported. targetdir: 'coveragereport' # REQUIRED # The directory where the generated report should be saved. - reporttypes: 'HtmlInline_AzurePipelines;Cobertura' # The output formats and scope (separated by semicolon) Values: Badges, Clover, Cobertura, OpenCover, CsvSummary, Html, Html_Dark, Html_Light, Html_BlueRed, HtmlChart, HtmlInline, HtmlInline_AzurePipelines, HtmlInline_AzurePipelines_Dark, HtmlInline_AzurePipelines_Light, HtmlSummary, Html_BlueRed_Summary, JsonSummary, CodeClimate, Latex, LatexSummary, lcov, MarkdownSummary, MarkdownAssembliesSummary, MarkdownSummaryGithub, MarkdownDeltaSummary, MHtml, SvgChart, SonarQube, TeamCitySummary, TextSummary, TextDeltaSummary, Xml, XmlSummary + reporttypes: 'HtmlInline_AzurePipelines;Cobertura' # The output formats and scope (separated by semicolon) Values: Badges, Clover, Cobertura, OpenCover, CsvSummary, Html, Html_Dark, Html_Light, Html_BlueRed, HtmlChart, HtmlInline, HtmlInline_AzurePipelines, HtmlInline_AzurePipelines_Dark, HtmlInline_AzurePipelines_Light, HtmlSummary, Html_BlueRed_Summary, JsonSummary, CodeClimate, Latex, LatexSummary, lcov, Markdown, MarkdownSummary, MarkdownAssembliesSummary, MarkdownSummaryGithub, MarkdownDeltaSummary, MHtml, SvgChart, SonarQube, TeamCitySummary, TextSummary, TextDeltaSummary, Xml, XmlSummary sourcedirs: '' # Optional directories which contain the corresponding source code (separated by semicolon). The source directories are used if coverage report contains classes without path information. historydir: '' # Optional directory for storing persistent coverage information. Can be used in future reports to show coverage evolution. plugins: '' # Optional plugin files for custom reports or custom history storage (separated by semicolon). diff --git a/src/AzureDevopsTask/ReportGenerator/package-lock.json b/src/AzureDevopsTask/ReportGenerator/package-lock.json index 20cb8a28..5c2bc601 100644 --- a/src/AzureDevopsTask/ReportGenerator/package-lock.json +++ b/src/AzureDevopsTask/ReportGenerator/package-lock.json @@ -1,7 +1,7 @@ { "name": "reportgenerator", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -9,22 +9,22 @@ "version": "1.0.0", "license": "Apache-2.0", "dependencies": { - "azure-pipelines-task-lib": "^4.17.3" + "azure-pipelines-task-lib": "^5.2.2" }, "devDependencies": { - "@types/node": "^22.9.0", + "@types/node": "^24.10.1", "@types/q": "^1.5.8", - "typescript": "^5.6.3" + "typescript": "^5.9.3" } }, "node_modules/@types/node": { - "version": "22.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", - "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", + "version": "24.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", + "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.19.8" + "undici-types": "~7.16.0" } }, "node_modules/@types/q": { @@ -53,9 +53,9 @@ } }, "node_modules/azure-pipelines-task-lib": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.3.tgz", - "integrity": "sha512-UxfH5pk3uOHTi9TtLtdDyugQVkFES5A836ZEePjcs3jYyxm3EJ6IlFYq6gbfd6mNBhrM9fxG2u/MFYIJ+Z0cxQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-5.2.2.tgz", + "integrity": "sha512-McTb45c4oP1ma0evhXBe+y1Gy4gQihYnb+2Kr1tnBYhIv2xzK8iAIfwqhlyhHloCBVDHNrToFQcAC0UH1Gd32g==", "license": "MIT", "dependencies": { "adm-zip": "^0.5.10", @@ -73,9 +73,10 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -346,9 +347,9 @@ } }, "node_modules/typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -360,9 +361,9 @@ } }, "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", "dev": true, "license": "MIT" }, @@ -385,283 +386,5 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" } - }, - "dependencies": { - "@types/node": { - "version": "22.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", - "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", - "dev": true, - "requires": { - "undici-types": "~6.19.8" - } - }, - "@types/q": { - "version": "1.5.8", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", - "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==", - "dev": true - }, - "adm-zip": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", - "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==" - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "azure-pipelines-task-lib": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.3.tgz", - "integrity": "sha512-UxfH5pk3uOHTi9TtLtdDyugQVkFES5A836ZEePjcs3jYyxm3EJ6IlFYq6gbfd6mNBhrM9fxG2u/MFYIJ+Z0cxQ==", - "requires": { - "adm-zip": "^0.5.10", - "minimatch": "3.0.5", - "nodejs-file-downloader": "^4.11.1", - "q": "^1.5.1", - "semver": "^5.7.2", - "shelljs": "^0.8.5", - "uuid": "^3.0.1" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, - "is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", - "requires": { - "has": "^1.0.3" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "nodejs-file-downloader": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.12.1.tgz", - "integrity": "sha512-LpfCTNhh805AlLnJnzt1PuEj+RmbrccbAQZ6hBRw2e6QPVR0Qntuo6qqyvPHG5s77/0w0IEKgRAD4nbSnr/X4w==", - "requires": { - "follow-redirects": "^1.15.1", - "https-proxy-agent": "^5.0.0", - "mime-types": "^2.1.27", - "sanitize-filename": "^1.6.3" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "requires": { - "resolve": "^1.1.6" - } - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "sanitize-filename": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", - "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", - "requires": { - "truncate-utf8-bytes": "^1.0.0" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "truncate-utf8-bytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", - "requires": { - "utf8-byte-length": "^1.0.1" - } - }, - "typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", - "dev": true - }, - "undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "dev": true - }, - "utf8-byte-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - } } } diff --git a/src/AzureDevopsTask/ReportGenerator/package.json b/src/AzureDevopsTask/ReportGenerator/package.json index a780b2cd..ab5cbf45 100644 --- a/src/AzureDevopsTask/ReportGenerator/package.json +++ b/src/AzureDevopsTask/ReportGenerator/package.json @@ -14,12 +14,12 @@ }, "homepage": "https://github.com/danielpalme/ReportGenerator", "dependencies": { - "azure-pipelines-task-lib": "^4.17.3" + "azure-pipelines-task-lib": "^5.2.2" }, "devDependencies": { - "@types/node": "^22.9.0", + "@types/node": "^24.10.1", "@types/q": "^1.5.8", - "typescript": "^5.6.3" + "typescript": "^5.9.3" }, "scripts": { "tsc": "tsc" diff --git a/src/AzureDevopsTask/ReportGenerator/task.json b/src/AzureDevopsTask/ReportGenerator/task.json index bcde827e..e47c5b72 100644 --- a/src/AzureDevopsTask/ReportGenerator/task.json +++ b/src/AzureDevopsTask/ReportGenerator/task.json @@ -12,8 +12,8 @@ "author": "Palmmedia", "version": { "Major": 5, - "Minor": 4, - "Patch": 7 + "Minor": 5, + "Patch": 1 }, "instanceNameFormat": "ReportGenerator", "groups": [ @@ -41,7 +41,7 @@ "label": "Report types", "defaultValue": "HtmlInline_AzurePipelines;Cobertura", "required": false, - "helpMarkDown": "The output formats and scope (separated by semicolon) Values: Badges, Clover, Cobertura, OpenCover, CsvSummary, Html, Html_Dark, Html_Light, Html_BlueRed, HtmlChart, HtmlInline, HtmlInline_AzurePipelines, HtmlInline_AzurePipelines_Dark, HtmlInline_AzurePipelines_Light, HtmlSummary, Html_BlueRed_Summary, JsonSummary, CodeClimate, Latex, LatexSummary, lcov, MarkdownSummary, MarkdownAssembliesSummary, MarkdownSummaryGithub, MarkdownDeltaSummary, MHtml, SvgChart, SonarQube, TeamCitySummary, TextSummary, TextDeltaSummary, Xml, XmlSummary" + "helpMarkDown": "The output formats and scope (separated by semicolon) Values: Badges, Clover, Cobertura, OpenCover, CsvSummary, Html, Html_Dark, Html_Light, Html_BlueRed, HtmlChart, HtmlInline, HtmlInline_AzurePipelines, HtmlInline_AzurePipelines_Dark, HtmlInline_AzurePipelines_Light, HtmlSummary, Html_BlueRed_Summary, JsonSummary, CodeClimate, Latex, LatexSummary, lcov, Markdown, MarkdownSummary, MarkdownAssembliesSummary, MarkdownSummaryGithub, MarkdownDeltaSummary, MHtml, SvgChart, SonarQube, TeamCitySummary, TextSummary, TextDeltaSummary, Xml, XmlSummary" }, { "name": "sourcedirs", @@ -171,6 +171,10 @@ "Node16": { "target": "reportgenerator.js", "argumentFormat": "" + }, + "Node20_1": { + "target": "reportgenerator.js", + "argumentFormat": "" } }, "messages": { diff --git a/src/AzureDevopsTask/package-lock.json b/src/AzureDevopsTask/package-lock.json index 9601536a..0bb7c74e 100644 --- a/src/AzureDevopsTask/package-lock.json +++ b/src/AzureDevopsTask/package-lock.json @@ -1,11 +1,12 @@ { "name": "AzureDevopsTask", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { + "name": "AzureDevopsTask", "devDependencies": { - "tfx-cli": "^0.17.0" + "tfx-cli": "^0.22.2" } }, "node_modules/@babel/code-frame": { @@ -43,6 +44,96 @@ "node": ">=0.1.90" } }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@types/minimist": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", @@ -55,6 +146,32 @@ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", "dev": true }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, "node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -73,10 +190,155 @@ "integrity": "sha1-LHKZF0vGHLhv46SnmOAeSTt9U30=", "dev": true }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "node_modules/archiver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", + "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "archiver-utils": "^5.0.2", + "async": "^3.2.4", + "buffer-crc32": "^1.0.0", + "readable-stream": "^4.0.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^3.0.0", + "zip-stream": "^6.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/archiver-utils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", + "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "^10.0.0", + "graceful-fs": "^4.2.0", + "is-stream": "^2.0.1", + "lazystream": "^1.0.0", + "lodash": "^4.17.15", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/archiver-utils/node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/archiver-utils/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/archiver-utils/node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/archiver-utils/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/archiver-utils/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/archiver-utils/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/archiver-utils/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "dev": true, + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/archiver-utils/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { @@ -91,52 +353,65 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, - "node_modules/archiver": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.0.3.tgz", - "integrity": "sha1-tDYLtYSvFDeZGUJxbyHXxSPR270=", + "node_modules/archiver-utils/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, + "license": "MIT", "dependencies": { - "archiver-utils": "^1.3.0", - "async": "^2.0.0", - "buffer-crc32": "^0.2.1", - "glob": "^7.0.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0", - "tar-stream": "^1.5.0", - "walkdir": "^0.0.11", - "zip-stream": "^1.2.0" - }, - "engines": { - "node": ">= 4" + "safe-buffer": "~5.2.0" } }, - "node_modules/archiver-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", - "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", + "node_modules/archiver/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, + "license": "MIT", "dependencies": { - "glob": "^7.0.0", - "graceful-fs": "^4.1.0", - "lazystream": "^1.0.0", - "lodash": "^4.8.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" }, "engines": { - "node": ">= 0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/archiver/node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "node_modules/archiver/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/archiver/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, + "license": "MIT", "dependencies": { - "lodash": "^4.17.14" + "safe-buffer": "~5.2.0" } }, "node_modules/arrify": { @@ -148,21 +423,63 @@ "node": ">=0.10.0" } }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, "node_modules/azure-devops-node-api": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-10.2.2.tgz", - "integrity": "sha512-4TVv2X7oNStT0vLaEfExmy3J4/CzfuXolEcQl/BRUmvGySqKStTG2O55/hUQ0kM7UJlZBLgniM0SBq4d/WkKow==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", + "integrity": "sha512-QhpgjH1LQ+vgDJ7oBwcmsZ3+o4ZpjLVilw0D3oJQpYpRzN+L39lk5jZDLJ464hLUgsDzWn/Ksv7zLLMKLfoBzA==", "dev": true, + "license": "MIT", "dependencies": { "tunnel": "0.0.6", - "typed-rest-client": "^1.8.4" + "typed-rest-client": "2.1.0" + }, + "engines": { + "node": ">= 16.0.0" + } + }, + "node_modules/b4a": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", + "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } } }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/bare-events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } }, "node_modules/base64-js": { "version": "1.5.1", @@ -182,32 +499,36 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, - "node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, + "license": "MIT", "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "balanced-match": "^1.0.0" } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" } }, "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, "funding": [ { @@ -223,42 +544,22 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "ieee754": "^1.2.1" } }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", + "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", "dev": true, + "license": "MIT", "engines": { - "node": "*" + "node": ">=8.0.0" } }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -272,6 +573,37 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -313,16 +645,21 @@ } }, "node_modules/clipboardy": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz", - "integrity": "sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz", + "integrity": "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==", "dev": true, + "license": "MIT", "dependencies": { - "arch": "^2.1.0", - "execa": "^0.8.0" + "execa": "^8.0.1", + "is-wsl": "^3.1.0", + "is64bit": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/color-convert": { @@ -350,25 +687,82 @@ } }, "node_modules/compress-commons": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", - "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", + "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", "dev": true, + "license": "MIT", "dependencies": { - "buffer-crc32": "^0.2.1", - "crc32-stream": "^2.0.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" + "crc-32": "^1.2.0", + "crc32-stream": "^6.0.0", + "is-stream": "^2.0.1", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" }, "engines": { - "node": ">= 0.10.0" + "node": ">= 14" } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "node_modules/compress-commons/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/compress-commons/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "dev": true, + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/compress-commons/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/compress-commons/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } }, "node_modules/core-util-is": { "version": "1.0.2", @@ -376,37 +770,94 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, - "node_modules/crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", "dev": true, - "dependencies": { - "buffer": "^5.1.0" + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" } }, "node_modules/crc32-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", - "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", + "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", "dev": true, + "license": "MIT", "dependencies": { - "crc": "^3.4.4", - "readable-stream": "^2.0.0" + "crc-32": "^1.2.0", + "readable-stream": "^4.0.0" }, "engines": { - "node": ">= 0.10.0" + "node": ">= 14" } }, - "node_modules/cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "node_modules/crc32-stream/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, + "license": "MIT", "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/crc32-stream/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/crc32-stream/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, "node_modules/cycle": { @@ -489,15 +940,46 @@ "node": ">= 0.4" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", "dev": true, + "license": "MIT", "dependencies": { - "once": "^1.4.0" + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -537,6 +1019,39 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -563,22 +1078,58 @@ "node": ">=0.8.0" } }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, "node_modules/execa": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", - "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, + "license": "MIT", "dependencies": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, "node_modules/eyes": { @@ -590,6 +1141,53 @@ "node": "> 0.1.90" } }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -615,38 +1213,72 @@ "is-callable": "^1.1.3" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, + "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stdin": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", @@ -660,36 +1292,74 @@ } }, "node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz", + "integrity": "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.3.1", + "jackspeak": "^4.1.1", + "minimatch": "^10.1.1", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": "*" + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", - "dev": true + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" }, "node_modules/hard-rejection": { "version": "2.1.0", @@ -731,10 +1401,11 @@ } }, "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -742,6 +1413,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/hosted-git-info": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", @@ -772,6 +1456,16 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -790,7 +1484,8 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "BSD-3-Clause" }, "node_modules/immediate": { "version": "3.0.6", @@ -810,31 +1505,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -901,6 +1577,74 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", @@ -913,6 +1657,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/is-number-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", @@ -951,12 +1705,16 @@ } }, "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-string": { @@ -986,17 +1744,50 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is64bit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is64bit/-/is64bit-2.0.0.tgz", + "integrity": "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "system-architecture": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" }, "node_modules/isstream": { "version": "0.1.2", @@ -1004,12 +1795,35 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, + "node_modules/jackspeak": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz", + "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/jju": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=", "dev": true }, + "node_modules/js-md4": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/js-md4/-/js-md4-0.3.2.tgz", + "integrity": "sha512-/GDnfQYsltsjRswQhN9fhv3EMw2sCpUdrdxyWDOUK7eyD++r3gRhzgiQgc/x4MAv2i1iuQ4lxO5mvqM3vj4bwA==", + "dev": true, + "license": "MIT" + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -1059,10 +1873,11 @@ } }, "node_modules/lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "^2.0.5" }, @@ -1104,16 +1919,17 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "version": "11.2.4", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", + "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", "dev": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" } }, "node_modules/map-obj": { @@ -1128,6 +1944,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/meow": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/meow/-/meow-10.0.0.tgz", @@ -1154,6 +1980,50 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/min-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", @@ -1163,16 +2033,27 @@ "node": ">=4" } }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true, + "license": "ISC" + }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^1.1.7" + "@isaacs/brace-expansion": "^5.0.0" }, "engines": { - "node": "*" + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { @@ -1195,6 +2076,16 @@ "node": ">= 6" } }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", @@ -1229,34 +2120,53 @@ } }, "node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, + "license": "MIT", "dependencies": { - "path-key": "^2.0.0" + "path-key": "^4.0.0" }, "engines": { - "node": ">=4" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/object-inspect": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -1305,15 +2215,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, "node_modules/onecolor": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/onecolor/-/onecolor-2.5.0.tgz", @@ -1323,33 +2224,31 @@ "node": ">=0.4.8" } }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/os-tmpdir": { + "node_modules/os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -1380,6 +2279,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -1413,22 +2319,14 @@ "node": ">=8" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/path-parse": { @@ -1437,6 +2335,46 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "node_modules/path-scurry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", + "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -1465,19 +2403,14 @@ "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", "dev": true }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.1.0" }, "engines": { "node": ">=0.6" @@ -1486,6 +2419,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/quick-lru": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", @@ -1557,16 +2511,27 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, + "license": "ISC", "dependencies": { - "resolve": "^1.1.6" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">= 0.10" + "node": ">=10" } }, "node_modules/redent": { @@ -1585,12 +2550,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, "node_modules/resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", @@ -1604,6 +2563,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, "node_modules/revalidator": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", @@ -1613,6 +2583,30 @@ "node": ">= 0.4.0" } }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -1665,83 +2659,267 @@ "dev": true }, "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { - "shebang-regex": "^1.0.0" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.10.0.tgz", + "integrity": "sha512-Jex+xw5Mg2qMZL3qnzXIfaxEtBaC4n7xifqaqtrZDdlheR70OGkydrPJWT0V1cA1k3nanC86x9FwAmQl6w3Klw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" + "execa": "^5.1.1", + "fast-glob": "^3.3.2" }, "engines": { - "node": ">=4" + "node": ">=18" } }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "node_modules/shelljs/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "node_modules/shelljs/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true + "node_modules/shelljs/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "node_modules/shelljs/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/shelljs/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/shelljs/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shelljs/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/shelljs/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/shelljs/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "dependencies": { "spdx-exceptions": "^2.1.0", @@ -1763,6 +2941,18 @@ "node": "*" } }, + "node_modules/streamx": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -1772,6 +2962,70 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/string.prototype.trimend": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", @@ -1798,13 +3052,57 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/strip-indent": { @@ -1834,36 +3132,54 @@ "node": ">=4" } }, + "node_modules/system-architecture": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz", + "integrity": "sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", "dev": true, + "license": "MIT", "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" } }, "node_modules/tfx-cli": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/tfx-cli/-/tfx-cli-0.17.0.tgz", - "integrity": "sha512-/fFD1qE3FkPglQQZIxbiZ2Hl5itTgLQW1LJ/2qMxGYkzxJx9U/axhg/g6dnYb2qsvWs4oHTbajHCiLKe8mE5LA==", + "version": "0.22.2", + "resolved": "https://registry.npmjs.org/tfx-cli/-/tfx-cli-0.22.2.tgz", + "integrity": "sha512-kFceaGFZ/QMvSX8Q0KsgNA0yP5kdI4J3CDavy/BcM1eeZUZEwTPvb3paicVWojLuEF0mgeOcOa0UxiAKg4fI2w==", "dev": true, + "license": "MIT", "dependencies": { "app-root-path": "1.0.0", - "archiver": "2.0.3", - "azure-devops-node-api": "^10.2.2", - "clipboardy": "~1.2.3", + "archiver": "^7.0.1", + "azure-devops-node-api": "^14.0.0", + "clipboardy": "^4.0.0", "colors": "~1.3.0", - "glob": "7.1.2", + "glob": "^11.0.3", "jju": "^1.4.0", "json-in-place": "^1.0.1", "jszip": "^3.10.1", @@ -1874,11 +3190,11 @@ "os-homedir": "^1.0.1", "prompt": "^1.3.0", "read": "^1.0.6", - "shelljs": "^0.8.5", - "tmp": "0.0.26", + "shelljs": "^0.10.0", + "tmp": "^0.2.4", "tracer": "0.7.4", "util.promisify": "^1.0.0", - "uuid": "^3.0.1", + "uuid": "^13.0.0", "validator": "^13.7.0", "winreg": "0.0.12", "xml2js": "^0.5.0" @@ -1887,7 +3203,7 @@ "tfx": "_build/tfx-cli.js" }, "engines": { - "node": ">=8.0.0" + "node": ">=16.0.0" } }, "node_modules/tinytim": { @@ -1900,23 +3216,28 @@ } }, "node_modules/tmp": { - "version": "0.0.26", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.26.tgz", - "integrity": "sha1-nvqCDOKhD4H4l5VVus4/FVJs4fI=", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { - "os-tmpdir": "~1.0.0" + "is-number": "^7.0.0" }, "engines": { - "node": ">=0.4.0" + "node": ">=8.0" } }, - "node_modules/to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", - "dev": true - }, "node_modules/tracer": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/tracer/-/tracer-0.7.4.tgz", @@ -1957,6 +3278,7 @@ "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } @@ -1974,14 +3296,20 @@ } }, "node_modules/typed-rest-client": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.6.tgz", - "integrity": "sha512-xcQpTEAJw2DP7GqVNECh4dD+riS+C1qndXLfBCJ3xk0kqprtGN491P5KlmrDbKdtuW8NEcP/5ChxiJI3S9WYTA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha512-Nel9aPbgSzRxfs1+4GoSB4wexCF+4Axlk7OSGVQCMa+4fWcyxIsN/YNmkp0xTT2iQzMD98h8yFLav/cNaULmRA==", "dev": true, + "license": "MIT", "dependencies": { - "qs": "^6.9.1", + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", "tunnel": "0.0.6", "underscore": "^1.12.1" + }, + "engines": { + "node": ">= 16.0.0" } }, "node_modules/unbox-primitive": { @@ -2000,10 +3328,11 @@ } }, "node_modules/underscore": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz", - "integrity": "sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==", - "dev": true + "version": "1.13.7", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", + "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", + "dev": true, + "license": "MIT" }, "node_modules/util-deprecate": { "version": "1.0.2", @@ -2028,12 +3357,17 @@ } }, "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz", + "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==", "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", "bin": { - "uuid": "bin/uuid" + "uuid": "dist-node/bin/uuid" } }, "node_modules/validate-npm-package-license": { @@ -2047,33 +3381,29 @@ } }, "node_modules/validator": { - "version": "13.7.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", - "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", + "version": "13.15.23", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.23.tgz", + "integrity": "sha512-4yoz1kEWqUjzi5zsPbAS/903QXSYp0UOtHsPpp7p9rHAw/W+dkInskAE386Fat3oKRROwO98d9ZB0G4cObgUyw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.10" } }, - "node_modules/walkdir": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", - "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=", - "dev": true, - "engines": { - "node": ">=0.6.0" - } - }, "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, "bin": { - "which": "bin/which" + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, "node_modules/which-boxed-primitive": { @@ -2130,1761 +3460,241 @@ "node": ">=0.1.90" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "license": "MIT", "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=4.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=4.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.4" + "node": ">=8" } }, - "node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "node_modules/yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=10" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/zip-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", - "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { - "archiver-utils": "^1.3.0", - "compress-commons": "^1.2.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 0.10.0" - } - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", - "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==", - "dev": true - }, - "@babel/highlight": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", - "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.0", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true - }, - "@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", - "dev": true - }, - "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "app-root-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-1.0.0.tgz", - "integrity": "sha1-LHKZF0vGHLhv46SnmOAeSTt9U30=", - "dev": true - }, - "arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true - }, - "archiver": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.0.3.tgz", - "integrity": "sha1-tDYLtYSvFDeZGUJxbyHXxSPR270=", - "dev": true, - "requires": { - "archiver-utils": "^1.3.0", - "async": "^2.0.0", - "buffer-crc32": "^0.2.1", - "glob": "^7.0.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0", - "tar-stream": "^1.5.0", - "walkdir": "^0.0.11", - "zip-stream": "^1.2.0" - }, - "dependencies": { - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - } - } - }, - "archiver-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", - "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", - "dev": true, - "requires": { - "glob": "^7.0.0", - "graceful-fs": "^4.1.0", - "lazystream": "^1.0.0", - "lodash": "^4.8.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" - } - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "azure-devops-node-api": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-10.2.2.tgz", - "integrity": "sha512-4TVv2X7oNStT0vLaEfExmy3J4/CzfuXolEcQl/BRUmvGySqKStTG2O55/hUQ0kM7UJlZBLgniM0SBq4d/WkKow==", - "dev": true, - "requires": { - "tunnel": "0.0.6", - "typed-rest-client": "^1.8.4" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dev": true, - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "node": ">=7.0.0" } }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true + "license": "MIT" }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true + "license": "MIT" }, - "camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "clipboardy": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz", - "integrity": "sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==", + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, - "requires": { - "arch": "^2.1.0", - "execa": "^0.8.0" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", "dev": true, - "requires": { - "color-name": "1.1.3" + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", - "dev": true - }, - "compress-commons": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", - "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "dev": true, - "requires": { - "buffer-crc32": "^0.2.1", - "crc32-stream": "^2.0.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" + "engines": { + "node": ">=4.0" } }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "node_modules/yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", "dev": true, - "requires": { - "buffer": "^5.1.0" + "engines": { + "node": ">=10" } }, - "crc32-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", - "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "requires": { - "crc": "^3.4.4", - "readable-stream": "^2.0.0" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "node_modules/zip-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", + "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "license": "MIT", + "dependencies": { + "archiver-utils": "^5.0.0", + "compress-commons": "^6.0.2", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" } }, - "cycle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", - "dev": true - }, - "dateformat": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.11.tgz", - "integrity": "sha1-8ny+56ASu/uC6gUVYtOXf2CT27E=", + "node_modules/zip-stream/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, - "requires": { - "get-stdin": "*", - "meow": "*" + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "decamelize": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.0.tgz", - "integrity": "sha512-U75DcT5hrio3KNtvdULAWnLiAPbFUC4191ldxMmj4FA/mRuBnmDwU0boNfPyFRhnan+Jm+haLeSn3P0afcBn4w==", - "dev": true - }, - "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "node_modules/zip-stream/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true + { + "type": "consulting", + "url": "https://feross.org/support" } - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } + ], + "license": "MIT" }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "node_modules/zip-stream/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", - "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.2", - "is-string": "^1.0.5", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.0" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "execa": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", - "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", - "dev": true - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "requires": { - "is-callable": "^1.1.3" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-stdin": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", - "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", - "dev": true - }, - "hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - }, - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", - "dev": true - }, - "indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-bigint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", - "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", - "dev": true - }, - "is-boolean-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", - "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", - "dev": true - }, - "is-core-module": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.3.0.tgz", - "integrity": "sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", - "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", - "dev": true - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true - }, - "is-number-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", - "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", - "dev": true - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-regex": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", - "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.2" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", - "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", - "dev": true - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "jju": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", - "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "json-in-place": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-in-place/-/json-in-place-1.0.1.tgz", - "integrity": "sha1-ih7NJaac4ZAFUs1xUr2TdU3k4fA=", - "dev": true, - "requires": { - "json-lexer": "1.1.1" - } - }, - "json-lexer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/json-lexer/-/json-lexer-1.1.1.tgz", - "integrity": "sha1-vT7V1+Vgudma0iNPKMpwb7N3t9Q=", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "jszip": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", - "dev": true, - "requires": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "setimmediate": "^1.0.5" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "dev": true, - "requires": { - "readable-stream": "^2.0.5" - } - }, - "lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dev": true, - "requires": { - "immediate": "~3.0.5" - } - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "map-obj": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", - "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", - "dev": true - }, - "meow": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-10.0.0.tgz", - "integrity": "sha512-29Fk3U5HIBe/ytHxAFKRWIi3Lz63LejnP7UxivXOA1ZCq/viNeJo2fiXLqIveCe6IxlC1J/BrxoSB47Bifzxlg==", - "dev": true, - "requires": { - "@types/minimist": "^1.2.1", - "camelcase-keys": "^6.2.2", - "decamelize": "^5.0.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.2", - "read-pkg-up": "^8.0.0", - "redent": "^4.0.0", - "trim-newlines": "^4.0.0", - "type-fest": "^1.0.2", - "yargs-parser": "^20.2.7" - } - }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "normalize-package-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", - "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "object-inspect": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onecolor": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/onecolor/-/onecolor-2.5.0.tgz", - "integrity": "sha1-Ila2UdyAfBAfAK7b1JklxXpEMcE=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "prompt": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.3.0.tgz", - "integrity": "sha512-ZkaRWtaLBZl7KKAKndKYUL8WqNT+cQHKRZnT4RYYms48jQkFw3rrBL+/N5K/KtdEveHkxs982MX2BkDKub2ZMg==", - "dev": true, - "requires": { - "@colors/colors": "1.5.0", - "async": "3.2.3", - "read": "1.0.x", - "revalidator": "0.1.x", - "winston": "2.x" - }, - "dependencies": { - "async": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", - "dev": true - } - } - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } - }, - "quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true - }, - "read": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", - "dev": true, - "requires": { - "mute-stream": "~0.0.4" - } - }, - "read-pkg": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", - "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^3.0.2", - "parse-json": "^5.2.0", - "type-fest": "^1.0.1" - } - }, - "read-pkg-up": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", - "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", - "dev": true, - "requires": { - "find-up": "^5.0.0", - "read-pkg": "^6.0.0", - "type-fest": "^1.0.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "redent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", - "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", - "dev": true, - "requires": { - "indent-string": "^5.0.0", - "strip-indent": "^4.0.0" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "revalidator": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", - "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=", - "dev": true - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", - "dev": true - }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", - "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", - "dev": true, - "requires": { - "min-indent": "^1.0.1" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dev": true, - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - }, - "tfx-cli": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/tfx-cli/-/tfx-cli-0.17.0.tgz", - "integrity": "sha512-/fFD1qE3FkPglQQZIxbiZ2Hl5itTgLQW1LJ/2qMxGYkzxJx9U/axhg/g6dnYb2qsvWs4oHTbajHCiLKe8mE5LA==", - "dev": true, - "requires": { - "app-root-path": "1.0.0", - "archiver": "2.0.3", - "azure-devops-node-api": "^10.2.2", - "clipboardy": "~1.2.3", - "colors": "~1.3.0", - "glob": "7.1.2", - "jju": "^1.4.0", - "json-in-place": "^1.0.1", - "jszip": "^3.10.1", - "lodash": "^4.17.21", - "minimist": "^1.2.6", - "mkdirp": "^1.0.4", - "onecolor": "^2.5.0", - "os-homedir": "^1.0.1", - "prompt": "^1.3.0", - "read": "^1.0.6", - "shelljs": "^0.8.5", - "tmp": "0.0.26", - "tracer": "0.7.4", - "util.promisify": "^1.0.0", - "uuid": "^3.0.1", - "validator": "^13.7.0", - "winreg": "0.0.12", - "xml2js": "^0.5.0" - } - }, - "tinytim": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/tinytim/-/tinytim-0.1.1.tgz", - "integrity": "sha1-yWih5VWa2VUyJO92J7qzTjyu+Kg=", - "dev": true - }, - "tmp": { - "version": "0.0.26", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.26.tgz", - "integrity": "sha1-nvqCDOKhD4H4l5VVus4/FVJs4fI=", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.0" - } - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", - "dev": true - }, - "tracer": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/tracer/-/tracer-0.7.4.tgz", - "integrity": "sha1-d/oEN8+Ct2vNvNRLhHRHcuWeUlk=", - "dev": true, - "requires": { - "colors": "1.0.3", - "dateformat": "1.0.11", - "tinytim": "0.1.1" - }, - "dependencies": { - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true - } - } - }, - "trim-newlines": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.0.2.tgz", - "integrity": "sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew==", - "dev": true - }, - "tunnel": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", - "dev": true - }, - "type-fest": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.1.1.tgz", - "integrity": "sha512-RPDKc5KrIyKTP7Fk75LruUagqG6b+OTgXlCR2Z0aQDJFeIvL4/mhahSEtHmmVzXu4gmA0srkF/8FCH3WOWxTWA==", - "dev": true - }, - "typed-rest-client": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.6.tgz", - "integrity": "sha512-xcQpTEAJw2DP7GqVNECh4dD+riS+C1qndXLfBCJ3xk0kqprtGN491P5KlmrDbKdtuW8NEcP/5ChxiJI3S9WYTA==", - "dev": true, - "requires": { - "qs": "^6.9.1", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - } - }, - "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - } - }, - "underscore": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz", - "integrity": "sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "util.promisify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", - "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "for-each": "^0.3.3", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.1" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "validator": { - "version": "13.7.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", - "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", - "dev": true - }, - "walkdir": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", - "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "winreg": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/winreg/-/winreg-0.0.12.tgz", - "integrity": "sha1-BxBVVLoanQiXklHRKUdb/64wBrc=", - "dev": true - }, - "winston": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.5.tgz", - "integrity": "sha512-TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==", - "dev": true, - "requires": { - "async": "~1.0.0", - "colors": "1.0.x", - "cycle": "1.0.x", - "eyes": "0.1.x", - "isstream": "0.1.x", - "stack-trace": "0.0.x" - }, + "license": "MIT", "dependencies": { - "async": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", - "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=", - "dev": true - }, - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", - "dev": true, - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - }, - "zip-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", - "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", - "dev": true, - "requires": { - "archiver-utils": "^1.3.0", - "compress-commons": "^1.2.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0" + "safe-buffer": "~5.2.0" } } } diff --git a/src/AzureDevopsTask/package.json b/src/AzureDevopsTask/package.json index 58cf8eb6..6395f5a1 100644 --- a/src/AzureDevopsTask/package.json +++ b/src/AzureDevopsTask/package.json @@ -1,6 +1,6 @@ { "devDependencies": { - "tfx-cli": "^0.17.0" + "tfx-cli": "^0.22.2" }, "scripts": { "tfx": "tfx" diff --git a/src/AzureDevopsTask/vss-extension.json b/src/AzureDevopsTask/vss-extension.json index 74fd4916..7c972b80 100644 --- a/src/AzureDevopsTask/vss-extension.json +++ b/src/AzureDevopsTask/vss-extension.json @@ -2,7 +2,7 @@ "manifestVersion": 1, "id": "reportgenerator", "name": "ReportGenerator", - "version": "5.4.7", + "version": "5.5.1", "publisher": "Palmmedia", "public": true, "targets": [ diff --git a/src/AzureDevopsTaskTest/README.md b/src/AzureDevopsTaskTest/README.md index d7e180a4..7b2b24bf 100644 --- a/src/AzureDevopsTaskTest/README.md +++ b/src/AzureDevopsTaskTest/README.md @@ -18,7 +18,7 @@ To learn how to use *ReportGenerator* have a look at the: inputs: reports: 'coverage.xml' # REQUIRED # The coverage reports that should be parsed (separated by semicolon). Globbing is supported. targetdir: 'coveragereport' # REQUIRED # The directory where the generated report should be saved. - reporttypes: 'HtmlInline_AzurePipelines;Cobertura' # The output formats and scope (separated by semicolon) Values: Badges, Clover, Cobertura, OpenCover, CsvSummary, Html, Html_Dark, Html_Light, Html_BlueRed, HtmlChart, HtmlInline, HtmlInline_AzurePipelines, HtmlInline_AzurePipelines_Dark, HtmlInline_AzurePipelines_Light, HtmlSummary, Html_BlueRed_Summary, JsonSummary, CodeClimate, Latex, LatexSummary, lcov, MarkdownSummary, MarkdownAssembliesSummary, MarkdownSummaryGithub, MarkdownDeltaSummary, MHtml, SvgChart, SonarQube, TeamCitySummary, TextSummary, TextDeltaSummary, Xml, XmlSummary + reporttypes: 'HtmlInline_AzurePipelines;Cobertura' # The output formats and scope (separated by semicolon) Values: Badges, Clover, Cobertura, OpenCover, CsvSummary, Html, Html_Dark, Html_Light, Html_BlueRed, HtmlChart, HtmlInline, HtmlInline_AzurePipelines, HtmlInline_AzurePipelines_Dark, HtmlInline_AzurePipelines_Light, HtmlSummary, Html_BlueRed_Summary, JsonSummary, CodeClimate, Latex, LatexSummary, lcov, Markdown, MarkdownSummary, MarkdownAssembliesSummary, MarkdownSummaryGithub, MarkdownDeltaSummary, MHtml, SvgChart, SonarQube, TeamCitySummary, TextSummary, TextDeltaSummary, Xml, XmlSummary sourcedirs: '' # Optional directories which contain the corresponding source code (separated by semicolon). The source directories are used if coverage report contains classes without path information. historydir: '' # Optional directory for storing persistent coverage information. Can be used in future reports to show coverage evolution. plugins: '' # Optional plugin files for custom reports or custom history storage (separated by semicolon). diff --git a/src/AzureDevopsTaskTest/ReportGenerator/package-lock.json b/src/AzureDevopsTaskTest/ReportGenerator/package-lock.json index 8c3e0902..6ea55e13 100644 --- a/src/AzureDevopsTaskTest/ReportGenerator/package-lock.json +++ b/src/AzureDevopsTaskTest/ReportGenerator/package-lock.json @@ -1,7 +1,7 @@ { "name": "reportgeneratortest", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -9,22 +9,22 @@ "version": "1.0.0", "license": "Apache-2.0", "dependencies": { - "azure-pipelines-task-lib": "^4.17.3" + "azure-pipelines-task-lib": "^5.2.2" }, "devDependencies": { - "@types/node": "^22.9.0", + "@types/node": "^24.10.1", "@types/q": "^1.5.8", - "typescript": "^5.6.3" + "typescript": "^5.9.3" } }, "node_modules/@types/node": { - "version": "22.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", - "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", + "version": "24.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", + "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.19.8" + "undici-types": "~7.16.0" } }, "node_modules/@types/q": { @@ -53,9 +53,9 @@ } }, "node_modules/azure-pipelines-task-lib": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.3.tgz", - "integrity": "sha512-UxfH5pk3uOHTi9TtLtdDyugQVkFES5A836ZEePjcs3jYyxm3EJ6IlFYq6gbfd6mNBhrM9fxG2u/MFYIJ+Z0cxQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-5.2.2.tgz", + "integrity": "sha512-McTb45c4oP1ma0evhXBe+y1Gy4gQihYnb+2Kr1tnBYhIv2xzK8iAIfwqhlyhHloCBVDHNrToFQcAC0UH1Gd32g==", "license": "MIT", "dependencies": { "adm-zip": "^0.5.10", @@ -73,9 +73,10 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -346,9 +347,9 @@ } }, "node_modules/typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -360,9 +361,9 @@ } }, "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", "dev": true, "license": "MIT" }, @@ -385,283 +386,5 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" } - }, - "dependencies": { - "@types/node": { - "version": "22.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", - "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", - "dev": true, - "requires": { - "undici-types": "~6.19.8" - } - }, - "@types/q": { - "version": "1.5.8", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", - "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==", - "dev": true - }, - "adm-zip": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", - "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==" - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "azure-pipelines-task-lib": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.17.3.tgz", - "integrity": "sha512-UxfH5pk3uOHTi9TtLtdDyugQVkFES5A836ZEePjcs3jYyxm3EJ6IlFYq6gbfd6mNBhrM9fxG2u/MFYIJ+Z0cxQ==", - "requires": { - "adm-zip": "^0.5.10", - "minimatch": "3.0.5", - "nodejs-file-downloader": "^4.11.1", - "q": "^1.5.1", - "semver": "^5.7.2", - "shelljs": "^0.8.5", - "uuid": "^3.0.1" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, - "is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", - "requires": { - "has": "^1.0.3" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "nodejs-file-downloader": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.12.1.tgz", - "integrity": "sha512-LpfCTNhh805AlLnJnzt1PuEj+RmbrccbAQZ6hBRw2e6QPVR0Qntuo6qqyvPHG5s77/0w0IEKgRAD4nbSnr/X4w==", - "requires": { - "follow-redirects": "^1.15.1", - "https-proxy-agent": "^5.0.0", - "mime-types": "^2.1.27", - "sanitize-filename": "^1.6.3" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "requires": { - "resolve": "^1.1.6" - } - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "sanitize-filename": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", - "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", - "requires": { - "truncate-utf8-bytes": "^1.0.0" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "truncate-utf8-bytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", - "requires": { - "utf8-byte-length": "^1.0.1" - } - }, - "typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", - "dev": true - }, - "undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "dev": true - }, - "utf8-byte-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - } } } diff --git a/src/AzureDevopsTaskTest/ReportGenerator/package.json b/src/AzureDevopsTaskTest/ReportGenerator/package.json index 1200ee4a..a54546d3 100644 --- a/src/AzureDevopsTaskTest/ReportGenerator/package.json +++ b/src/AzureDevopsTaskTest/ReportGenerator/package.json @@ -14,12 +14,12 @@ }, "homepage": "https://github.com/danielpalme/ReportGenerator", "dependencies": { - "azure-pipelines-task-lib": "^4.17.3" + "azure-pipelines-task-lib": "^5.2.2" }, "devDependencies": { - "@types/node": "^22.9.0", + "@types/node": "^24.10.1", "@types/q": "^1.5.8", - "typescript": "^5.6.3" + "typescript": "^5.9.3" }, "scripts": { "tsc": "tsc" diff --git a/src/AzureDevopsTaskTest/ReportGenerator/task.json b/src/AzureDevopsTaskTest/ReportGenerator/task.json index 38c32b48..830b27e3 100644 --- a/src/AzureDevopsTaskTest/ReportGenerator/task.json +++ b/src/AzureDevopsTaskTest/ReportGenerator/task.json @@ -41,7 +41,7 @@ "label": "Report types", "defaultValue": "HtmlInline_AzurePipelines;Cobertura", "required": false, - "helpMarkDown": "The output formats and scope (separated by semicolon) Values: Badges, Clover, Cobertura, OpenCover, CsvSummary, Html, Html_Dark, Html_Light, Html_BlueRed, HtmlChart, HtmlInline, HtmlInline_AzurePipelines, HtmlInline_AzurePipelines_Dark, HtmlInline_AzurePipelines_Light, HtmlSummary, Html_BlueRed_Summary, JsonSummary, CodeClimate, Latex, LatexSummary, lcov, MarkdownSummary, MarkdownAssembliesSummary, MarkdownSummaryGithub, MarkdownDeltaSummary, MHtml, SvgChart, SonarQube, TeamCitySummary, TextSummary, TextDeltaSummary, Xml, XmlSummary" + "helpMarkDown": "The output formats and scope (separated by semicolon) Values: Badges, Clover, Cobertura, OpenCover, CsvSummary, Html, Html_Dark, Html_Light, Html_BlueRed, HtmlChart, HtmlInline, HtmlInline_AzurePipelines, HtmlInline_AzurePipelines_Dark, HtmlInline_AzurePipelines_Light, HtmlSummary, Html_BlueRed_Summary, JsonSummary, CodeClimate, Latex, LatexSummary, lcov, Markdown, MarkdownSummary, MarkdownAssembliesSummary, MarkdownSummaryGithub, MarkdownDeltaSummary, MHtml, SvgChart, SonarQube, TeamCitySummary, TextSummary, TextDeltaSummary, Xml, XmlSummary" }, { "name": "sourcedirs", @@ -171,6 +171,10 @@ "Node16": { "target": "reportgenerator.js", "argumentFormat": "" + }, + "Node20_1": { + "target": "reportgenerator.js", + "argumentFormat": "" } }, "messages": { diff --git a/src/AzureDevopsTaskTest/package-lock.json b/src/AzureDevopsTaskTest/package-lock.json index 9601536a..0d13daf6 100644 --- a/src/AzureDevopsTaskTest/package-lock.json +++ b/src/AzureDevopsTaskTest/package-lock.json @@ -1,33 +1,31 @@ { - "name": "AzureDevopsTask", - "lockfileVersion": 2, + "name": "AzureDevopsTaskTest", + "lockfileVersion": 3, "requires": true, "packages": { "": { + "name": "AzureDevopsTaskTest", "devDependencies": { - "tfx-cli": "^0.17.0" + "tfx-cli": "^0.22.2" } }, "node_modules/@babel/code-frame": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/highlight": "^7.12.13" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", - "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@babel/highlight": { "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", - "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.14.0", "chalk": "^2.0.0", @@ -36,30 +34,142 @@ }, "node_modules/@colors/colors": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.1.90" } }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@types/minimist": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/normalize-package-data": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } }, "node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -69,14 +179,158 @@ }, "node_modules/app-root-path": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-1.0.0.tgz", - "integrity": "sha1-LHKZF0vGHLhv46SnmOAeSTt9U30=", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/archiver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", + "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "archiver-utils": "^5.0.2", + "async": "^3.2.4", + "buffer-crc32": "^1.0.0", + "readable-stream": "^4.0.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^3.0.0", + "zip-stream": "^6.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/archiver-utils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", + "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "^10.0.0", + "graceful-fs": "^4.2.0", + "is-stream": "^2.0.1", + "lazystream": "^1.0.0", + "lodash": "^4.17.15", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/archiver-utils/node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/archiver-utils/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/archiver-utils/node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/archiver-utils/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/archiver-utils/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/archiver-utils/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/archiver-utils/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "dev": true, + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "node_modules/archiver-utils/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { @@ -91,78 +345,132 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, - "node_modules/archiver": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.0.3.tgz", - "integrity": "sha1-tDYLtYSvFDeZGUJxbyHXxSPR270=", + "node_modules/archiver-utils/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, + "license": "MIT", "dependencies": { - "archiver-utils": "^1.3.0", - "async": "^2.0.0", - "buffer-crc32": "^0.2.1", - "glob": "^7.0.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0", - "tar-stream": "^1.5.0", - "walkdir": "^0.0.11", - "zip-stream": "^1.2.0" - }, - "engines": { - "node": ">= 4" + "safe-buffer": "~5.2.0" } }, - "node_modules/archiver-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", - "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", + "node_modules/archiver/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, + "license": "MIT", "dependencies": { - "glob": "^7.0.0", - "graceful-fs": "^4.1.0", - "lazystream": "^1.0.0", - "lodash": "^4.8.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" }, "engines": { - "node": ">= 0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/archiver/node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "node_modules/archiver/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/archiver/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, + "license": "MIT", "dependencies": { - "lodash": "^4.17.14" + "safe-buffer": "~5.2.0" } }, "node_modules/arrify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, "node_modules/azure-devops-node-api": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-10.2.2.tgz", - "integrity": "sha512-4TVv2X7oNStT0vLaEfExmy3J4/CzfuXolEcQl/BRUmvGySqKStTG2O55/hUQ0kM7UJlZBLgniM0SBq4d/WkKow==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-14.1.0.tgz", + "integrity": "sha512-QhpgjH1LQ+vgDJ7oBwcmsZ3+o4ZpjLVilw0D3oJQpYpRzN+L39lk5jZDLJ464hLUgsDzWn/Ksv7zLLMKLfoBzA==", "dev": true, + "license": "MIT", "dependencies": { "tunnel": "0.0.6", - "typed-rest-client": "^1.8.4" + "typed-rest-client": "2.1.0" + }, + "engines": { + "node": ">= 16.0.0" + } + }, + "node_modules/b4a": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", + "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } } }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/bare-events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } }, "node_modules/base64-js": { "version": "1.5.1", @@ -182,32 +490,36 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, - "node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, + "license": "MIT", "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "balanced-match": "^1.0.0" } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" } }, "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "dev": true, "funding": [ { @@ -223,47 +535,26 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "ieee754": "^1.2.1" } }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", + "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", "dev": true, + "license": "MIT", "engines": { - "node": "*" + "node": ">=8.0.0" } }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, "node_modules/call-bind": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -272,20 +563,49 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/camelcase": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/camelcase-keys": { "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "dev": true, + "license": "MIT", "dependencies": { "camelcase": "^5.3.1", "map-obj": "^4.0.0", @@ -300,9 +620,8 @@ }, "node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -313,115 +632,226 @@ } }, "node_modules/clipboardy": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz", - "integrity": "sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz", + "integrity": "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==", "dev": true, + "license": "MIT", "dependencies": { - "arch": "^2.1.0", - "execa": "^0.8.0" + "execa": "^8.0.1", + "is-wsl": "^3.1.0", + "is64bit": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/colors": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.1.90" } }, "node_modules/compress-commons": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", - "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", + "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", "dev": true, + "license": "MIT", "dependencies": { - "buffer-crc32": "^0.2.1", - "crc32-stream": "^2.0.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" + "crc-32": "^1.2.0", + "crc32-stream": "^6.0.0", + "is-stream": "^2.0.1", + "normalize-path": "^3.0.0", + "readable-stream": "^4.0.0" }, "engines": { - "node": ">= 0.10.0" + "node": ">= 14" } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "node_modules/crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "node_modules/compress-commons/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "dependencies": { - "buffer": "^5.1.0" + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/crc32-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", - "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", + "node_modules/compress-commons/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, + "license": "MIT", "dependencies": { - "crc": "^3.4.4", - "readable-stream": "^2.0.0" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" }, "engines": { - "node": ">= 0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "node_modules/compress-commons/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/compress-commons/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, + "license": "MIT", "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "safe-buffer": "~5.2.0" } }, - "node_modules/cycle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", + "node_modules/core-util-is": { + "version": "1.0.2", "dev": true, + "license": "MIT" + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, "engines": { - "node": ">=0.4.0" + "node": ">=0.8" } }, - "node_modules/dateformat": { + "node_modules/crc32-stream": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", + "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", + "dev": true, + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/crc32-stream/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "dev": true, + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/crc32-stream/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/crc32-stream/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cycle": { + "version": "1.0.3", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dateformat": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.11.tgz", - "integrity": "sha1-8ny+56ASu/uC6gUVYtOXf2CT27E=", "dev": true, "dependencies": { "get-stdin": "*", @@ -436,9 +866,8 @@ }, "node_modules/decamelize": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.0.tgz", - "integrity": "sha512-U75DcT5hrio3KNtvdULAWnLiAPbFUC4191ldxMmj4FA/mRuBnmDwU0boNfPyFRhnan+Jm+haLeSn3P0afcBn4w==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -448,9 +877,8 @@ }, "node_modules/decamelize-keys": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", "dev": true, + "license": "MIT", "dependencies": { "decamelize": "^1.1.0", "map-obj": "^1.0.0" @@ -461,27 +889,24 @@ }, "node_modules/decamelize-keys/node_modules/decamelize": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/decamelize-keys/node_modules/map-obj": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/define-properties": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, + "license": "MIT", "dependencies": { "object-keys": "^1.0.12" }, @@ -489,29 +914,58 @@ "node": ">= 0.4" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", "dev": true, + "license": "MIT", "dependencies": { - "once": "^1.4.0" + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, "node_modules/error-ex": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/es-abstract": { "version": "1.18.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", - "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", @@ -537,11 +991,43 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-to-primitive": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, + "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -556,45 +1042,124 @@ }, "node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, "node_modules/execa": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", - "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, + "license": "MIT", "dependencies": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, "node_modules/eyes": { "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", "dev": true, "engines": { "node": "> 0.1.90" } }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -608,50 +1173,82 @@ }, "node_modules/for-each": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, + "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, + "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stdin": { "version": "9.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", - "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -660,51 +1257,87 @@ } }, "node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz", + "integrity": "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.3.1", + "jackspeak": "^4.1.1", + "minimatch": "^10.1.1", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": "*" + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", - "dev": true + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" }, "node_modules/hard-rejection": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/has": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.1" }, @@ -714,27 +1347,26 @@ }, "node_modules/has-bigints": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -742,11 +1374,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/hosted-git-info": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", "dev": true, + "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -756,9 +1400,8 @@ }, "node_modules/hosted-git-info/node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -768,9 +1411,18 @@ }, "node_modules/hosted-git-info/node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "dev": true, + "license": "ISC" + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } }, "node_modules/ieee754": { "version": "1.2.1", @@ -790,19 +1442,18 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "BSD-3-Clause" }, "node_modules/immediate": { "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/indent-string": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -810,51 +1461,28 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true, - "engines": { - "node": ">= 0.10" - } + "license": "ISC" }, "node_modules/is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-bigint": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", - "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-boolean-object": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", - "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -867,9 +1495,8 @@ }, "node_modules/is-callable": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -879,9 +1506,8 @@ }, "node_modules/is-core-module": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.3.0.tgz", - "integrity": "sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw==", "dev": true, + "license": "MIT", "dependencies": { "has": "^1.0.3" }, @@ -891,9 +1517,8 @@ }, "node_modules/is-date-object": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", - "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -901,11 +1526,78 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-negative-zero": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -913,11 +1605,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/is-number-object": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", - "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -927,18 +1628,16 @@ }, "node_modules/is-plain-obj": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-regex": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", - "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-symbols": "^1.0.2" @@ -951,19 +1650,22 @@ } }, "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-string": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", - "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -973,9 +1675,8 @@ }, "node_modules/is-symbol": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, + "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -986,62 +1687,110 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is64bit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is64bit/-/is64bit-2.0.0.tgz", + "integrity": "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "system-architecture": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" }, "node_modules/isstream": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/jackspeak": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz", + "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, "node_modules/jju": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", - "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/js-md4": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/js-md4/-/js-md4-0.3.2.tgz", + "integrity": "sha512-/GDnfQYsltsjRswQhN9fhv3EMw2sCpUdrdxyWDOUK7eyD++r3gRhzgiQgc/x4MAv2i1iuQ4lxO5mvqM3vj4bwA==", + "dev": true, + "license": "MIT" }, "node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-in-place": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-in-place/-/json-in-place-1.0.1.tgz", - "integrity": "sha1-ih7NJaac4ZAFUs1xUr2TdU3k4fA=", "dev": true, + "license": "ISC", "dependencies": { "json-lexer": "1.1.1" } }, "node_modules/json-lexer": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/json-lexer/-/json-lexer-1.1.1.tgz", - "integrity": "sha1-vT7V1+Vgudma0iNPKMpwb7N3t9Q=", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jszip": { "version": "3.10.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", "dev": true, + "license": "(MIT OR GPL-3.0-or-later)", "dependencies": { "lie": "~3.3.0", "pako": "~1.0.2", @@ -1051,18 +1800,18 @@ }, "node_modules/kind-of": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "^2.0.5" }, @@ -1072,24 +1821,21 @@ }, "node_modules/lie": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", "dev": true, + "license": "MIT", "dependencies": { "immediate": "~3.0.5" } }, "node_modules/lines-and-columns": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -1104,23 +1850,23 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "version": "11.2.4", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", + "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", "dev": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" } }, "node_modules/map-obj": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", - "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -1128,11 +1874,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/meow": { "version": "10.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-10.0.0.tgz", - "integrity": "sha512-29Fk3U5HIBe/ytHxAFKRWIi3Lz63LejnP7UxivXOA1ZCq/viNeJo2fiXLqIveCe6IxlC1J/BrxoSB47Bifzxlg==", "dev": true, + "license": "MIT", "dependencies": { "@types/minimist": "^1.2.1", "camelcase-keys": "^6.2.2", @@ -1154,38 +1909,90 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/min-indent": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true, + "license": "ISC" + }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^1.1.7" + "@isaacs/brace-expansion": "^5.0.0" }, "engines": { - "node": "*" + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/minimist-options": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dev": true, + "license": "MIT", "dependencies": { "arrify": "^1.0.1", "is-plain-obj": "^1.1.0", @@ -1195,11 +2002,20 @@ "node": ">= 6" } }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/mkdirp": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, + "license": "MIT", "bin": { "mkdirp": "bin/cmd.js" }, @@ -1209,15 +2025,13 @@ }, "node_modules/mute-stream": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/normalize-package-data": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", - "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^4.0.1", "resolve": "^1.20.0", @@ -1229,52 +2043,69 @@ } }, "node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, + "license": "MIT", "dependencies": { - "path-key": "^2.0.0" + "path-key": "^4.0.0" }, "engines": { - "node": ">=4" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/object-inspect": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-keys": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -1290,9 +2121,8 @@ }, "node_modules/object.getownpropertydescriptors": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", @@ -1305,56 +2135,41 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, "node_modules/onecolor": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/onecolor/-/onecolor-2.5.0.tgz", - "integrity": "sha1-Ila2UdyAfBAfAK7b1JklxXpEMcE=", "dev": true, "engines": { "node": ">=0.4.8" } }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/os-tmpdir": { + "node_modules/os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -1367,9 +2182,8 @@ }, "node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -1380,17 +2194,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/pako": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true + "dev": true, + "license": "(MIT AND Zlib)" }, "node_modules/parse-json": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -1406,48 +2225,76 @@ }, "node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/path-key": { + "node_modules/path-parse": { + "version": "1.0.7", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", + "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, "engines": { - "node": ">=4" + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } }, "node_modules/process-nextick-args": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/prompt": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.3.0.tgz", - "integrity": "sha512-ZkaRWtaLBZl7KKAKndKYUL8WqNT+cQHKRZnT4RYYms48jQkFw3rrBL+/N5K/KtdEveHkxs982MX2BkDKub2ZMg==", "dev": true, + "license": "MIT", "dependencies": { "@colors/colors": "1.5.0", "async": "3.2.3", @@ -1461,23 +2308,17 @@ }, "node_modules/prompt/node_modules/async": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", - "dev": true - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.1.0" }, "engines": { "node": ">=0.6" @@ -1486,20 +2327,39 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/quick-lru": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/read": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", "dev": true, + "license": "ISC", "dependencies": { "mute-stream": "~0.0.4" }, @@ -1509,9 +2369,8 @@ }, "node_modules/read-pkg": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", - "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", "dev": true, + "license": "MIT", "dependencies": { "@types/normalize-package-data": "^2.4.0", "normalize-package-data": "^3.0.2", @@ -1527,9 +2386,8 @@ }, "node_modules/read-pkg-up": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", - "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^5.0.0", "read-pkg": "^6.0.0", @@ -1544,9 +2402,8 @@ }, "node_modules/readable-stream": { "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -1557,23 +2414,33 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, + "license": "ISC", "dependencies": { - "resolve": "^1.1.6" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">= 0.10" + "node": ">=10" } }, "node_modules/redent": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", - "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", "dev": true, + "license": "MIT", "dependencies": { "indent-string": "^5.0.0", "strip-indent": "^4.0.0" @@ -1585,17 +2452,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, "node_modules/resolve": { "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, + "license": "MIT", "dependencies": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" @@ -1604,32 +2464,63 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, "node_modules/revalidator": { "version": "0.1.8", - "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", - "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=", "dev": true, + "license": "Apache 2.0", "engines": { "node": ">= 0.4.0" } }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, "node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/sax": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/semver": { "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, + "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -1642,9 +2533,8 @@ }, "node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -1654,95 +2544,274 @@ }, "node_modules/semver/node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/setimmediate": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { - "shebang-regex": "^1.0.0" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.10.0.tgz", + "integrity": "sha512-Jex+xw5Mg2qMZL3qnzXIfaxEtBaC4n7xifqaqtrZDdlheR70OGkydrPJWT0V1cA1k3nanC86x9FwAmQl6w3Klw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" + "execa": "^5.1.1", + "fast-glob": "^3.3.2" }, "engines": { - "node": ">=4" + "node": ">=18" } }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "node_modules/shelljs/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true + "node_modules/shelljs/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "node_modules/shelljs/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" } }, - "node_modules/spdx-exceptions": { + "node_modules/shelljs/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/shelljs/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/shelljs/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shelljs/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/shelljs/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/shelljs/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true + "dev": true, + "license": "CC-BY-3.0" }, "node_modules/spdx-expression-parse": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, + "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -1750,33 +2819,105 @@ }, "node_modules/spdx-license-ids": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", - "dev": true + "dev": true, + "license": "CC0-1.0" }, "node_modules/stack-trace": { "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", "dev": true, + "license": "MIT", "engines": { "node": "*" } }, + "node_modules/streamx": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, "node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/string.prototype.trimend": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -1787,9 +2928,8 @@ }, "node_modules/string.prototype.trimstart": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -1798,20 +2938,63 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/strip-indent": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", - "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", "dev": true, + "license": "MIT", "dependencies": { "min-indent": "^1.0.1" }, @@ -1824,9 +3007,8 @@ }, "node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -1834,36 +3016,54 @@ "node": ">=4" } }, + "node_modules/system-architecture": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz", + "integrity": "sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", "dev": true, + "license": "MIT", "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" } }, "node_modules/tfx-cli": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/tfx-cli/-/tfx-cli-0.17.0.tgz", - "integrity": "sha512-/fFD1qE3FkPglQQZIxbiZ2Hl5itTgLQW1LJ/2qMxGYkzxJx9U/axhg/g6dnYb2qsvWs4oHTbajHCiLKe8mE5LA==", + "version": "0.22.2", + "resolved": "https://registry.npmjs.org/tfx-cli/-/tfx-cli-0.22.2.tgz", + "integrity": "sha512-kFceaGFZ/QMvSX8Q0KsgNA0yP5kdI4J3CDavy/BcM1eeZUZEwTPvb3paicVWojLuEF0mgeOcOa0UxiAKg4fI2w==", "dev": true, + "license": "MIT", "dependencies": { "app-root-path": "1.0.0", - "archiver": "2.0.3", - "azure-devops-node-api": "^10.2.2", - "clipboardy": "~1.2.3", + "archiver": "^7.0.1", + "azure-devops-node-api": "^14.0.0", + "clipboardy": "^4.0.0", "colors": "~1.3.0", - "glob": "7.1.2", + "glob": "^11.0.3", "jju": "^1.4.0", "json-in-place": "^1.0.1", "jszip": "^3.10.1", @@ -1874,11 +3074,11 @@ "os-homedir": "^1.0.1", "prompt": "^1.3.0", "read": "^1.0.6", - "shelljs": "^0.8.5", - "tmp": "0.0.26", + "shelljs": "^0.10.0", + "tmp": "^0.2.4", "tracer": "0.7.4", "util.promisify": "^1.0.0", - "uuid": "^3.0.1", + "uuid": "^13.0.0", "validator": "^13.7.0", "winreg": "0.0.12", "xml2js": "^0.5.0" @@ -1887,41 +3087,44 @@ "tfx": "_build/tfx-cli.js" }, "engines": { - "node": ">=8.0.0" + "node": ">=16.0.0" } }, "node_modules/tinytim": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/tinytim/-/tinytim-0.1.1.tgz", - "integrity": "sha1-yWih5VWa2VUyJO92J7qzTjyu+Kg=", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.2.0" } }, "node_modules/tmp": { - "version": "0.0.26", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.26.tgz", - "integrity": "sha1-nvqCDOKhD4H4l5VVus4/FVJs4fI=", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { - "os-tmpdir": "~1.0.0" + "is-number": "^7.0.0" }, "engines": { - "node": ">=0.4.0" + "node": ">=8.0" } }, - "node_modules/to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", - "dev": true - }, "node_modules/tracer": { "version": "0.7.4", - "resolved": "https://registry.npmjs.org/tracer/-/tracer-0.7.4.tgz", - "integrity": "sha1-d/oEN8+Ct2vNvNRLhHRHcuWeUlk=", "dev": true, + "license": "MIT", "dependencies": { "colors": "1.0.3", "dateformat": "1.0.11", @@ -1933,18 +3136,16 @@ }, "node_modules/tracer/node_modules/colors": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.1.90" } }, "node_modules/trim-newlines": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.0.2.tgz", - "integrity": "sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -1957,15 +3158,15 @@ "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } }, "node_modules/type-fest": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.1.1.tgz", - "integrity": "sha512-RPDKc5KrIyKTP7Fk75LruUagqG6b+OTgXlCR2Z0aQDJFeIvL4/mhahSEtHmmVzXu4gmA0srkF/8FCH3WOWxTWA==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -1974,21 +3175,26 @@ } }, "node_modules/typed-rest-client": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.6.tgz", - "integrity": "sha512-xcQpTEAJw2DP7GqVNECh4dD+riS+C1qndXLfBCJ3xk0kqprtGN491P5KlmrDbKdtuW8NEcP/5ChxiJI3S9WYTA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-2.1.0.tgz", + "integrity": "sha512-Nel9aPbgSzRxfs1+4GoSB4wexCF+4Axlk7OSGVQCMa+4fWcyxIsN/YNmkp0xTT2iQzMD98h8yFLav/cNaULmRA==", "dev": true, + "license": "MIT", "dependencies": { - "qs": "^6.9.1", + "des.js": "^1.1.0", + "js-md4": "^0.3.2", + "qs": "^6.10.3", "tunnel": "0.0.6", "underscore": "^1.12.1" + }, + "engines": { + "node": ">= 16.0.0" } }, "node_modules/unbox-primitive": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "has-bigints": "^1.0.1", @@ -2000,22 +3206,21 @@ } }, "node_modules/underscore": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz", - "integrity": "sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==", - "dev": true + "version": "1.13.7", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", + "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", + "dev": true, + "license": "MIT" }, "node_modules/util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/util.promisify": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", - "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -2028,59 +3233,58 @@ } }, "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz", + "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==", "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", "bin": { - "uuid": "bin/uuid" + "uuid": "dist-node/bin/uuid" } }, "node_modules/validate-npm-package-license": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, + "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, "node_modules/validator": { - "version": "13.7.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", - "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", + "version": "13.15.23", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.23.tgz", + "integrity": "sha512-4yoz1kEWqUjzi5zsPbAS/903QXSYp0UOtHsPpp7p9rHAw/W+dkInskAE386Fat3oKRROwO98d9ZB0G4cObgUyw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.10" } }, - "node_modules/walkdir": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", - "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=", - "dev": true, - "engines": { - "node": ">=0.6.0" - } - }, "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, "bin": { - "which": "bin/which" + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, "node_modules/which-boxed-primitive": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, + "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -2094,15 +3298,13 @@ }, "node_modules/winreg": { "version": "0.0.12", - "resolved": "https://registry.npmjs.org/winreg/-/winreg-0.0.12.tgz", - "integrity": "sha1-BxBVVLoanQiXklHRKUdb/64wBrc=", - "dev": true + "dev": true, + "license": "BSD" }, "node_modules/winston": { "version": "2.4.5", - "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.5.tgz", - "integrity": "sha512-TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==", "dev": true, + "license": "MIT", "dependencies": { "async": "~1.0.0", "colors": "1.0.x", @@ -2117,1774 +3319,248 @@ }, "node_modules/winston/node_modules/async": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", - "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/winston/node_modules/colors": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", "dev": true, + "license": "MIT", "engines": { "node": ">=0.1.90" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "license": "MIT", "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true, - "engines": { - "node": ">=4.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=0.4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "node_modules/yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/zip-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", - "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { - "archiver-utils": "^1.3.0", - "compress-commons": "^1.2.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 0.10.0" + "node": ">=7.0.0" } - } - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", - "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==", - "dev": true - }, - "@babel/highlight": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", - "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.0", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true - }, - "@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", - "dev": true - }, - "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "app-root-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-1.0.0.tgz", - "integrity": "sha1-LHKZF0vGHLhv46SnmOAeSTt9U30=", - "dev": true - }, - "arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true - }, - "archiver": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.0.3.tgz", - "integrity": "sha1-tDYLtYSvFDeZGUJxbyHXxSPR270=", - "dev": true, - "requires": { - "archiver-utils": "^1.3.0", - "async": "^2.0.0", - "buffer-crc32": "^0.2.1", - "glob": "^7.0.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0", - "tar-stream": "^1.5.0", - "walkdir": "^0.0.11", - "zip-stream": "^1.2.0" - }, - "dependencies": { - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - } - } - }, - "archiver-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", - "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", - "dev": true, - "requires": { - "glob": "^7.0.0", - "graceful-fs": "^4.1.0", - "lazystream": "^1.0.0", - "lodash": "^4.8.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" - } - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "azure-devops-node-api": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-10.2.2.tgz", - "integrity": "sha512-4TVv2X7oNStT0vLaEfExmy3J4/CzfuXolEcQl/BRUmvGySqKStTG2O55/hUQ0kM7UJlZBLgniM0SBq4d/WkKow==", - "dev": true, - "requires": { - "tunnel": "0.0.6", - "typed-rest-client": "^1.8.4" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, - "bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "dev": true, - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "clipboardy": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.3.tgz", - "integrity": "sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==", - "dev": true, - "requires": { - "arch": "^2.1.0", - "execa": "^0.8.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", - "dev": true - }, - "compress-commons": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", - "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", - "dev": true, - "requires": { - "buffer-crc32": "^0.2.1", - "crc32-stream": "^2.0.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", - "dev": true, - "requires": { - "buffer": "^5.1.0" - } - }, - "crc32-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", - "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", - "dev": true, - "requires": { - "crc": "^3.4.4", - "readable-stream": "^2.0.0" - } - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "cycle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", - "dev": true - }, - "dateformat": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.11.tgz", - "integrity": "sha1-8ny+56ASu/uC6gUVYtOXf2CT27E=", - "dev": true, - "requires": { - "get-stdin": "*", - "meow": "*" - } - }, - "decamelize": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.0.tgz", - "integrity": "sha512-U75DcT5hrio3KNtvdULAWnLiAPbFUC4191ldxMmj4FA/mRuBnmDwU0boNfPyFRhnan+Jm+haLeSn3P0afcBn4w==", - "dev": true - }, - "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - } - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", - "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.2", - "is-string": "^1.0.5", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.0" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "execa": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", - "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", - "dev": true - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "requires": { - "is-callable": "^1.1.3" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-stdin": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", - "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", - "dev": true - }, - "hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - }, - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", - "dev": true - }, - "indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-bigint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", - "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", - "dev": true - }, - "is-boolean-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", - "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", - "dev": true - }, - "is-core-module": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.3.0.tgz", - "integrity": "sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", - "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", - "dev": true - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true - }, - "is-number-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", - "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", - "dev": true - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-regex": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", - "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.2" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", - "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", - "dev": true - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "jju": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", - "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "json-in-place": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-in-place/-/json-in-place-1.0.1.tgz", - "integrity": "sha1-ih7NJaac4ZAFUs1xUr2TdU3k4fA=", - "dev": true, - "requires": { - "json-lexer": "1.1.1" - } - }, - "json-lexer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/json-lexer/-/json-lexer-1.1.1.tgz", - "integrity": "sha1-vT7V1+Vgudma0iNPKMpwb7N3t9Q=", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "jszip": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", - "dev": true, - "requires": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "setimmediate": "^1.0.5" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "dev": true, - "requires": { - "readable-stream": "^2.0.5" - } - }, - "lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dev": true, - "requires": { - "immediate": "~3.0.5" - } - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "map-obj": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", - "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", - "dev": true - }, - "meow": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-10.0.0.tgz", - "integrity": "sha512-29Fk3U5HIBe/ytHxAFKRWIi3Lz63LejnP7UxivXOA1ZCq/viNeJo2fiXLqIveCe6IxlC1J/BrxoSB47Bifzxlg==", - "dev": true, - "requires": { - "@types/minimist": "^1.2.1", - "camelcase-keys": "^6.2.2", - "decamelize": "^5.0.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.2", - "read-pkg-up": "^8.0.0", - "redent": "^4.0.0", - "trim-newlines": "^4.0.0", - "type-fest": "^1.0.2", - "yargs-parser": "^20.2.7" - } - }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "normalize-package-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", - "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "object-inspect": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onecolor": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/onecolor/-/onecolor-2.5.0.tgz", - "integrity": "sha1-Ila2UdyAfBAfAK7b1JklxXpEMcE=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "prompt": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.3.0.tgz", - "integrity": "sha512-ZkaRWtaLBZl7KKAKndKYUL8WqNT+cQHKRZnT4RYYms48jQkFw3rrBL+/N5K/KtdEveHkxs982MX2BkDKub2ZMg==", - "dev": true, - "requires": { - "@colors/colors": "1.5.0", - "async": "3.2.3", - "read": "1.0.x", - "revalidator": "0.1.x", - "winston": "2.x" - }, - "dependencies": { - "async": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", - "dev": true - } - } - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } - }, - "quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true - }, - "read": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", - "dev": true, - "requires": { - "mute-stream": "~0.0.4" - } - }, - "read-pkg": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", - "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^3.0.2", - "parse-json": "^5.2.0", - "type-fest": "^1.0.1" - } - }, - "read-pkg-up": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", - "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", - "dev": true, - "requires": { - "find-up": "^5.0.0", - "read-pkg": "^6.0.0", - "type-fest": "^1.0.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "redent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", - "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", - "dev": true, - "requires": { - "indent-string": "^5.0.0", - "strip-indent": "^4.0.0" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true + "license": "MIT" }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "revalidator": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", - "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=", - "dev": true - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true + "license": "MIT" }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, + "license": "MIT", "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", - "dev": true - }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", - "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", - "dev": true, - "requires": { - "min-indent": "^1.0.1" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dev": true, - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - }, - "tfx-cli": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/tfx-cli/-/tfx-cli-0.17.0.tgz", - "integrity": "sha512-/fFD1qE3FkPglQQZIxbiZ2Hl5itTgLQW1LJ/2qMxGYkzxJx9U/axhg/g6dnYb2qsvWs4oHTbajHCiLKe8mE5LA==", - "dev": true, - "requires": { - "app-root-path": "1.0.0", - "archiver": "2.0.3", - "azure-devops-node-api": "^10.2.2", - "clipboardy": "~1.2.3", - "colors": "~1.3.0", - "glob": "7.1.2", - "jju": "^1.4.0", - "json-in-place": "^1.0.1", - "jszip": "^3.10.1", - "lodash": "^4.17.21", - "minimist": "^1.2.6", - "mkdirp": "^1.0.4", - "onecolor": "^2.5.0", - "os-homedir": "^1.0.1", - "prompt": "^1.3.0", - "read": "^1.0.6", - "shelljs": "^0.8.5", - "tmp": "0.0.26", - "tracer": "0.7.4", - "util.promisify": "^1.0.0", - "uuid": "^3.0.1", - "validator": "^13.7.0", - "winreg": "0.0.12", - "xml2js": "^0.5.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "tinytim": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/tinytim/-/tinytim-0.1.1.tgz", - "integrity": "sha1-yWih5VWa2VUyJO92J7qzTjyu+Kg=", - "dev": true - }, - "tmp": { - "version": "0.0.26", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.26.tgz", - "integrity": "sha1-nvqCDOKhD4H4l5VVus4/FVJs4fI=", + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "requires": { - "os-tmpdir": "~1.0.0" + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", - "dev": true - }, - "tracer": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/tracer/-/tracer-0.7.4.tgz", - "integrity": "sha1-d/oEN8+Ct2vNvNRLhHRHcuWeUlk=", + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, - "requires": { - "colors": "1.0.3", - "dateformat": "1.0.11", - "tinytim": "0.1.1" + "license": "MIT", + "engines": { + "node": ">=12" }, - "dependencies": { - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true - } + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "trim-newlines": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.0.2.tgz", - "integrity": "sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew==", - "dev": true - }, - "tunnel": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", - "dev": true - }, - "type-fest": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.1.1.tgz", - "integrity": "sha512-RPDKc5KrIyKTP7Fk75LruUagqG6b+OTgXlCR2Z0aQDJFeIvL4/mhahSEtHmmVzXu4gmA0srkF/8FCH3WOWxTWA==", - "dev": true - }, - "typed-rest-client": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.6.tgz", - "integrity": "sha512-xcQpTEAJw2DP7GqVNECh4dD+riS+C1qndXLfBCJ3xk0kqprtGN491P5KlmrDbKdtuW8NEcP/5ChxiJI3S9WYTA==", + "node_modules/xml2js": { + "version": "0.5.0", "dev": true, - "requires": { - "qs": "^6.9.1", - "tunnel": "0.0.6", - "underscore": "^1.12.1" + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" } }, - "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "node_modules/xmlbuilder": { + "version": "11.0.1", "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" + "license": "MIT", + "engines": { + "node": ">=4.0" } }, - "underscore": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz", - "integrity": "sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "util.promisify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", - "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", + "node_modules/yargs-parser": { + "version": "20.2.7", "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "for-each": "^0.3.3", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.1" + "license": "ISC", + "engines": { + "node": ">=10" } }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "node_modules/yocto-queue": { + "version": "0.1.0", "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "validator": { - "version": "13.7.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", - "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", - "dev": true - }, - "walkdir": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", - "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/zip-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", + "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", "dev": true, - "requires": { - "isexe": "^2.0.0" + "license": "MIT", + "dependencies": { + "archiver-utils": "^5.0.0", + "compress-commons": "^6.0.2", + "readable-stream": "^4.0.0" + }, + "engines": { + "node": ">= 14" } }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "node_modules/zip-stream/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "winreg": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/winreg/-/winreg-0.0.12.tgz", - "integrity": "sha1-BxBVVLoanQiXklHRKUdb/64wBrc=", - "dev": true - }, - "winston": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.5.tgz", - "integrity": "sha512-TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==", + "node_modules/zip-stream/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, - "requires": { - "async": "~1.0.0", - "colors": "1.0.x", - "cycle": "1.0.x", - "eyes": "0.1.x", - "isstream": "0.1.x", - "stack-trace": "0.0.x" - }, - "dependencies": { - "async": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", - "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true + { + "type": "consulting", + "url": "https://feross.org/support" } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + ], + "license": "MIT" }, - "xml2js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "node_modules/zip-stream/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - }, - "zip-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", - "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", - "dev": true, - "requires": { - "archiver-utils": "^1.3.0", - "compress-commons": "^1.2.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0" + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" } } } diff --git a/src/AzureDevopsTaskTest/package.json b/src/AzureDevopsTaskTest/package.json index 58cf8eb6..6395f5a1 100644 --- a/src/AzureDevopsTaskTest/package.json +++ b/src/AzureDevopsTaskTest/package.json @@ -1,6 +1,6 @@ { "devDependencies": { - "tfx-cli": "^0.17.0" + "tfx-cli": "^0.22.2" }, "scripts": { "tfx": "tfx" diff --git a/src/Deployment/chocolatey/reportgenerator.portable.nuspec b/src/Deployment/chocolatey/reportgenerator.portable.nuspec index 0f12846c..2262b6f9 100644 --- a/src/Deployment/chocolatey/reportgenerator.portable.nuspec +++ b/src/Deployment/chocolatey/reportgenerator.portable.nuspec @@ -30,6 +30,9 @@ + + + diff --git a/src/Deployment/nuget/Readme_ReportGenerator.md b/src/Deployment/nuget/Readme_ReportGenerator.md index ac3f6c64..a75e7936 100644 --- a/src/Deployment/nuget/Readme_ReportGenerator.md +++ b/src/Deployment/nuget/Readme_ReportGenerator.md @@ -13,13 +13,13 @@ ReportGenerator converts coverage reports generated by coverlet, OpenCover, dotC ### .NET Core ``` -dotnet $(UserProfile)\.nuget\packages\reportgenerator\5.4.7\tools\net8.0\ReportGenerator.dll [options] -$(UserProfile)\.nuget\packages\reportgenerator\5.4.7\tools\net8.0\ReportGenerator.exe [options] +dotnet $(UserProfile)\.nuget\packages\reportgenerator\5.5.1\tools\net10.0\ReportGenerator.dll [options] +$(UserProfile)\.nuget\packages\reportgenerator\5.5.1\tools\net10.0\ReportGenerator.exe [options] ``` ### .NET Framework ``` -$(UserProfile)\.nuget\packages\reportgenerator\5.4.7\tools\net47\ReportGenerator.exe [options] +$(UserProfile)\.nuget\packages\reportgenerator\5.5.1\tools\net47\ReportGenerator.exe [options] ``` ## Additional information diff --git a/src/Deployment/nuget/Readme_dotnet-reportgenerator-globaltool.md b/src/Deployment/nuget/Readme_dotnet-reportgenerator-globaltool.md index eed5a326..6bd06575 100644 --- a/src/Deployment/nuget/Readme_dotnet-reportgenerator-globaltool.md +++ b/src/Deployment/nuget/Readme_dotnet-reportgenerator-globaltool.md @@ -13,12 +13,12 @@ ReportGenerator converts coverage reports generated by coverlet, OpenCover, dotC ### Installation ``` -dotnet tool install --global dotnet-reportgenerator-globaltool --version 5.4.7 +dotnet tool install --global dotnet-reportgenerator-globaltool --version 5.5.1 -dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version 5.4.7 +dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version 5.5.1 dotnet new tool-manifest -dotnet tool install dotnet-reportgenerator-globaltool --version 5.4.7 +dotnet tool install dotnet-reportgenerator-globaltool --version 5.5.1 ``` ### Execution diff --git a/src/Deployment/nuget/ReportGenerator.Core.nuspec b/src/Deployment/nuget/ReportGenerator.Core.nuspec index 0c0bbebd..d5dc263b 100644 --- a/src/Deployment/nuget/ReportGenerator.Core.nuspec +++ b/src/Deployment/nuget/ReportGenerator.Core.nuspec @@ -25,22 +25,22 @@ https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage - - - - - - + + + + + + - - - - - - + + + + + + @@ -71,6 +71,14 @@ https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage + + + + + + + + diff --git a/src/Deployment/nuget/ReportGenerator.nuspec b/src/Deployment/nuget/ReportGenerator.nuspec index 10da1f29..2cb16c50 100644 --- a/src/Deployment/nuget/ReportGenerator.nuspec +++ b/src/Deployment/nuget/ReportGenerator.nuspec @@ -39,6 +39,9 @@ $(UserProfile)\.nuget\packages\reportgenerator\x.y.z\tools\net47\ReportGenerator + + + diff --git a/src/Deployment/nuget/dotnet-reportgenerator-globaltool.nuspec b/src/Deployment/nuget/dotnet-reportgenerator-globaltool.nuspec index 5f1fa533..6ead3a5b 100644 --- a/src/Deployment/nuget/dotnet-reportgenerator-globaltool.nuspec +++ b/src/Deployment/nuget/dotnet-reportgenerator-globaltool.nuspec @@ -49,5 +49,9 @@ dotnet reportgenerator [options] + + + + diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 5796c4e3..0c71164c 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -8,7 +8,7 @@ - + diff --git a/src/Readme.txt b/src/Readme.txt index 280ac527..c7d1b199 100644 --- a/src/Readme.txt +++ b/src/Readme.txt @@ -35,7 +35,7 @@ The following output formats are supported by ReportGenerator: -TeamCitySummary -TextSummary, TextDeltaSummary -CsvSummary --MarkdownSummary, MarkdownAssembliesSummary, MarkdownSummaryGithub, MarkdownDeltaSummary +-Markdown, MarkdownSummary, MarkdownAssembliesSummary, MarkdownSummaryGithub, MarkdownDeltaSummary -SvgChart -Badges -Custom formats (https://github.com/danielpalme/ReportGenerator/wiki/Custom-reports) @@ -49,7 +49,9 @@ Compatibility: -Cobertura -JaCoCo (version 0.8.3 or greater) -Clover +-Scoverage -Mono (mprof-report) +-Testwell CTC++ (PRO version only) -gcov -lcov @@ -67,6 +69,62 @@ For further details take a look at LICENSE.txt. CHANGELOG +5.5.1.0 + + * New: #766: Added new setting "preserveTrailingEmptyLine". + * New: #769: Added support for Cobertura files exported from Swift (contributed by @Vovanni) + +5.5.0.0 + + * New: Added support for .NET 10 + * New: #763: Added new setting "includeAllDatesInCharts". + +5.4.18.0 + + * Fix: #760: Improved light/dark mode when "Auto Dark Mode for Web Contents" is enabled in Chrome/Edge + * Fix: #762: Improved handling of generic classes in DynamicCodeCoverage files (generated by dotnet-coverage) + +5.4.17.0 + + * New: #756: Added new report type 'Markdown' + * Fix: #757: Improved title elements in SVGs charts embedded in MHTML report + +5.4.16.0 + + * Fix: #755: Improved MHTML reports (inline CSS) + +5.4.15.0 + + * New: #752: Added support for Scoverage input format + * New: #753: Added tiny history charts to HTML reports (if JavaScript is disabled) + +5.4.14.0 + + * New: Added support for Testwell CTC++ coverage files (PRO version only) + * New: #753: Added title elements to SVGs generated with SvgChart report type + +5.4.13.0 + + * Fix: #751: Improved support for large numbers in LCOV files + +5.4.12.0 + + * Fix: #750: Cobertura reports now contain timestamp in UTC format + +5.4.10.0 + + * New: #746: Improved "raw mode" (settings:rawMode=true): Leave method names unchanged + +5.4.9.0 + + * New: #744: Azure DevOps task: Added support for nodeJS 20 + +5.4.8.0 + + * New: #737 Improved lcov support (take FNDA elements into account to determine whether a code element has been covered) + * New: #741 Charts does not render "Full method coverage" elements if coverage information is not available + * New: Added new setting "applyMaximumGroupingLevel". This allows to apply the maximum grouping level instead of the default 'By assembly' grouping in HTML reports. + 5.4.7.0 * New: #731 Added option to break build when maximum risk hotspots metrics are exceeded @@ -146,7 +204,7 @@ CHANGELOG 5.3.0.0 - * New: Azure DevOps task: Added new setting "publishCodeCoverageResults" This allows to publish report in 'Code Coverage' tab directly. + * New: Azure DevOps task: Added new setting "publishCodeCoverageResults". This allows to publish report in 'Code Coverage' tab directly. Makes the 'PublishCodeCoverageResults' task obsolete. * New: #662: Added ability to filter by coverage in Html reports * New: #667: Added new report type 'MarkdownAssembliesSummary' @@ -1149,4 +1207,4 @@ CHANGELOG 0.1.0.0 - * New: Initial release + * New: Initial release \ No newline at end of file diff --git a/src/ReportGenerator.Console.NetCore/Properties/launchSettings.json b/src/ReportGenerator.Console.NetCore/Properties/launchSettings.json index 527e124f..4947f4a1 100644 --- a/src/ReportGenerator.Console.NetCore/Properties/launchSettings.json +++ b/src/ReportGenerator.Console.NetCore/Properties/launchSettings.json @@ -2,7 +2,7 @@ "profiles": { "ReportGenerator.Console.NetCore": { "commandName": "Project", - "commandLineArgs": "\"-reports:..\\..\\..\\..\\..\\src\\Testprojects\\CSharp\\Reports\\Cobertura_coverlet.xml\" \"-targetdir:C:\\Users\\Daniel Palme\\Desktop\\coverage2\" -reporttypes:Html; -filefilters:-*Abstract*.cs" + "commandLineArgs": "\"-reports:..\\..\\..\\..\\..\\src\\Testprojects\\CSharp\\Reports\\Cobertura_coverlet.xml\" \"-targetdir:C:\\Users\\Daniel Palme\\Desktop\\coverage\" -reporttypes:Html; -filefilters:-*Abstract*.cs" } } } \ No newline at end of file diff --git a/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj b/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj index 929c4912..b2cb5bb0 100644 --- a/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj +++ b/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj @@ -2,13 +2,13 @@ Exe - net8.0;net9.0 + net8.0;net9.0;net10.0 ProgramIcon.ico ReportGenerator Palmmedia.ReportGenerator Palmmedia.ReportGenerator.Console.NetCore.Program - 5.4.7.0 - 5.4.7.0 + 5.5.1.0 + 5.5.1.0 diff --git a/src/ReportGenerator.Console/ReportGenerator.Console.Net.csproj b/src/ReportGenerator.Console/ReportGenerator.Console.Net.csproj index f9ec253d..83e13d94 100644 --- a/src/ReportGenerator.Console/ReportGenerator.Console.Net.csproj +++ b/src/ReportGenerator.Console/ReportGenerator.Console.Net.csproj @@ -1,6 +1,6 @@  - {19A59768-9410-440D-A857-A1B5D44787B8} + {19A59768-9410-440D-A857-A1B5.5.187B8} Exe Palmmedia.ReportGenerator ReportGenerator @@ -8,8 +8,8 @@ ReportGenerator.Console ReportGenerator.Console Copyright © 2022 - 5.4.7.0 - 5.4.7.0 + 5.5.1.0 + 5.5.1.0 bin\$(Configuration)\ false diff --git a/src/ReportGenerator.Core.Test/Common/GlobbingFileSearchTest.cs b/src/ReportGenerator.Core.Test/Common/GlobbingFileSearchTest.cs index bc85406c..946567e5 100644 --- a/src/ReportGenerator.Core.Test/Common/GlobbingFileSearchTest.cs +++ b/src/ReportGenerator.Core.Test/Common/GlobbingFileSearchTest.cs @@ -28,7 +28,7 @@ public void GetFiles_EmptyDirectory_NoFilesFound() public void GetFiles_SingleDirectory_XmlFilesFound() { var files = GlobbingFileSearch.GetFiles(Path.Combine(FileManager.GetCSharpReportDirectory(), "*.xml")).ToArray(); - Assert.Equal(24, files.Length); + Assert.Equal(25, files.Length); } [Fact] diff --git a/src/ReportGenerator.Core.Test/Common/WildCardFileSearchTest.cs b/src/ReportGenerator.Core.Test/Common/WildCardFileSearchTest.cs index d27f9619..de1203ac 100644 --- a/src/ReportGenerator.Core.Test/Common/WildCardFileSearchTest.cs +++ b/src/ReportGenerator.Core.Test/Common/WildCardFileSearchTest.cs @@ -20,7 +20,7 @@ public void GetFiles_FilePatternNull_ArgumentException() } [Fact] - public void GetFiles_FilePatternEmtpy_ArgumentException() + public void GetFiles_FilePatternEmpty_ArgumentException() { Assert.Throws(() => WildCardFileSearch.GetFiles(string.Empty).ToArray()); } @@ -58,7 +58,7 @@ public void GetFiles_EmptyDirectory_NoFilesFound() public void GetFiles_SingleDirectory_XmlFilesFound() { var files = WildCardFileSearch.GetFiles(Path.Combine(FileManager.GetCSharpReportDirectory(), "*.xml")).ToArray(); - Assert.Equal(24, files.Length); + Assert.Equal(25, files.Length); } [Fact] diff --git a/src/ReportGenerator.Core.Test/FileManager.cs b/src/ReportGenerator.Core.Test/FileManager.cs index 18de78bc..2bad5c01 100644 --- a/src/ReportGenerator.Core.Test/FileManager.cs +++ b/src/ReportGenerator.Core.Test/FileManager.cs @@ -57,6 +57,8 @@ public FileManager() internal static string GetJavaReportDirectory() => Path.Combine(GetFilesDirectory(), "Java", "Reports"); + internal static string GetScalaReportDirectory() => Path.Combine(GetFilesDirectory(), "Scala", "Reports"); + internal static string GetCPlusPlusReportDirectory() => Path.Combine(GetFilesDirectory(), "C++", "Reports"); internal static string GetCSharpCodeDirectory() => Path.Combine(GetFilesDirectory(), "CSharp", "Project"); @@ -67,6 +69,10 @@ public FileManager() internal static string GetCPlusPlusCodeDirectory() => Path.Combine(GetFilesDirectory(), "C++", "Projects"); + internal static string GetCtcReportsDirectory() => Path.Combine(GetFilesDirectory(), "CTC"); + + internal static string GetOtherReportsDirectory() => Path.Combine(GetFilesDirectory(), "Other"); + internal static string GetFilesDirectory() { if (filesDirectory == null) diff --git a/src/ReportGenerator.Core.Test/MsBuildTest.cs b/src/ReportGenerator.Core.Test/MsBuildTest.cs index 185632ee..2340e608 100644 --- a/src/ReportGenerator.Core.Test/MsBuildTest.cs +++ b/src/ReportGenerator.Core.Test/MsBuildTest.cs @@ -18,6 +18,9 @@ public void ExecuteMSBuildScript_NetFull() var paths = new[] { + @"C:\Program Files\Microsoft Visual Studio\18\Community\MSBuild\Current\Bin\MSBuild.exe", + @"C:\Program Files\Microsoft Visual Studio\18\Professional\MSBuild\Current\Bin\MSBuild.exe", + @"C:\Program Files\Microsoft Visual Studio\18\Enterprise\MSBuild\Current\Bin\MSBuild.exe", @"C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe", @"C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\MSBuild.exe", @"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\MSBuild.exe" diff --git a/src/ReportGenerator.Core.Test/Parser/Analysis/CodeFileTest.cs b/src/ReportGenerator.Core.Test/Parser/Analysis/CodeFileTest.cs index b649c450..c8234035 100644 --- a/src/ReportGenerator.Core.Test/Parser/Analysis/CodeFileTest.cs +++ b/src/ReportGenerator.Core.Test/Parser/Analysis/CodeFileTest.cs @@ -191,6 +191,77 @@ public void Merge_MergeCodeFileWithLongerCoverageArray_CoverageInformationIsUpda Assert.Equal(7, sut.TotalBranches); } + /// + /// A test for Merge + /// + [Fact] + public void Merge_MergeCodeFileCtcDetails_CtcDetailsUpdated() + { + var branches = new Dictionary>(); + + var sut = new CodeFile("C:\\temp\\Program.cs", new int[] { }, new LineVisitStatus[] { }, branches); + sut.AddCtcDetail(1, new CtcDetails(new List() + { + new CtcProbeDetail(true, "1"), + new CtcProbeDetail(false, "2"), + new CtcProbeDetail(true, "3"), + new CtcProbeDetail(false, "4") + }, new List() + { + new CtcProbeDetail(true, "1"), + new CtcProbeDetail(false, "2"), + new CtcProbeDetail(true, "3"), + new CtcProbeDetail(false, "4") + })); + sut.AddCtcDetail(2, new CtcDetails(new List() + { + new CtcProbeDetail(true, "1"), + new CtcProbeDetail(false, "2"), + new CtcProbeDetail(true, "3"), + new CtcProbeDetail(false, "4") + }, new List() + { + new CtcProbeDetail(true, "1"), + new CtcProbeDetail(false, "2"), + new CtcProbeDetail(true, "3"), + new CtcProbeDetail(false, "4") + })); + + var codeFileToMerge = new CodeFile("C:\\temp\\Program.cs", new int[] { }, new LineVisitStatus[] { }, branches); + codeFileToMerge.AddCtcDetail(1, new CtcDetails(new List() + { + new CtcProbeDetail(true, "1"), + new CtcProbeDetail(false, "2"), + new CtcProbeDetail(true, "3"), + new CtcProbeDetail(true, "4"), + new CtcProbeDetail(true, "5") + }, new List() + { + new CtcProbeDetail(true, "1"), + new CtcProbeDetail(false, "2"), + new CtcProbeDetail(true, "3"), + new CtcProbeDetail(true, "4"), + new CtcProbeDetail(true, "5") + })); + codeFileToMerge.AddCtcDetail(3, new CtcDetails(new List() + { + new CtcProbeDetail(true, "1"), + new CtcProbeDetail(false, "2"), + new CtcProbeDetail(true, "3"), + new CtcProbeDetail(false, "4") + }, new List() + { + new CtcProbeDetail(true, "1"), + new CtcProbeDetail(false, "2"), + new CtcProbeDetail(true, "3"), + new CtcProbeDetail(false, "4") + })); + + sut.Merge(codeFileToMerge); + + // No assert possible, just check for exception + } + /// /// A test for AnalyzeFile /// @@ -382,7 +453,7 @@ public void CoveredCodeElements() var sut = new CodeFile("C:\\temp\\Program.cs", new int[] { -1, 0, 2 }, new LineVisitStatus[] { LineVisitStatus.NotCoverable, LineVisitStatus.NotCovered, LineVisitStatus.Covered }); sut.AddCodeElement(new CodeElement("NotCoverable", CodeElementType.Method, 1, 1, null)); sut.AddCodeElement(new CodeElement("NotCovered", CodeElementType.Method, 2, 2, null)); - sut.AddCodeElement(new CodeElement("Covered", CodeElementType.Method, 3, 3, null)); + sut.AddCodeElement(new CodeElement("Covered", CodeElementType.Method, 3, 3, 0.5m)); Assert.Equal(1, sut.CoveredCodeElements); } diff --git a/src/ReportGenerator.Core.Test/Parser/ClassNameParserTest.cs b/src/ReportGenerator.Core.Test/Parser/CoberturaClassNameParserTest.cs similarity index 97% rename from src/ReportGenerator.Core.Test/Parser/ClassNameParserTest.cs rename to src/ReportGenerator.Core.Test/Parser/CoberturaClassNameParserTest.cs index 7ad8b908..dbffe590 100644 --- a/src/ReportGenerator.Core.Test/Parser/ClassNameParserTest.cs +++ b/src/ReportGenerator.Core.Test/Parser/CoberturaClassNameParserTest.cs @@ -3,7 +3,7 @@ namespace Palmmedia.ReportGenerator.Core.Test.Parser { - public class ClassNameParserTest + public class CoberturaClassNameParserTest { [Theory] // RawMode @@ -176,7 +176,7 @@ public class ClassNameParserTest public void ParseClassName(string rawName, bool rawMode, string expectedName, string expectedDisplayName, bool expectedInclude) { - var result = ClassNameParser.ParseClassName(rawName, rawMode); + var result = CoberturaClassNameParser.ParseClassName(rawName, rawMode); Assert.Equal(expectedName, result.Name); Assert.Equal(expectedDisplayName, result.DisplayName); diff --git a/src/ReportGenerator.Core.Test/Parser/CoberturaParserTest.cs b/src/ReportGenerator.Core.Test/Parser/CoberturaParserTest.cs index 317eab0d..a416f55b 100644 --- a/src/ReportGenerator.Core.Test/Parser/CoberturaParserTest.cs +++ b/src/ReportGenerator.Core.Test/Parser/CoberturaParserTest.cs @@ -21,15 +21,19 @@ public class CoberturaParserTest { private static readonly string FilePathJavaReport = Path.Combine(FileManager.GetJavaReportDirectory(), "Cobertura2.1.1.xml"); private static readonly string FilePathCSharpReport = Path.Combine(FileManager.GetCSharpReportDirectory(), "Cobertura_coverlet.xml"); + private static readonly string FilePathSwiftReport = Path.Combine(FileManager.GetOtherReportsDirectory(), "Cobertura_Swift.xml"); private readonly ParserResult javaParserResult; private readonly ParserResult csharpParserResult; + private readonly ParserResult swiftParserResult; public CoberturaParserTest() { this.javaParserResult = ParseReport(FilePathJavaReport); this.csharpParserResult = ParseReport(FilePathCSharpReport); + + this.swiftParserResult = ParseReport(FilePathSwiftReport); } /// @@ -159,8 +163,8 @@ public void MethodMetricsTest() [InlineData("Test", "Test.AbstractClass", "C:\\temp\\AbstractClass.cs", ".ctor()", 1, 1, 100, 100, 1)] [InlineData("Test", "Test.AbstractClass_SampleImpl1", "C:\\temp\\AbstractClass.cs", "Method1()", 3, 1, 0, 100, 2)] [InlineData("Test", "Test.PartialClass", "C:\\temp\\PartialClass.cs", "set_SomeProperty(System.Int32)", 4, 2, 66.66, 50, 2)] - [InlineData("Test", "Test.Program", "C:\\temp\\Program.cs", "Main(System.String[])", 4, 1, 89.65, 100, 1.00)] - [InlineData("Test", "Test.TestClass", "C:\\temp\\TestClass.cs", "SampleFunction()", 5, 4, 80, 50, 4)] + [InlineData("Test", "Test.Program", "C:\\temp\\Program.cs", "Main(System.String[])", 4, 1, 90.00, 100, 1.00)] + [InlineData("Test", "Test.TestClass", "C:\\temp\\TestClass.cs", "SampleFunction()", 7, 4, 80, 50, 4)] public void MethodMetricsTest_2(string assemblyName, string className, string filePath, string methodName, int expectedMethodMetrics, double expectedComplexity, double expectedLineCoverage, double expectedBranchCoverage, double expectedCrapScore) { var methodMetrics = csharpParserResult @@ -196,6 +200,47 @@ public void MethodMetricsTest_2(string assemblyName, string className, string fi Assert.Equal((decimal)expectedCrapScore, crapScoreMetric.Value); } + /// + /// A test for Swift MethodMetrics + /// + [Theory] + [InlineData("ComponentsTests/app", "ComponentsTests", "test_folder/firstTest.swift", "static URL.currentApplicationSupport.getter", 2, 0, 0, 100, 0)] + [InlineData("ComponentsTests/app", "ComponentsTests", "test_folder/firstTest.swift", "implicit closure #1 in static URL.currentApplicationSupport.getter", 2, 0, 100, 100, 0)] + public void MethodMetricsTest_3(string assemblyName, string className, string filePath, string methodName, int expectedMethodMetrics, double expectedComplexity, double expectedLineCoverage, double expectedBranchCoverage, double expectedCrapScore) + { + var methodMetrics = swiftParserResult + .Assemblies.Single(a => a.Name == assemblyName) + .Classes.Single(c => c.Name == className) + .Files.Single(f => f.Path == filePath) + .MethodMetrics.ToArray(); + + Assert.Equal(expectedMethodMetrics, methodMetrics.Length); + + var methodMetric = methodMetrics.First(m => m.FullName == methodName); + Assert.Equal(methodName, methodMetric.FullName); + Assert.Equal(4, methodMetric.Metrics.Count()); + + var complexityMetric = methodMetric.Metrics.Single(m => m.MetricType == MetricType.CodeQuality && m.Abbreviation == "cc"); + Assert.Equal("Cyclomatic complexity", complexityMetric.Name); + Assert.True(complexityMetric.Value.HasValue); + Assert.Equal((decimal)expectedComplexity, complexityMetric.Value); + + var lineCoverageMetric = methodMetric.Metrics.Single(m => m.MetricType == MetricType.CoveragePercentual && m.Abbreviation == "cov"); + Assert.Equal("Line coverage", lineCoverageMetric.Name); + Assert.True(lineCoverageMetric.Value.HasValue); + Assert.Equal((decimal)expectedLineCoverage, lineCoverageMetric.Value); + + var branchCoverageMetric = methodMetric.Metrics.Single(m => m.MetricType == MetricType.CoveragePercentual && m.Abbreviation == "bcov"); + Assert.Equal("Branch coverage", branchCoverageMetric.Name); + Assert.True(branchCoverageMetric.Value.HasValue); + Assert.Equal((decimal)expectedBranchCoverage, branchCoverageMetric.Value); + + var crapScoreMetric = methodMetric.Metrics.Single(m => m.MetricType == MetricType.CodeQuality && m.Abbreviation == "crp"); + Assert.Equal("Crap Score", crapScoreMetric.Name); + Assert.True(crapScoreMetric.Value.HasValue); + Assert.Equal((decimal)expectedCrapScore, crapScoreMetric.Value); + } + /// /// A test for CodeElements /// diff --git a/src/ReportGenerator.Core.Test/Parser/CtcParserTest.cs b/src/ReportGenerator.Core.Test/Parser/CtcParserTest.cs new file mode 100644 index 00000000..44bce3ed --- /dev/null +++ b/src/ReportGenerator.Core.Test/Parser/CtcParserTest.cs @@ -0,0 +1,173 @@ +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Xml.Linq; +using NSubstitute; +using Palmmedia.ReportGenerator.Core.Parser; +using Palmmedia.ReportGenerator.Core.Parser.Analysis; +using Palmmedia.ReportGenerator.Core.Parser.FileReading; +using Palmmedia.ReportGenerator.Core.Parser.Filtering; +using Palmmedia.ReportGenerator.Core.Parser.Preprocessing; +using Xunit; + +namespace Palmmedia.ReportGenerator.Core.Test.Parser +{ + /// + /// This is a test class for CtcParser and is intended + /// to contain all CtcParser Unit Tests + /// + [Collection("FileManager")] + public class CtcParserTest + { + private static readonly string FilePath = Path.Combine(FileManager.GetCtcReportsDirectory(), "source-00001.xml"); + + private readonly ParserResult parserResult; + + public CtcParserTest() + { + this.parserResult = ParseReport(FilePath); + } + + /// + /// A test for SupportsBranchCoverage + /// + [Fact] + public void SupportsBranchCoverage() + { + Assert.True(this.parserResult.SupportsBranchCoverage); + } + + /// + /// A test for NumberOfLineVisits + /// + [Fact] + public void NumberOfLineVisitsTest() + { + var fileAnalysis = GetFileAnalysis(this.parserResult.Assemblies, "PassengerScan", "C:\\temp\\PassengerScan.cpp"); + Assert.Equal(-1, fileAnalysis.Lines.Single(l => l.LineNumber == 1).LineVisits); + Assert.Equal(1, fileAnalysis.Lines.Single(l => l.LineNumber == 3).LineVisits); + Assert.Equal(1, fileAnalysis.Lines.Single(l => l.LineNumber == 5).LineVisits); + } + + /// + /// A test for LineVisitStatus + /// + [Fact] + public void LineVisitStatusTest() + { + var fileAnalysis = GetFileAnalysis(this.parserResult.Assemblies, "PassengerScan", "C:\\temp\\PassengerScan.cpp"); + + var line = fileAnalysis.Lines.Single(l => l.LineNumber == 1); + Assert.Equal(LineVisitStatus.NotCoverable, line.LineVisitStatus); + + line = fileAnalysis.Lines.Single(l => l.LineNumber == 3); + Assert.Equal(LineVisitStatus.Covered, line.LineVisitStatus); + + line = fileAnalysis.Lines.Single(l => l.LineNumber == 5); + Assert.Equal(LineVisitStatus.PartiallyCovered, line.LineVisitStatus); + } + + /// + /// A test for NumberOfFiles + /// + [Fact] + public void NumberOfFilesTest() + { + Assert.Single(this.parserResult.Assemblies.SelectMany(a => a.Classes).SelectMany(a => a.Files).Distinct()); + } + + /// + /// A test for FilesOfClass + /// + [Fact] + public void FilesOfClassTest() + { + Assert.Single(this.parserResult.Assemblies.Single(a => a.Name == "Coasterbeispiel - XML4ReportGenerator").Classes.Single(c => c.Name == "PassengerScan").Files); + } + + /// + /// A test for ClassesInAssembly + /// + [Fact] + public void ClassesInAssemblyTest() + { + Assert.Single(this.parserResult.Assemblies.SelectMany(a => a.Classes)); + } + + /// + /// A test for Assemblies + /// + [Fact] + public void AssembliesTest() + { + Assert.Single(this.parserResult.Assemblies); + } + + /// + /// A test for GetCoverageQuotaOfClass. + /// + [Fact] + public void GetCoverableLinesOfClassTest() + { + Assert.Equal(5, this.parserResult.Assemblies.Single(a => a.Name == "Coasterbeispiel - XML4ReportGenerator").Classes.Single(c => c.Name == "PassengerScan").CoverableLines); + } + + /// + /// A test for MethodMetrics + /// + [Fact] + public void MethodMetricsTest() + { + var metrics = this.parserResult.Assemblies.Single(a => a.Name == "Coasterbeispiel - XML4ReportGenerator").Classes.Single(c => c.Name == "PassengerScan").Files.Single(f => f.Path == "C:\\temp\\PassengerScan.cpp").MethodMetrics.ToArray(); + + Assert.Single(metrics); + + var initMethodMetric = metrics.First(); + Assert.Equal("hasAdmission", initMethodMetric.FullName); + Assert.Equal(3, initMethodMetric.Metrics.Count()); + + var mcdcCoverageMetric = initMethodMetric.Metrics.Single(m => m.MetricType == MetricType.CoveragePercentual && m.Abbreviation == "mcdc"); + Assert.Equal("MC/DC", mcdcCoverageMetric.Name); + Assert.Equal(75, mcdcCoverageMetric.Value); + + var decisionCoverageMetric = initMethodMetric.Metrics.Single(m => m.MetricType == MetricType.CoveragePercentual && m.Abbreviation == "decision"); + Assert.Equal("Decision", decisionCoverageMetric.Name); + Assert.Equal(100, decisionCoverageMetric.Value); + + var statementCoverageMetric = initMethodMetric.Metrics.Single(m => m.MetricType == MetricType.CoveragePercentual && m.Abbreviation == "stmt"); + Assert.Equal("Statement", statementCoverageMetric.Name); + Assert.Equal(100, statementCoverageMetric.Value); + } + + /// + /// A test for CodeElements + /// + [Fact] + public void CodeElementsTest() + { + var codeElements = GetFile(this.parserResult.Assemblies, "PassengerScan", "C:\\temp\\PassengerScan.cpp").CodeElements; + Assert.Single(codeElements); + } + + private static CodeFile GetFile(IEnumerable assemblies, string className, string fileName) => assemblies + .Single(a => a.Name == "Coasterbeispiel - XML4ReportGenerator").Classes + .Single(c => c.Name == className).Files + .Single(f => f.Path == fileName); + + private static FileAnalysis GetFileAnalysis(IEnumerable assemblies, string className, string fileName) => assemblies + .Single(a => a.Name == "Coasterbeispiel - XML4ReportGenerator").Classes + .Single(c => c.Name == className).Files + .Single(f => f.Path == fileName) + .AnalyzeFile(new CachingFileReader(new LocalFileReader(), 0, null)); + + private static ParserResult ParseReport(string filePath) + { + var filter = Substitute.For(); + filter.IsElementIncludedInReport(Arg.Any()).Returns(true); + + var report = XDocument.Load(filePath); + new CoberturaReportPreprocessor().Execute(report); + return new CtcParser(filter, filter, filter).Parse(report.Root); + } + } +} diff --git a/src/ReportGenerator.Core.Test/Parser/DynamicCodeCoverageClassNameParserTest.cs b/src/ReportGenerator.Core.Test/Parser/DynamicCodeCoverageClassNameParserTest.cs new file mode 100644 index 00000000..7b5b2819 --- /dev/null +++ b/src/ReportGenerator.Core.Test/Parser/DynamicCodeCoverageClassNameParserTest.cs @@ -0,0 +1,77 @@ +using Palmmedia.ReportGenerator.Core.Parser; +using Xunit; + +namespace Palmmedia.ReportGenerator.Core.Test.Parser +{ + public class DynamicCodeCoverageClassNameParserTest + { + [Theory] + [InlineData( + "AbstractClass", + "Test", + "AbstractClass", + "Test.AbstractClass", + true)] + [InlineData( + "TestClass.NestedClass", + "Test", + "TestClass", + "Test.TestClass", + true)] + [InlineData( + "AsyncClass.d__0", + "Test", + "AsyncClass", + "Test.AsyncClass", + true)] + [InlineData( + "GenericAsyncClass", + "Test", + "GenericAsyncClass", + "Test.GenericAsyncClass", + true)] + [InlineData( + "ClassWithLocalFunctions.MyNestedClass", + "Test", + "ClassWithLocalFunctions", + "Test.ClassWithLocalFunctions", + true)] + [InlineData( + "GenericAsyncClass.d__1", + "Test", + "GenericAsyncClass", + "Test.GenericAsyncClass", + true)] + [InlineData( + "Program.d__1", + "Test", + "Program", + "Test.Program", + true)] + [InlineData( + "AutoMapperExtensions.<>c__1", + "Test", + "AutoMapperExtensions", + "Test.AutoMapperExtensions", + true)] + [InlineData( + "TestClass.d__4", + "Test", + "TestClass", + "Test.TestClass", + true)] + public void ParseClassName( + string rawName, + string @namespace, + string expectedName, + string expectedFullName, + bool expectedInclude) + { + var result = DynamicCodeCoverageClassNameParser.ParseClassName(rawName, @namespace); + + Assert.Equal(expectedName, result.Name); + Assert.Equal(expectedFullName, result.FullName); + Assert.Equal(expectedInclude, result.Include); + } + } +} diff --git a/src/ReportGenerator.Core.Test/Parser/FileReading/LocalFileReaderTest.cs b/src/ReportGenerator.Core.Test/Parser/FileReading/LocalFileReaderTest.cs index bf92a5af..98bb714e 100644 --- a/src/ReportGenerator.Core.Test/Parser/FileReading/LocalFileReaderTest.cs +++ b/src/ReportGenerator.Core.Test/Parser/FileReading/LocalFileReaderTest.cs @@ -15,6 +15,8 @@ public class LocalFileReaderTest private static readonly string NotExistingFile = Path.Combine(FileManager.GetJavaReportDirectory(), "OpenCover.xml"); + private static readonly string PreserveEmptyLinesTestFile = Path.Combine(FileManager.GetOtherReportsDirectory(), "PreserveEmptyLinesTestFile.txt"); + [Fact] public void NoSourceDirectories_FileExists_DefaultPathReturned() { @@ -38,7 +40,7 @@ public void NoSourceDirectories_FileNotExists_DefaultPathReturned() [Fact] public void ExistingSourceDirectory_FileNotExists_MappedPathReturned() { - var sut = new LocalFileReader(new[] { FileManager.GetCSharpReportDirectory() }); + var sut = new LocalFileReader(new[] { FileManager.GetCSharpReportDirectory() }, false); string[] lines = sut.LoadFile(NotExistingFile, out string error); Assert.Null(error); @@ -48,7 +50,7 @@ public void ExistingSourceDirectory_FileNotExists_MappedPathReturned() [Fact] public void NotExistingSourceDirectory_FileNotExists_DefaultPathReturned() { - var sut = new LocalFileReader(new[] { FileManager.GetCPlusPlusReportDirectory() }); + var sut = new LocalFileReader(new[] { FileManager.GetCPlusPlusReportDirectory() }, false); string[] lines = sut.LoadFile(NotExistingFile, out string error); Assert.NotNull(error); @@ -61,11 +63,23 @@ public void NotExistingSourceDirectory_FileNotExists_DefaultPathReturned() [InlineData("/_2/OpenCover.xml")] public void DeterminicticPath_ExistingSourceDirectory_FileExists_MappedPathReturned(string filename) { - var sut = new LocalFileReader(new[] { FileManager.GetCSharpReportDirectory() }); + var sut = new LocalFileReader(new[] { FileManager.GetCSharpReportDirectory() }, false); string[] lines = sut.LoadFile(filename, out string error); Assert.Null(error); Assert.True(lines.Length > 0); } + + [Theory] + [InlineData(false, 4)] + [InlineData(true, 5)] + public void LoadFile_PreserveTrailingEmptyLineSettingApplied(bool preserveTrailingEmptyLine, int expectedNumberOfLines) + { + var sut = new LocalFileReader(new string[0], preserveTrailingEmptyLine); + + string[] lines = sut.LoadFile(PreserveEmptyLinesTestFile, out string error); + Assert.Null(error); + Assert.Equal(expectedNumberOfLines, lines.Length); + } } } diff --git a/src/ReportGenerator.Core.Test/Parser/SCoverageParserTest.cs b/src/ReportGenerator.Core.Test/Parser/SCoverageParserTest.cs new file mode 100644 index 00000000..95a78d18 --- /dev/null +++ b/src/ReportGenerator.Core.Test/Parser/SCoverageParserTest.cs @@ -0,0 +1,172 @@ +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Xml.Linq; +using NSubstitute; +using Palmmedia.ReportGenerator.Core.Parser; +using Palmmedia.ReportGenerator.Core.Parser.Analysis; +using Palmmedia.ReportGenerator.Core.Parser.FileReading; +using Palmmedia.ReportGenerator.Core.Parser.Filtering; +using Xunit; + +namespace Palmmedia.ReportGenerator.Core.Test.Parser +{ + /// + /// This is a test class for CoberturaParser and is intended + /// to contain all CoberturaParser Unit Tests + /// + [Collection("FileManager")] + public class SCoverageParserTest + { + private static readonly string FilePathScalaReport = Path.Combine(FileManager.GetScalaReportDirectory(), "scoverage.xml"); + + private readonly ParserResult scalaParserResult; + + public SCoverageParserTest() + { + this.scalaParserResult = ParseReport(FilePathScalaReport); + } + + /// + /// A test for SupportsBranchCoverage + /// + [Fact] + public void SupportsBranchCoverage() + { + Assert.True(this.scalaParserResult.SupportsBranchCoverage); + } + + /// + /// A test for NumberOfLineVisits + /// + [Fact] + public void NumberOfLineVisitsTest() + { + var fileAnalysis = GetFileAnalysis(this.scalaParserResult.Assemblies, "org.scoverage.samples.RandomQuoteGenerator", "C:\\temp\\src\\main\\scala\\org\\scoverage\\samples\\QuoteGenerator.scala"); + Assert.Equal(1, fileAnalysis.Lines.Single(l => l.LineNumber == 22).LineVisits); + Assert.Equal(1, fileAnalysis.Lines.Single(l => l.LineNumber == 30).LineVisits); + Assert.Equal(0, fileAnalysis.Lines.Single(l => l.LineNumber == 12).LineVisits); + Assert.Equal(-1, fileAnalysis.Lines.Single(l => l.LineNumber == 1).LineVisits); + } + + /// + /// A test for LineVisitStatus + /// + [Fact] + public void LineVisitStatusTest() + { + var fileAnalysis = GetFileAnalysis(this.scalaParserResult.Assemblies, "org.scoverage.samples.RandomQuoteGenerator", "C:\\temp\\src\\main\\scala\\org\\scoverage\\samples\\QuoteGenerator.scala"); + + var line = fileAnalysis.Lines.Single(l => l.LineNumber == 1); + Assert.Equal(LineVisitStatus.NotCoverable, line.LineVisitStatus); + + line = fileAnalysis.Lines.Single(l => l.LineNumber == 22); + Assert.Equal(LineVisitStatus.Covered, line.LineVisitStatus); + + line = fileAnalysis.Lines.Single(l => l.LineNumber == 30); + Assert.Equal(LineVisitStatus.PartiallyCovered, line.LineVisitStatus); + + line = fileAnalysis.Lines.Single(l => l.LineNumber == 12); + Assert.Equal(LineVisitStatus.NotCovered, line.LineVisitStatus); + } + + /// + /// A test for NumberOfFiles + /// + [Fact] + public void NumberOfFilesTest() + { + Assert.Equal(16, this.scalaParserResult.Assemblies.SelectMany(a => a.Classes).SelectMany(a => a.Files).Distinct().Count()); + } + + /// + /// A test for FilesOfClass + /// + [Fact] + public void FilesOfClassTest() + { + Assert.Single(this.scalaParserResult.Assemblies.Single(a => a.Name == "org.scoverage.samples").Classes.Single(c => c.Name == "org.scoverage.samples.RandomQuoteGenerator").Files); + Assert.Single(this.scalaParserResult.Assemblies.Single(a => a.Name == "org.scoverage.samples").Classes.Single(c => c.Name == "org.scoverage.samples.InstrumentLoader").Files); + } + + /// + /// A test for ClassesInAssembly + /// + [Fact] + public void ClassesInAssemblyTest() + { + Assert.Equal(17, this.scalaParserResult.Assemblies.SelectMany(a => a.Classes).Count()); + } + + /// + /// A test for Assemblies + /// + [Fact] + public void AssembliesTest() + { + Assert.Equal(3, this.scalaParserResult.Assemblies.Count); + } + + /// + /// A test for GetCoverageQuotaOfClass. + /// + [Fact] + public void GetCoverableLinesOfClassTest() + { + Assert.Equal(12, this.scalaParserResult.Assemblies.Single(a => a.Name == "org.scoverage.samples").Classes.Single(c => c.Name == "org.scoverage.samples.RandomQuoteGenerator").CoverableLines); + } + + /// + /// A test for MethodMetrics + /// + [Fact] + public void MethodMetricsTest() + { + var metrics = this.scalaParserResult.Assemblies.Single(a => a.Name == "org.scoverage.samples").Classes.Single(c => c.Name == "org.scoverage.samples.RandomQuoteGenerator").Files.Single(f => f.Path == "C:\\temp\\src\\main\\scala\\org\\scoverage\\samples\\QuoteGenerator.scala").MethodMetrics.ToArray(); + + Assert.Equal(2, metrics.Count()); + + var generateMethodMetric = metrics.First(); + Assert.Equal("org.scoverage.samples/RandomQuoteGenerator/generate", generateMethodMetric.FullName); + Assert.Equal(2, generateMethodMetric.Metrics.Count()); + + var statementCoverageMetric = generateMethodMetric.Metrics.Single(m => m.MetricType == MetricType.CoveragePercentual && m.Abbreviation == "stmt"); + Assert.Equal("Statement", statementCoverageMetric.Name); + Assert.Equal(88.89M, statementCoverageMetric.Value); + + var branchCoverageMetric = generateMethodMetric.Metrics.Single(m => m.MetricType == MetricType.CoveragePercentual && m.Abbreviation == "bcov"); + Assert.Equal("Branch coverage", branchCoverageMetric.Name); + Assert.Equal(50M, branchCoverageMetric.Value); + } + + /// + /// A test for CodeElements + /// + [Fact] + public void CodeElementsTest() + { + var codeElements = GetFile(this.scalaParserResult.Assemblies, "org.scoverage.samples.RandomQuoteGenerator", "C:\\temp\\src\\main\\scala\\org\\scoverage\\samples\\QuoteGenerator.scala").CodeElements; + Assert.Equal(2, codeElements.Count()); + } + + private static CodeFile GetFile(IEnumerable assemblies, string className, string fileName) => assemblies + .Single(a => a.Name == "org.scoverage.samples").Classes + .Single(c => c.Name == className).Files + .Single(f => f.Path == fileName); + + private static FileAnalysis GetFileAnalysis(IEnumerable assemblies, string className, string fileName) => assemblies + .Single(a => a.Name == "org.scoverage.samples").Classes + .Single(c => c.Name == className).Files + .Single(f => f.Path == fileName) + .AnalyzeFile(new CachingFileReader(new LocalFileReader(), 0, null)); + + private static ParserResult ParseReport(string filePath) + { + var filter = Substitute.For(); + filter.IsElementIncludedInReport(Arg.Any()).Returns(true); + + var report = XDocument.Load(filePath); + return new SCoverageParser(filter, filter, filter).Parse(report.Root); + } + } +} diff --git a/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj b/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj index a06652b3..3b25bc3e 100644 --- a/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj +++ b/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj @@ -4,8 +4,8 @@ net8.0 false Palmmedia.ReportGenerator.Core.Test - 5.4.7.0 - 5.4.7.0 + 5.5.1.0 + 5.5.1.0 false @@ -14,10 +14,10 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + - + all runtime; build; native; contentfiles; analyzers diff --git a/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj.Backup.tmp b/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj.Backup.tmp new file mode 100644 index 00000000..998f7b88 --- /dev/null +++ b/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj.Backup.tmp @@ -0,0 +1,68 @@ + + + + net8.0 + false + Palmmedia.ReportGenerator.Core.Test + 5.4.16.0 + 5.4.16.0 + false + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + all + runtime; build; native; contentfiles; analyzers + + + + + + + + + + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + + + <_Parameter1>ProjectDirectory + <_Parameter2>$(MSBuildProjectDirectory) + + + + + + + + diff --git a/src/ReportGenerator.Core/Common/EnumerableExtensions.cs b/src/ReportGenerator.Core/Common/EnumerableExtensions.cs index 081ae790..e7a4c12f 100644 --- a/src/ReportGenerator.Core/Common/EnumerableExtensions.cs +++ b/src/ReportGenerator.Core/Common/EnumerableExtensions.cs @@ -55,6 +55,23 @@ public static int SafeSum(this IEnumerable source, Func + /// Computes the sum of the sequence of System.Int32 values that are obtained by invoking a transform function on each element of the input sequence. If an OverflowException occurs, the Int32.MaxValue is returned. + /// + /// The type of the elements of source. + /// A sequence of values that are used to calculate a sum. + /// A transform function to apply to each element. + /// The sum of the projected values. + public static int? SafeSumNullable(this IEnumerable source, Func selector) + { + if (source.All(x => !selector(x).HasValue)) + { + return null; + } + + return source.SafeSum(selector); + } + /// /// Computes the sum of the sequence of System.Int64 values that are obtained by invoking a transform function on each element of the input sequence. If an OverflowException occurs, the Int64.MaxValue is returned. /// diff --git a/src/ReportGenerator.Core/Generator.cs b/src/ReportGenerator.Core/Generator.cs index cbb11217..1cf24c14 100644 --- a/src/ReportGenerator.Core/Generator.cs +++ b/src/ReportGenerator.Core/Generator.cs @@ -331,8 +331,13 @@ public void GenerateReport( DateTime executionTime = DateTime.Now; + var fileReader = new CachingFileReader( + new LocalFileReader(reportConfiguration.SourceDirectories, settings.PreserveTrailingEmptyLine), + settings.CachingDurationOfRemoteFilesInMinutes, + settings.CustomHeadersForRemoteFiles); + new Reporting.ReportGenerator( - new CachingFileReader(new LocalFileReader(reportConfiguration.SourceDirectories), settings.CachingDurationOfRemoteFilesInMinutes, settings.CustomHeadersForRemoteFiles), + fileReader, parserResult, reportBuilderFactory.GetReportBuilders(reportContext)) .CreateReport(reportConfiguration.HistoryDirectory != null, overallHistoricCoverages, executionTime, reportConfiguration.Tag); diff --git a/src/ReportGenerator.Core/Licensing/LicenseValidator.cs b/src/ReportGenerator.Core/Licensing/LicenseValidator.cs index d659821f..4101b571 100644 --- a/src/ReportGenerator.Core/Licensing/LicenseValidator.cs +++ b/src/ReportGenerator.Core/Licensing/LicenseValidator.cs @@ -37,6 +37,7 @@ internal static class LicenseValidator { Guid.Parse("860a488f-b3ce-4294-ae75-e331546ee830"), DateTime.MinValue }, { Guid.Parse("8f66e7a8-e6c0-4a31-9747-67ed27b5f721"), DateTime.MinValue }, { Guid.Parse("d78f42ba-a0b9-40b3-a9f7-b73bc31aa449"), DateTime.MinValue }, + { Guid.Parse("0d70e384-160e-436d-82a2-dcfee0580a4e"), DateTime.MinValue }, { Guid.Parse("265472d9-799d-44db-b7f2-b8da433812f9"), new DateTime(2023, 7, 28) }, { Guid.Parse("16823d5b-b7da-48b7-94d9-73dbce61059c"), new DateTime(2023, 11, 1) }, { Guid.Parse("14978526-1719-48cb-aa6d-6d48b7a99af9"), new DateTime(2023, 11, 1) }, diff --git a/src/ReportGenerator.Core/Parser/Analysis/CodeFile.cs b/src/ReportGenerator.Core/Parser/Analysis/CodeFile.cs index 2bf03113..ab868efb 100644 --- a/src/ReportGenerator.Core/Parser/Analysis/CodeFile.cs +++ b/src/ReportGenerator.Core/Parser/Analysis/CodeFile.cs @@ -51,6 +51,11 @@ public class CodeFile /// private IDictionary> branches; + /// + /// The CTC details by line number. + /// + private IDictionary ctcDetails = new Dictionary(); + /// /// The optional additional file reader. /// @@ -251,9 +256,7 @@ public int CoveredCodeElements get { return this.CodeElements.Count( - x => this.lineCoverage.Skip(x.FirstLine) - .Take(x.LastLine - x.FirstLine + 1) - .Any(y => y > 0)); + x => x.CoverageQuota.GetValueOrDefault() > 0); } } @@ -418,6 +421,16 @@ internal void AddCodeElement(CodeElement codeElement) this.codeElements.Add(codeElement); } + /// + /// Adds the CTC details for the given line. + /// + /// The line number. + /// The CTC details. + internal void AddCtcDetail(int line, CtcDetails ctcDetails) + { + this.ctcDetails.Add(line, ctcDetails); + } + /// /// Performs the analysis of the source file. /// @@ -476,6 +489,9 @@ internal FileAnalysis AnalyzeFile(IFileReader fileReader) } }); + CtcDetails ctcDetailsOfLine = null; + this.ctcDetails.TryGetValue(currentLineNumber, out ctcDetailsOfLine); + if (this.branches != null && this.branches.TryGetValue(currentLineNumber, out branchesOfLine)) { result.AddLineAnalysis( @@ -486,7 +502,11 @@ internal FileAnalysis AnalyzeFile(IFileReader fileReader) currentLineNumber, line.TrimEnd(), branchesOfLine.Count(b => b.BranchVisits > 0), - branchesOfLine.Count)); + branchesOfLine.Count) + { + CtcDetails = ctcDetailsOfLine + }) + ; } else { @@ -496,7 +516,10 @@ internal FileAnalysis AnalyzeFile(IFileReader fileReader) lineVisitStatus, lineCoverageByTestMethod, currentLineNumber, - line.TrimEnd())); + line.TrimEnd()) + { + CtcDetails = ctcDetailsOfLine + }); } } @@ -645,6 +668,18 @@ internal void Merge(CodeFile file) codeElement.ApplyMaximumCoverageQuota(this.CoverageQuotaInRange(codeElement.FirstLine, codeElement.LastLine)); } + foreach (var ctcDetails in file.ctcDetails) + { + if (this.ctcDetails.TryGetValue(ctcDetails.Key, out CtcDetails existingCtcDetails)) + { + existingCtcDetails.Merge(ctcDetails.Value); + } + else + { + this.ctcDetails.Add(ctcDetails); + } + } + if (file.additionalFileReader == null) { file.additionalFileReader = this.additionalFileReader; diff --git a/src/ReportGenerator.Core/Parser/Analysis/CtcDetails.cs b/src/ReportGenerator.Core/Parser/Analysis/CtcDetails.cs new file mode 100644 index 00000000..0a5ac42b --- /dev/null +++ b/src/ReportGenerator.Core/Parser/Analysis/CtcDetails.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Palmmedia.ReportGenerator.Core.Parser.Analysis +{ + /// + /// Contains the CTC details. + /// + public class CtcDetails + { + /// + /// The true/false combinations. + /// + private readonly List trueFalseCombinations; + + /// + /// The MC/DC information. + /// + private readonly List mcdcs; + + /// + /// Initializes a new instance of the class. + /// + /// The true/false combinations. + /// The MC/DC information. + public CtcDetails( + List trueFalseCombinations, + List mcdcs) + { + this.trueFalseCombinations = trueFalseCombinations ?? throw new ArgumentNullException(nameof(trueFalseCombinations)); + this.mcdcs = mcdcs ?? throw new ArgumentNullException(nameof(mcdcs)); + } + + /// + /// Gets the true/false combinations. + /// + public IReadOnlyCollection TrueFalseCombinations => this.trueFalseCombinations; + + /// + /// Gets the MC/DC information. + /// + public IReadOnlyCollection Mcdcs => this.mcdcs; + + /// + /// Merges the given CTC details with the current instance. + /// + /// The CTC details to merge. + internal void Merge(CtcDetails ctcDetails) + { + if (ctcDetails == null) + { + throw new ArgumentNullException(nameof(ctcDetails)); + } + + foreach (CtcProbeDetail ctcProbeDetail in ctcDetails.TrueFalseCombinations) + { + var existingProbeDetail = this.trueFalseCombinations.FirstOrDefault(x => x.Description == ctcProbeDetail.Description); + if (existingProbeDetail != null) + { + existingProbeDetail.Merge(ctcProbeDetail); + } + else + { + this.trueFalseCombinations.Add(ctcProbeDetail); + } + } + + foreach (CtcProbeDetail ctcProbeDetail in ctcDetails.Mcdcs) + { + var existingProbeDetail = this.mcdcs.FirstOrDefault(x => x.Description == ctcProbeDetail.Description); + if (existingProbeDetail != null) + { + existingProbeDetail.Merge(ctcProbeDetail); + } + else + { + this.mcdcs.Add(ctcProbeDetail); + } + } + } + } +} \ No newline at end of file diff --git a/src/ReportGenerator.Core/Parser/Analysis/CtcProbeDetail.cs b/src/ReportGenerator.Core/Parser/Analysis/CtcProbeDetail.cs new file mode 100644 index 00000000..e52645b0 --- /dev/null +++ b/src/ReportGenerator.Core/Parser/Analysis/CtcProbeDetail.cs @@ -0,0 +1,48 @@ +using System; + +namespace Palmmedia.ReportGenerator.Core.Parser.Analysis +{ + /// + /// Contains the CTC probe details. + /// + public class CtcProbeDetail + { + /// + /// Initializes a new instance of the class. + /// + /// A value indicating whether the probe was achieved. + /// the description of the probe. + public CtcProbeDetail(bool achived, string description) + { + this.Achived = achived; + this.Description = description; + } + + /// + /// Gets a value indicating whether the probe was achieved. + /// + public bool Achived { get; private set; } + + /// + /// Gets the description of the probe. + /// + public string Description { get; } + + /// + /// Merges the given CTC probe details with the current instance. + /// + /// The CTC probe details to merge. + internal void Merge(CtcProbeDetail ctcProbeDetail) + { + if (ctcProbeDetail == null) + { + throw new ArgumentNullException(nameof(ctcProbeDetail)); + } + + if (ctcProbeDetail.Achived) + { + this.Achived = true; + } + } + } +} \ No newline at end of file diff --git a/src/ReportGenerator.Core/Parser/Analysis/HistoricCoverage.cs b/src/ReportGenerator.Core/Parser/Analysis/HistoricCoverage.cs index 38299b3c..9219e809 100644 --- a/src/ReportGenerator.Core/Parser/Analysis/HistoricCoverage.cs +++ b/src/ReportGenerator.Core/Parser/Analysis/HistoricCoverage.cs @@ -133,13 +133,13 @@ public HistoricCoverage(Class @class, DateTime executionTime, string tag) /// Gets the code elements coverage quota. /// /// The code elements coverage quota. - public decimal? CodeElementCoverageQuota => (this.TotalCodeElements.GetValueOrDefault() == 0) ? (decimal?)null : MathExtensions.CalculatePercentage(this.CoveredCodeElements.GetValueOrDefault(), this.TotalCodeElements.GetValueOrDefault()); + public decimal? CodeElementCoverageQuota => (!this.CoveredCodeElements.HasValue || this.TotalCodeElements.GetValueOrDefault() == 0) ? (decimal?)null : MathExtensions.CalculatePercentage(this.CoveredCodeElements.GetValueOrDefault(), this.TotalCodeElements.GetValueOrDefault()); /// /// Gets the full code elements coverage quota. /// /// The full code elements coverage quota. - public decimal? FullCodeElementCoverageQuota => (this.TotalCodeElements.GetValueOrDefault() == 0) ? (decimal?)null : MathExtensions.CalculatePercentage(this.FullCoveredCodeElements.GetValueOrDefault(), this.TotalCodeElements.GetValueOrDefault()); + public decimal? FullCodeElementCoverageQuota => (!this.FullCoveredCodeElements.HasValue || this.TotalCodeElements.GetValueOrDefault() == 0) ? (decimal?)null : MathExtensions.CalculatePercentage(this.FullCoveredCodeElements.GetValueOrDefault(), this.TotalCodeElements.GetValueOrDefault()); /// /// Determines whether the specified , is equal to this instance. @@ -163,6 +163,7 @@ public override bool Equals(object obj) && historicCoverage.CoveredBranches == this.CoveredBranches && historicCoverage.TotalBranches == this.TotalBranches && historicCoverage.CoveredCodeElements == this.CoveredCodeElements + && historicCoverage.FullCoveredCodeElements == this.FullCoveredCodeElements && historicCoverage.TotalCodeElements == this.TotalCodeElements; } } @@ -179,6 +180,7 @@ public override int GetHashCode() => this.CoveredLines + this.CoveredBranches + this.TotalBranches + this.CoveredCodeElements.GetValueOrDefault() + + this.FullCoveredCodeElements.GetValueOrDefault() + this.TotalCodeElements.GetValueOrDefault(); } } diff --git a/src/ReportGenerator.Core/Parser/Analysis/HistoricCoverages.cs b/src/ReportGenerator.Core/Parser/Analysis/HistoricCoverages.cs index 9747def6..13faea6c 100644 --- a/src/ReportGenerator.Core/Parser/Analysis/HistoricCoverages.cs +++ b/src/ReportGenerator.Core/Parser/Analysis/HistoricCoverages.cs @@ -38,8 +38,8 @@ public static IEnumerable GetOverallHistoricCoverages(IEnumera CoveredBranches = historicCoveragesOfExecutionTime.SafeSum(h => h.CoveredBranches), TotalBranches = historicCoveragesOfExecutionTime.SafeSum(h => h.TotalBranches), TotalLines = historicCoveragesOfExecutionTime.SafeSum(h => h.TotalLines), - CoveredCodeElements = historicCoveragesOfExecutionTime.SafeSum(h => h.CoveredCodeElements), - FullCoveredCodeElements = historicCoveragesOfExecutionTime.SafeSum(h => h.FullCoveredCodeElements), + CoveredCodeElements = historicCoveragesOfExecutionTime.SafeSumNullable(h => h.CoveredCodeElements), + FullCoveredCodeElements = historicCoveragesOfExecutionTime.SafeSumNullable(h => h.FullCoveredCodeElements), TotalCodeElements = historicCoveragesOfExecutionTime.SafeSum(h => h.TotalCodeElements) }); } diff --git a/src/ReportGenerator.Core/Parser/Analysis/LineAnalysis.cs b/src/ReportGenerator.Core/Parser/Analysis/LineAnalysis.cs index eefea8f5..d12c34bb 100644 --- a/src/ReportGenerator.Core/Parser/Analysis/LineAnalysis.cs +++ b/src/ReportGenerator.Core/Parser/Analysis/LineAnalysis.cs @@ -76,5 +76,10 @@ internal LineAnalysis(int lineVisits, LineVisitStatus lineVisitStatus, IDictiona /// The number of total branches. /// public int? TotalBranches { get; } + + /// + /// Gets the Ctc details. + /// + public CtcDetails CtcDetails { get; internal set; } } } diff --git a/src/ReportGenerator.Core/Parser/Analysis/Metric.cs b/src/ReportGenerator.Core/Parser/Analysis/Metric.cs index 77157000..17036535 100644 --- a/src/ReportGenerator.Core/Parser/Analysis/Metric.cs +++ b/src/ReportGenerator.Core/Parser/Analysis/Metric.cs @@ -28,6 +28,11 @@ public class Metric /// private static readonly Uri CrapScoreUri = new Uri("https://googletesting.blogspot.de/2011/02/this-code-is-crap.html"); + /// + /// The MC/DC Uri. + /// + private static readonly Uri McdcCoverageUri = new Uri("https://en.wikipedia.org/wiki/Modified_condition/decision_coverage"); + /// /// Initializes a new instance of the class. /// @@ -240,6 +245,51 @@ public static Metric CrapScore(decimal? value) MetricMergeOrder.LowerIsBetter); } + /// + /// Initializes a new instance of the class which represents MC/DC coverage. + /// + /// The value. + /// The metric. + public static Metric Mcdc(decimal? value) + { + return new Metric( + ReportResources.McdcCoverage, + "mcdc", + McdcCoverageUri, + MetricType.CoveragePercentual, + value); + } + + /// + /// Initializes a new instance of the class which represents decision coverage. + /// + /// The value. + /// The metric. + public static Metric Decision(decimal? value) + { + return new Metric( + ReportResources.DecisionCoverage, + "decision", + CodeCoverageUri, + MetricType.CoveragePercentual, + value); + } + + /// + /// Initializes a new instance of the class which represents statement coverage. + /// + /// The value. + /// The metric. + public static Metric Statement(decimal? value) + { + return new Metric( + ReportResources.StatementCoverage, + "stmt", + CodeCoverageUri, + MetricType.CoveragePercentual, + value); + } + /// /// Returns a that represents this instance. /// diff --git a/src/ReportGenerator.Core/Parser/ClassNameParser.cs b/src/ReportGenerator.Core/Parser/CoberturaClassNameParser.cs similarity index 79% rename from src/ReportGenerator.Core/Parser/ClassNameParser.cs rename to src/ReportGenerator.Core/Parser/CoberturaClassNameParser.cs index ca6c8f59..a2ad0ebb 100644 --- a/src/ReportGenerator.Core/Parser/ClassNameParser.cs +++ b/src/ReportGenerator.Core/Parser/CoberturaClassNameParser.cs @@ -6,7 +6,7 @@ namespace Palmmedia.ReportGenerator.Core.Parser /// /// Parses class names and extracts generic type information. /// - internal static class ClassNameParser + internal static class CoberturaClassNameParser { /// /// Regex to clean class names from compiler generated parts. @@ -24,7 +24,7 @@ internal static class ClassNameParser /// The raw/full name. /// Indicates whether class names are interpreted (false) or not (true). /// The parser result. - public static ClassNameParserResult ParseClassName(string rawName, bool rawMode) + public static CoberturaClassNameParserResult ParseClassName(string rawName, bool rawMode) { if (rawName == null) { @@ -33,7 +33,7 @@ public static ClassNameParserResult ParseClassName(string rawName, bool rawMode) if (rawMode) { - return new ClassNameParserResult(rawName, rawName, rawName, true); + return new CoberturaClassNameParserResult(rawName, rawName, rawName, true); } int nestedClassSeparatorIndex = rawName.IndexOf('/'); @@ -41,7 +41,7 @@ public static ClassNameParserResult ParseClassName(string rawName, bool rawMode) if (nestedClassSeparatorIndex > -1) { string className = rawName.Substring(0, nestedClassSeparatorIndex); - return new ClassNameParserResult(className, className, rawName, IncludeClass(className)); + return new CoberturaClassNameParserResult(className, className, rawName, IncludeClass(className)); } if (rawName.Contains("<")) @@ -50,14 +50,14 @@ public static ClassNameParserResult ParseClassName(string rawName, bool rawMode) if (cleanedClassName.Equals(rawName)) { - return new ClassNameParserResult(rawName, rawName, rawName, IncludeClass(rawName)); + return new CoberturaClassNameParserResult(rawName, rawName, rawName, IncludeClass(rawName)); } var match = GenericClassRegex.Match(cleanedClassName); if (match.Success) { - return new ClassNameParserResult( + return new CoberturaClassNameParserResult( match.Groups["ClassName"].Value, match.Groups["ClassName"].Value + match.Groups["GenericTypes"].Value, rawName, @@ -65,7 +65,7 @@ public static ClassNameParserResult ParseClassName(string rawName, bool rawMode) } else { - return new ClassNameParserResult( + return new CoberturaClassNameParserResult( cleanedClassName, cleanedClassName, rawName, @@ -73,7 +73,7 @@ public static ClassNameParserResult ParseClassName(string rawName, bool rawMode) } } - return new ClassNameParserResult(rawName, rawName, rawName, IncludeClass(rawName)); + return new CoberturaClassNameParserResult(rawName, rawName, rawName, IncludeClass(rawName)); } /// diff --git a/src/ReportGenerator.Core/Parser/ClassNameParserResult.cs b/src/ReportGenerator.Core/Parser/CoberturaClassNameParserResult.cs similarity index 76% rename from src/ReportGenerator.Core/Parser/ClassNameParserResult.cs rename to src/ReportGenerator.Core/Parser/CoberturaClassNameParserResult.cs index 3be67c73..52feb7c5 100644 --- a/src/ReportGenerator.Core/Parser/ClassNameParserResult.cs +++ b/src/ReportGenerator.Core/Parser/CoberturaClassNameParserResult.cs @@ -1,18 +1,18 @@ namespace Palmmedia.ReportGenerator.Core.Parser { /// - /// Result of the . + /// Result of the . /// - internal class ClassNameParserResult + internal class CoberturaClassNameParserResult { /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// /// The name. /// The display name. /// The raw/full name. /// Indicates whether the class should be included in the report. - public ClassNameParserResult( + public CoberturaClassNameParserResult( string name, string displayName, string rawName, @@ -34,6 +34,11 @@ public ClassNameParserResult( /// public string DisplayName { get; } + /// + /// Gets or sets the generic type. + /// + public string GenericType { get; set; } + /// /// Gets the raw/full name. /// @@ -53,13 +58,13 @@ public override string ToString() /// public override bool Equals(object obj) { - if (obj == null || !obj.GetType().Equals(typeof(ClassNameParserResult))) + if (obj == null || !obj.GetType().Equals(typeof(CoberturaClassNameParserResult))) { return false; } else { - var classNameParserResult = (ClassNameParserResult)obj; + var classNameParserResult = (CoberturaClassNameParserResult)obj; return classNameParserResult.Name.Equals(this.Name) && classNameParserResult.DisplayName.Equals(this.DisplayName); } diff --git a/src/ReportGenerator.Core/Parser/CoberturaParser.cs b/src/ReportGenerator.Core/Parser/CoberturaParser.cs index afc83f02..b50d6a58 100644 --- a/src/ReportGenerator.Core/Parser/CoberturaParser.cs +++ b/src/ReportGenerator.Core/Parser/CoberturaParser.cs @@ -113,14 +113,15 @@ public ParserResult Parse(XContainer report) private Assembly ProcessAssembly(XElement[] modules, string assemblyName) { Logger.DebugFormat(Resources.CurrentAssembly, assemblyName); - - var classes = modules - .Elements("classes") + var classesParent = modules.Elements("classes").Any() + ? modules.Elements("classes") + : modules; + var classes = classesParent .Elements("class") .ToArray(); var classNames = classes - .Select(c => ClassNameParser.ParseClassName(c.Attribute("name").Value, this.RawMode)) + .Select(c => CoberturaClassNameParser.ParseClassName(c.Attribute("name").Value, this.RawMode)) .Where(c => c.Include) .Distinct() .Where(c => this.ClassFilter.IsElementIncludedInReport(c.Name)) @@ -140,7 +141,7 @@ private Assembly ProcessAssembly(XElement[] modules, string assemblyName) /// All class elements. /// The assembly. /// Name of the class. - private void ProcessClass(XElement[] allClasses, Assembly assembly, ClassNameParserResult classNameParserResult) + private void ProcessClass(XElement[] allClasses, Assembly assembly, CoberturaClassNameParserResult classNameParserResult) { bool FilterClass(XElement element) { @@ -255,8 +256,8 @@ private CodeFile ProcessFile(XElement[] classElements, Class @class, string clas var codeFile = new CodeFile(filePath, coverage, lineVisitStatus, branches); - SetMethodMetrics(codeFile, methodsOfFile); - SetCodeElements(codeFile, methodsOfFile); + this.SetMethodMetrics(codeFile, methodsOfFile); + this.SetCodeElements(codeFile, methodsOfFile); return codeFile; } @@ -266,19 +267,25 @@ private CodeFile ProcessFile(XElement[] classElements, Class @class, string clas /// /// The code file. /// The methods of the file. - private static void SetMethodMetrics(CodeFile codeFile, IEnumerable methodsOfFile) + private void SetMethodMetrics(CodeFile codeFile, IEnumerable methodsOfFile) { foreach (var method in methodsOfFile) { - string fullName = method.Attribute("name").Value + method.Attribute("signature").Value; - fullName = ExtractMethodName(fullName, method.Parent.Parent.Attribute("name").Value); + string fullName = method.Attribute("name").Value; + var signature = method.Attribute("signature")?.Value; + if (signature != null) + { + fullName += signature; + } + + string methodName = this.ExtractMethodName(fullName, method.Parent.Parent.Attribute("name").Value); - if (fullName.Contains("__") && LambdaMethodNameRegex.IsMatch(fullName)) + if (!this.RawMode && methodName.Contains("__") && LambdaMethodNameRegex.IsMatch(methodName)) { continue; } - string shortName = GetShortMethodName(fullName); + string shortName = GetShortMethodName(methodName); var metrics = new List(); @@ -326,7 +333,7 @@ private static void SetMethodMetrics(CodeFile codeFile, IEnumerable me metrics.Insert(0, Metric.CrapScore((decimal)crapScore)); } - var methodMetric = new MethodMetric(fullName, shortName, metrics); + var methodMetric = new MethodMetric(methodName, shortName, metrics); var line = method .Elements("lines") @@ -375,42 +382,6 @@ private static void SetMethodMetrics(CodeFile codeFile, IEnumerable me return result; } - /// - /// Extracts the methods/properties of the given XElements. - /// - /// The code file. - /// The methods of the file. - private static void SetCodeElements(CodeFile codeFile, IEnumerable methodsOfFile) - { - foreach (var method in methodsOfFile) - { - string fullName = method.Attribute("name").Value + method.Attribute("signature").Value; - string methodName = ExtractMethodName(fullName, method.Parent.Parent.Attribute("name").Value); - - if (methodName.Contains("__") && LambdaMethodNameRegex.IsMatch(methodName)) - { - continue; - } - - var lines = method.Elements("lines") - .Elements("line"); - - if (lines.Any()) - { - int firstLine = int.Parse(lines.First().Attribute("number").Value, CultureInfo.InvariantCulture); - int lastLine = int.Parse(lines.Last().Attribute("number").Value, CultureInfo.InvariantCulture); - - codeFile.AddCodeElement(new CodeElement( - methodName, - methodName, - methodName.StartsWith("get_") || methodName.StartsWith("set_") ? CodeElementType.Property : CodeElementType.Method, - firstLine, - lastLine, - codeFile.CoverageQuotaInRange(firstLine, lastLine))); - } - } - } - /// /// Gets the branches by line number. /// @@ -470,14 +441,77 @@ private static Dictionary> GetBranches(IEnumerable 1 ? "(...)" : "()"; + + return $"{fullName.Substring(0, indexOpen)}{signature}"; + } + + /// + /// Extracts the methods/properties of the given XElements. + /// + /// The code file. + /// The methods of the file. + private void SetCodeElements(CodeFile codeFile, IEnumerable methodsOfFile) + { + foreach (var method in methodsOfFile) + { + string fullName = method.Attribute("name").Value; + var signature = method.Attribute("signature")?.Value; + if (signature != null) + { + fullName += signature; + } + + string methodName = this.ExtractMethodName(fullName, method.Parent.Parent.Attribute("name").Value); + + if (!this.RawMode && methodName.Contains("__") && LambdaMethodNameRegex.IsMatch(methodName)) + { + continue; + } + + var lines = method.Elements("lines") + .Elements("line") + .ToArray(); + + if (lines.Length > 0) + { + int firstLine = int.Parse(lines[0].Attribute("number").Value, CultureInfo.InvariantCulture); + int lastLine = int.Parse(lines[lines.Length - 1].Attribute("number").Value, CultureInfo.InvariantCulture); + + codeFile.AddCodeElement(new CodeElement( + methodName, + methodName, + methodName.StartsWith("get_") || methodName.StartsWith("set_") ? CodeElementType.Property : CodeElementType.Method, + firstLine, + lastLine, + codeFile.CoverageQuotaInRange(firstLine, lastLine))); + } + } + } + /// /// Extracts the method name. For async methods the original name is returned. /// /// The full method name. /// The name of the class. /// The method name. - private static string ExtractMethodName(string methodName, string className) + private string ExtractMethodName(string methodName, string className) { + if (this.RawMode) + { + return methodName; + } + if (methodName.Contains("|") || className.Contains("|")) { Match match = LocalFunctionMethodNameRegex.Match(className + methodName); @@ -499,20 +533,5 @@ private static string ExtractMethodName(string methodName, string className) return methodName; } - - private static string GetShortMethodName(string fullName) - { - int indexOpen = fullName.IndexOf('('); - - if (indexOpen <= 0) - { - return fullName; - } - - int indexClose = fullName.IndexOf(')'); - string signature = indexClose - indexOpen > 1 ? "(...)" : "()"; - - return $"{fullName.Substring(0, indexOpen)}{signature}"; - } } } diff --git a/src/ReportGenerator.Core/Parser/CodeElementBase.cs b/src/ReportGenerator.Core/Parser/CodeElementBase.cs index 6835484c..47e0d916 100644 --- a/src/ReportGenerator.Core/Parser/CodeElementBase.cs +++ b/src/ReportGenerator.Core/Parser/CodeElementBase.cs @@ -26,6 +26,11 @@ public CodeElementBase(string name, int firstLine) /// public int FirstLine { get; } + /// + /// Gets or sets a value indicating whether the method has not been executed. + /// + public bool NotExecuted { get; set; } + /// /// Returns a that represents this instance. /// diff --git a/src/ReportGenerator.Core/Parser/CoverageReportParser.cs b/src/ReportGenerator.Core/Parser/CoverageReportParser.cs index a69f76e6..2a480722 100644 --- a/src/ReportGenerator.Core/Parser/CoverageReportParser.cs +++ b/src/ReportGenerator.Core/Parser/CoverageReportParser.cs @@ -466,6 +466,19 @@ private IEnumerable ParseXmlFile(string filePath) yield return result; } + else if (item.Attribute("ctcreportVersion") != null) + { + if (this.reportContext != null + && this.reportContext.ReportConfiguration.License.DetermineLicenseType() != LicenseType.Pro) + { + Logger.Warn(Resources.CtcReportProVersion); + } + else + { + Logger.DebugFormat(Resources.InitiatingParser, "Testwell CTC"); + yield return new CtcParser(this.assemblyFilter, this.classFilter, this.fileFilter).Parse(item); + } + } else if (item.Attributes().Count() > 1 || item.Elements("packages").Any()) { @@ -488,6 +501,22 @@ private IEnumerable ParseXmlFile(string filePath) yield break; } + elements = this.GetXElements(filePath, "scoverage").ToArray(); + + if (elements.Length > 0) + { + foreach (var item in elements) + { + if (item.Elements("packages").Any()) + { + Logger.DebugFormat(Resources.InitiatingParser, "scoverage"); + yield return new SCoverageParser(this.assemblyFilter, this.classFilter, this.fileFilter).Parse(item); + } + } + + yield break; + } + elements = this.GetXElements(filePath, "CoverageDSPriv").ToArray(); if (elements.Length > 0) diff --git a/src/ReportGenerator.Core/Parser/CtcParser.cs b/src/ReportGenerator.Core/Parser/CtcParser.cs new file mode 100644 index 00000000..b578885e --- /dev/null +++ b/src/ReportGenerator.Core/Parser/CtcParser.cs @@ -0,0 +1,411 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Threading.Tasks; +using System.Xml.Linq; +using Palmmedia.ReportGenerator.Core.Logging; +using Palmmedia.ReportGenerator.Core.Parser.Analysis; +using Palmmedia.ReportGenerator.Core.Parser.Filtering; +using Palmmedia.ReportGenerator.Core.Properties; + +namespace Palmmedia.ReportGenerator.Core.Parser +{ + /// + /// Parser for XML reports generated by Testwell CTC. + /// + internal class CtcParser : ParserBase + { + /// + /// The Logger. + /// + private static readonly ILogger Logger = LoggerFactory.GetLogger(typeof(CtcParser)); + + /// + /// Initializes a new instance of the class. + /// + /// The assembly filter. + /// The class filter. + /// The file filter. + internal CtcParser(IFilter assemblyFilter, IFilter classFilter, IFilter fileFilter) + : base(assemblyFilter, classFilter, fileFilter) + { + } + + /// + /// Parses the given XML report. + /// + /// The XML report. + /// The parser result. + public ParserResult Parse(XContainer report) + { + if (report == null) + { + throw new ArgumentNullException(nameof(report)); + } + + var assemblies = new List(); + + var root = report.Element("file")?.Parent; + + if (root != null) + { + string name = root.Attribute("projectName").Value; + + if (this.AssemblyFilter.IsElementIncludedInReport(name)) + { + assemblies.Add(this.ProcessAssembly(new XElement[] { root }, name)); + } + } + + var result = new ParserResult(assemblies.OrderBy(a => a.Name).ToList(), true, this.ToString()); + + return result; + } + + /// + /// Processes the given assembly. + /// + /// The modules. + /// Name of the assembly. + /// The . + private Assembly ProcessAssembly(XElement[] modules, string assemblyName) + { + Logger.DebugFormat(Resources.CurrentAssembly, assemblyName); + + var files = modules + .Where(m => m.Attribute("projectName").Value.Equals(assemblyName)) + .Elements("file") + .Where(f => this.FileFilter.IsElementIncludedInReport(f.Attribute("name").Value)) + .OrderBy(f => f.Attribute("name").Value) + .ToArray(); + + var assembly = new Assembly(assemblyName); + + Parallel.ForEach(files, file => this.ProcessFile(assembly, file)); + + return assembly; + } + + /// + /// Processes the file. + /// + /// The assembly. + /// The file element. + private void ProcessFile(Assembly assembly, XElement fileElement) + { + string className = fileElement.Attribute("name").Value; + + int indexOfFileExtension = className.LastIndexOf("."); + + if (indexOfFileExtension > 0) + { + className = className.Substring(0, indexOfFileExtension); + } + + if (!this.ClassFilter.IsElementIncludedInReport(className)) + { + return; + } + + var @class = new Class(className, assembly); + + var lines = fileElement.Elements("function") + .Where(f => !string.IsNullOrEmpty(f.Attribute("name")?.Value)) + .Elements("line") + .ToArray(); + + var linesOfFile = lines + .Where(line => line.Attribute("codeType").Value == "Executable") + .Select(line => new + { + LineNumber = int.Parse(line.Attribute("number").Value, CultureInfo.InvariantCulture), + Visits = line.Attribute("isExecuted").Value == "Executed" ? 1 : 0 + }) + .OrderBy(seqpnt => seqpnt.LineNumber) + .ToArray(); + var branches = GetBranches(lines); + + int[] coverage = new int[] { }; + LineVisitStatus[] lineVisitStatus = new LineVisitStatus[] { }; + + if (linesOfFile.Length > 0) + { + coverage = new int[linesOfFile[linesOfFile.LongLength - 1].LineNumber + 1]; + lineVisitStatus = new LineVisitStatus[linesOfFile[linesOfFile.LongLength - 1].LineNumber + 1]; + + for (int i = 0; i < coverage.Length; i++) + { + coverage[i] = -1; + } + + foreach (var line in linesOfFile) + { + coverage[line.LineNumber] = line.Visits; + + bool partiallyCovered = false; + + if (branches.TryGetValue(line.LineNumber, out ICollection branchesOfLine)) + { + partiallyCovered = branchesOfLine.Any(b => b.BranchVisits == 0); + } + + LineVisitStatus statusOfLine = line.Visits > 0 ? (partiallyCovered ? LineVisitStatus.PartiallyCovered : LineVisitStatus.Covered) : LineVisitStatus.NotCovered; + lineVisitStatus[line.LineNumber] = statusOfLine; + } + } + + var methodsOfFile = fileElement + .Elements("function") + .ToArray(); + + var codeFile = new CodeFile(fileElement.Attribute("location").Value, coverage, lineVisitStatus, branches); + + SetMethodMetrics(codeFile, methodsOfFile); + SetCodeElements(codeFile, methodsOfFile); + SetCtcDetails(codeFile, methodsOfFile); + + @class.AddFile(codeFile); + + assembly.AddClass(@class); + } + + /// + /// Extracts the metrics from the given XElements. + /// + /// The code file. + /// The methods of the file. + private static void SetMethodMetrics(CodeFile codeFile, IEnumerable methodsOfFile) + { + foreach (var method in methodsOfFile) + { + var measures = method.Elements("measure").ToArray(); + + if (measures.Length == 0) + { + continue; + } + + var metrics = new List(); + + var mcdcMeasure = measures.FirstOrDefault(m => m.Attribute("name").Value.Equals("MC/DC", StringComparison.OrdinalIgnoreCase)); + + if (mcdcMeasure != null) + { + decimal? value = Math.Round(decimal.Parse(mcdcMeasure.Value.TrimEnd('%'), CultureInfo.InvariantCulture), 2, MidpointRounding.AwayFromZero); + metrics.Add(Metric.Mcdc(value)); + } + + var decisionMeasure = measures.FirstOrDefault(m => m.Attribute("name").Value.Equals("Decision", StringComparison.OrdinalIgnoreCase)); + + if (decisionMeasure != null) + { + decimal? value = Math.Round(decimal.Parse(decisionMeasure.Value.TrimEnd('%'), CultureInfo.InvariantCulture), 2, MidpointRounding.AwayFromZero); + metrics.Add(Metric.Decision(value)); + } + + var statementMeasure = measures.FirstOrDefault(m => m.Attribute("name").Value.Equals("Statement", StringComparison.OrdinalIgnoreCase)); + + if (statementMeasure != null) + { + decimal? value = Math.Round(decimal.Parse(statementMeasure.Value.TrimEnd('%'), CultureInfo.InvariantCulture), 2, MidpointRounding.AwayFromZero); + metrics.Add(Metric.Statement(value)); + } + + if (metrics.Count == 0) + { + continue; + } + + string methodName = method.Attribute("name").Value; + + var methodMetric = new MethodMetric(methodName, methodName, metrics); + + var line = method + .Elements("line") + .FirstOrDefault(); + + if (line != null) + { + methodMetric.Line = int.Parse(line.Attribute("number").Value, CultureInfo.InvariantCulture); + } + + codeFile.AddMethodMetric(methodMetric); + } + } + + /// + /// Extracts the methods/properties of the given XElements. + /// + /// The code file. + /// The methods of the file. + private static void SetCodeElements(CodeFile codeFile, IEnumerable methodsOfFile) + { + foreach (var method in methodsOfFile) + { + string methodName = method.Attribute("name").Value; + + if (string.IsNullOrEmpty(methodName)) + { + continue; + } + + var lines = method + .Elements("line") + .Where(line => line.Attribute("codeType").Value == "Executable") + .ToArray(); + + if (lines.Length == 0) + { + continue; + } + + int firstLine = int.Parse(lines.First().Attribute("number").Value, CultureInfo.InvariantCulture); + int lastLine = int.Parse(lines.Last().Attribute("number").Value, CultureInfo.InvariantCulture); + + codeFile.AddCodeElement(new CodeElement( + methodName, + methodName, + CodeElementType.Method, + firstLine, + lastLine, + codeFile.CoverageQuotaInRange(firstLine, lastLine))); + } + } + + /// + /// Extracts the CTC specific details of the given XElements. + /// + /// The code file. + /// The methods of the file. + private static void SetCtcDetails(CodeFile codeFile, IEnumerable methodsOfFile) + { + foreach (var method in methodsOfFile) + { + string methodName = method.Attribute("name").Value; + + if (string.IsNullOrEmpty(methodName)) + { + continue; + } + + var lines = method + .Elements("line") + .Where(line => line.Attribute("codeType").Value == "Executable") + .ToArray(); + + if (lines.Length == 0) + { + continue; + } + + foreach (var line in lines) + { + var levelDecisionProbe = line.Elements("probe") + .FirstOrDefault(); + + if (levelDecisionProbe == null) + { + continue; + } + + var tfcombinations = levelDecisionProbe + .Elements("tfcombination") + .Select(x => new CtcProbeDetail( + x.Attribute("achieved").Value == "Achieved", + x.Element("description").Value)) + .ToList(); + + var mcdcs = levelDecisionProbe + .Elements("mcdc") + .Select(x => new CtcProbeDetail( + x.Attribute("achieved").Value == "Achieved", + x.Element("description").Value)) + .ToList(); + + if (tfcombinations.Count > 0 || mcdcs.Count > 0) + { + var ctcDetails = new CtcDetails( + tfcombinations, + mcdcs); + + int lineNumber = int.Parse(line.Attribute("number").Value, CultureInfo.InvariantCulture); + + codeFile.AddCtcDetail(lineNumber, ctcDetails); + } + } + } + } + + /// + /// Gets the branches by line number. + /// + /// The lines. + /// The branches by line number. + private static Dictionary> GetBranches(IEnumerable lines) + { + var result = new Dictionary>(); + + foreach (var line in lines) + { + var levelDecisionProbe = line.Elements("probe") + .FirstOrDefault(); + + if (levelDecisionProbe == null) + { + continue; + } + + var trueCountElement = levelDecisionProbe.Attribute("trueCount"); + var falseCountElement = levelDecisionProbe.Attribute("falseCount"); + + // Both counts must be present, otherwise it is not a branch + if (trueCountElement == null + || string.IsNullOrEmpty(trueCountElement.Value) + || falseCountElement == null + || string.IsNullOrEmpty(falseCountElement.Value)) + { + continue; + } + + var tfcombinations = levelDecisionProbe + .Elements("tfcombination") + .ToArray(); + + int numberOfCoveredBranches = 0; + int numberOfTotalBranches = 0; + + if (tfcombinations.Length > 0) + { + numberOfCoveredBranches = tfcombinations.Count(tc => tc.Attribute("achieved").Value == "Achieved"); + numberOfTotalBranches = tfcombinations.Length; + } + else + { + numberOfCoveredBranches = int.Parse(trueCountElement.Value, CultureInfo.InvariantCulture) + + int.Parse(falseCountElement.Value, CultureInfo.InvariantCulture); + numberOfTotalBranches = 2; + } + + int lineNumber = int.Parse(line.Attribute("number").Value, CultureInfo.InvariantCulture); + + var branches = new HashSet(); + + for (int i = 0; i < numberOfTotalBranches; i++) + { + string identifier = string.Format( + CultureInfo.InvariantCulture, + "{0}_{1}", + lineNumber, + i); + + branches.Add(new Branch(i < numberOfCoveredBranches ? 1 : 0, identifier)); + } + + result.Add(lineNumber, branches); + } + + return result; + } + } +} diff --git a/src/ReportGenerator.Core/Parser/DotCoverParser.cs b/src/ReportGenerator.Core/Parser/DotCoverParser.cs index 71bbbe9c..ac472f18 100644 --- a/src/ReportGenerator.Core/Parser/DotCoverParser.cs +++ b/src/ReportGenerator.Core/Parser/DotCoverParser.cs @@ -240,7 +240,7 @@ private CodeFile ProcessFile(string fileId, XElement classElement, string filePa var codeFile = new CodeFile(filePath, coverage, lineVisitStatus); - SetCodeElements(codeFile, fileId, methodsOfFile); + this.SetCodeElements(codeFile, fileId, methodsOfFile); return codeFile; } @@ -251,13 +251,13 @@ private CodeFile ProcessFile(string fileId, XElement classElement, string filePa /// The code file. /// The id of the file. /// The methods. - private static void SetCodeElements(CodeFile codeFile, string fileId, IEnumerable methods) + private void SetCodeElements(CodeFile codeFile, string fileId, IEnumerable methods) { foreach (var method in methods) { - string methodName = ExtractMethodName(method.Parent.Attribute("Name").Value, method.Attribute("Name").Value); + string methodName = this.ExtractMethodName(method.Parent.Attribute("Name").Value, method.Attribute("Name").Value); - if (LambdaMethodNameRegex.IsMatch(methodName)) + if (!this.RawMode && LambdaMethodNameRegex.IsMatch(methodName)) { continue; } @@ -302,8 +302,13 @@ private static void SetCodeElements(CodeFile codeFile, string fileId, IEnumerabl /// The name of the class. /// The full method name. /// The method name. - private static string ExtractMethodName(string typeName, string methodName) + private string ExtractMethodName(string typeName, string methodName) { + if (this.RawMode) + { + return methodName; + } + if (typeName.Contains("|") || methodName.Contains("|")) { Match match = LocalFunctionMethodNameRegex.Match(typeName + methodName); diff --git a/src/ReportGenerator.Core/Parser/DynamicCodeCoverageClassNameParser.cs b/src/ReportGenerator.Core/Parser/DynamicCodeCoverageClassNameParser.cs new file mode 100644 index 00000000..8c353a68 --- /dev/null +++ b/src/ReportGenerator.Core/Parser/DynamicCodeCoverageClassNameParser.cs @@ -0,0 +1,58 @@ +using System; +using System.Text.RegularExpressions; + +namespace Palmmedia.ReportGenerator.Core.Parser +{ + /// + /// Parses class names and extracts generic type information. + /// + internal static class DynamicCodeCoverageClassNameParser + { + /// + /// Regex to clean class names from compiler generated parts. + /// + private static readonly Regex CleanupRegex = new Regex("<.*?>", RegexOptions.Compiled); + + /// + /// Regex to analyze if a class name represents a generic class. + /// + private static readonly Regex GenericClassRegex = new Regex("(?.+)(?<.+>)$", RegexOptions.Compiled); + + /// + /// Parses the class name and extracts generic type information. + /// + /// The raw/full name. + /// The namespace. + /// The parser result. + public static DynamicCodeCoverageClassNameParserResult ParseClassName( + string rawName, + string namespaceOfClass) + { + if (rawName == null) + { + throw new ArgumentNullException(nameof(rawName)); + } + + string cleanedClassName = CleanupRegex.Replace(rawName, string.Empty); + + int nestedClassSeparatorIndex = cleanedClassName.IndexOf('.'); + + if (nestedClassSeparatorIndex > -1) + { + cleanedClassName = cleanedClassName.Substring(0, nestedClassSeparatorIndex); + } + + return new DynamicCodeCoverageClassNameParserResult(namespaceOfClass, cleanedClassName, IncludeClass(rawName)); + } + + /// + /// Determines whether the given class name should be included in the report. + /// + /// The name of the class. + /// True if the class should be included; otherwise, false. + private static bool IncludeClass(string name) + { + return !name.StartsWith("$", StringComparison.OrdinalIgnoreCase); + } + } +} diff --git a/src/ReportGenerator.Core/Parser/DynamicCodeCoverageClassNameParserResult.cs b/src/ReportGenerator.Core/Parser/DynamicCodeCoverageClassNameParserResult.cs new file mode 100644 index 00000000..d4d73439 --- /dev/null +++ b/src/ReportGenerator.Core/Parser/DynamicCodeCoverageClassNameParserResult.cs @@ -0,0 +1,68 @@ +namespace Palmmedia.ReportGenerator.Core.Parser +{ + /// + /// Result of the . + /// + internal class DynamicCodeCoverageClassNameParserResult + { + /// + /// Initializes a new instance of the class. + /// + /// The namespace. + /// The name. + /// Indicates whether the class should be included in the report. + public DynamicCodeCoverageClassNameParserResult( + string namespaceOfClass, + string name, + bool include) + { + this.Namespace = namespaceOfClass; + this.Name = name; + this.Include = include; + } + + /// + /// Gets the namespace. + /// + public string Namespace { get; } + + /// + /// Gets the name. + /// + public string Name { get; } + + /// + /// Gets the full name. + /// + public string FullName => this.Namespace == null ? this.Name : $"{this.Namespace}.{this.Name}"; + + /// + /// Gets a value indicating whether the class should be included in the report. + /// + public bool Include { get; } + + /// + public override string ToString() + { + return this.Name; + } + + /// + public override bool Equals(object obj) + { + if (obj == null || !obj.GetType().Equals(typeof(DynamicCodeCoverageClassNameParserResult))) + { + return false; + } + else + { + var classNameParserResult = (DynamicCodeCoverageClassNameParserResult)obj; + return string.Equals(classNameParserResult.Name, this.Name) + && string.Equals(classNameParserResult.Namespace, this.Namespace); + } + } + + /// + public override int GetHashCode() => this.Name.GetHashCode() + (this.Namespace?.GetHashCode()).GetValueOrDefault(); + } +} diff --git a/src/ReportGenerator.Core/Parser/DynamicCodeCoverageParser.cs b/src/ReportGenerator.Core/Parser/DynamicCodeCoverageParser.cs index 8389b55e..708a3d5f 100644 --- a/src/ReportGenerator.Core/Parser/DynamicCodeCoverageParser.cs +++ b/src/ReportGenerator.Core/Parser/DynamicCodeCoverageParser.cs @@ -95,33 +95,27 @@ private Assembly ProcessAssembly(XElement module) var classes = module .Elements("functions") .Elements("function") - .Select(f => new ClassWithNamespace() - { - Namespace = f.Attribute("namespace")?.Value, - ClassName = f.Attribute("type_name").Value, - TypeNameWasMissing = f.Attribute("type_name_missing") != null - }) - .Where(c => !c.ClassName.Contains("<>") - && !c.ClassName.StartsWith("$", StringComparison.OrdinalIgnoreCase)) - .Select(c => - { - if (!c.TypeNameWasMissing) - { - int nestedClassSeparatorIndex = c.ClassName.IndexOf('.'); - c.ClassName = nestedClassSeparatorIndex > -1 ? c.ClassName.Substring(0, nestedClassSeparatorIndex) : c.ClassName; - } - - return c; - }) - .Distinct() - .Where(c => this.ClassFilter.IsElementIncludedInReport(c.FullName)) - .OrderBy(c => c.Namespace) - .ThenBy(c => c.ClassName) + .Select(f => Tuple.Create( + DynamicCodeCoverageClassNameParser.ParseClassName( + f.Attribute("type_name").Value, + f.Attribute("namespace")?.Value), f)) + .Where(c => this.ClassFilter.IsElementIncludedInReport(c.Item1.FullName)) + .OrderBy(c => c.Item1.Namespace) + .ThenBy(c => c.Item1.Name) .ToArray(); var assembly = new Assembly(assemblyName); - Parallel.ForEach(classes, @class => this.ProcessClass(module, assembly, @class)); + var files = module + .Elements("source_files") + .Elements("source_file") + .ToArray(); + + Parallel.ForEach(classes.Where(c => c.Item1.Include).DistinctBy(c => c.Item1), @class => + { + var functions = classes.Where(c => c.Item1.Equals(@class.Item1)).Select(c => c.Item2).ToArray(); + this.ProcessClass(module, assembly, @class.Item1, files, functions); + }); return assembly; } @@ -132,25 +126,22 @@ private Assembly ProcessAssembly(XElement module) /// The module. /// The assembly. /// The class. - private void ProcessClass(XElement module, Assembly assembly, ClassWithNamespace classWithNamespace) + /// The files. + /// The functions of the class. + private void ProcessClass( + XElement module, + Assembly assembly, + DynamicCodeCoverageClassNameParserResult classWithNamespace, + XElement[] files, + XElement[] functions) { - var fileIdsOfClass = module - .Elements("functions") - .Elements("function") - .Where(c => c.Attribute("namespace")?.Value == classWithNamespace.Namespace) - .Where(c => c.Attribute("type_name").Value.Equals(classWithNamespace.ClassName, StringComparison.Ordinal) - || c.Attribute("type_name").Value.StartsWith(classWithNamespace.ClassName + ".", StringComparison.Ordinal)) + var fileIdsOfClass = functions .Elements("ranges") .Elements("range") .Select(r => r.Attribute("source_id").Value) .Distinct() .ToArray(); - var files = module - .Elements("source_files") - .Elements("source_file") - .ToArray(); - var filteredFilesOfClass = fileIdsOfClass .Select(fileId => new @@ -168,7 +159,7 @@ private void ProcessClass(XElement module, Assembly assembly, ClassWithNamespace foreach (var file in filteredFilesOfClass) { - @class.AddFile(ProcessFile(module, file.FileId, classWithNamespace, file.FilePath)); + @class.AddFile(ProcessFile(module, file.FileId, functions, file.FilePath)); } assembly.AddClass(@class); @@ -180,17 +171,16 @@ private void ProcessClass(XElement module, Assembly assembly, ClassWithNamespace /// /// The module. /// The file id. - /// The class. + /// The functions of the class. /// The file path. /// The . - private static CodeFile ProcessFile(XElement module, string fileId, ClassWithNamespace classWithNamespace, string filePath) + private static CodeFile ProcessFile( + XElement module, + string fileId, + XElement[] functions, + string filePath) { - var methods = module - .Elements("functions") - .Elements("function") - .Where(c => c.Attribute("namespace")?.Value == classWithNamespace.Namespace) - .Where(c => c.Attribute("type_name").Value.Equals(classWithNamespace.ClassName, StringComparison.Ordinal) - || c.Attribute("type_name").Value.StartsWith(classWithNamespace.ClassName + ".", StringComparison.Ordinal)) + var methods = functions .Where(m => m.Elements("ranges").Elements("range").Any(r => r.Attribute("source_id").Value == fileId)) .ToArray(); @@ -356,41 +346,5 @@ private static string ExtractMethodName(string methodName, string typeName) return methodName; } - - private class ClassWithNamespace - { - public string Namespace { get; set; } - - public string ClassName { get; set; } - - public bool TypeNameWasMissing { get; set; } - - public string FullName => this.Namespace == null ? this.ClassName : $"{this.Namespace}.{this.ClassName}"; - - public override bool Equals(object obj) - { - if (obj == null || this.GetType() != obj.GetType()) - { - return false; - } - - ClassWithNamespace cwn = (ClassWithNamespace)obj; - - return cwn.Namespace == this.Namespace - && cwn.ClassName == this.ClassName; - } - - public override int GetHashCode() - { - int result = this.ClassName.GetHashCode(); - - if (this.Namespace != null) - { - result *= this.Namespace.GetHashCode(); - } - - return result; - } - } } } diff --git a/src/ReportGenerator.Core/Parser/FileReading/LocalFileReader.cs b/src/ReportGenerator.Core/Parser/FileReading/LocalFileReader.cs index b8aa3529..5cd45910 100644 --- a/src/ReportGenerator.Core/Parser/FileReading/LocalFileReader.cs +++ b/src/ReportGenerator.Core/Parser/FileReading/LocalFileReader.cs @@ -29,6 +29,11 @@ internal class LocalFileReader : IFileReader /// private readonly IReadOnlyList sourceDirectories; + /// + /// Indicates whether empty trailing line in source files should be preserved. + /// + private readonly bool preserveTrailingEmptyLine; + static LocalFileReader() { var directories = new List(); @@ -54,7 +59,7 @@ static LocalFileReader() /// Initializes a new instance of the class. /// public LocalFileReader() - : this(Enumerable.Empty()) + : this(Enumerable.Empty(), false) { } @@ -62,7 +67,8 @@ public LocalFileReader() /// Initializes a new instance of the class. /// /// The source directories. - public LocalFileReader(IEnumerable sourceDirectories) + /// Indicates whether empty trailing line in source files should be preserved. + public LocalFileReader(IEnumerable sourceDirectories, bool preserveTrailingEmptyLine) { if (sourceDirectories == null) { @@ -70,6 +76,7 @@ public LocalFileReader(IEnumerable sourceDirectories) } this.sourceDirectories = sourceDirectories.ToList(); + this.preserveTrailingEmptyLine = preserveTrailingEmptyLine; } /// @@ -90,8 +97,7 @@ public string[] LoadFile(string path, out string error) return null; } - var encoding = FileHelper.GetEncoding(mappedPath); - string[] lines = File.ReadAllLines(mappedPath, encoding); + string[] lines = this.ReadAllLinesPreserveTrailingEmpty(mappedPath); error = null; return lines; @@ -166,5 +172,53 @@ private static string MapPath(string path, IEnumerable directories) return path; } + + /// + /// Reads all lines of a file, preserving a trailing empty line if present. + /// + /// The path of the file. + /// The lines of the file. + private string[] ReadAllLinesPreserveTrailingEmpty(string path) + { + var lines = new List(); + + var encoding = FileHelper.GetEncoding(path); + using (var reader = new StreamReader(path, encoding)) + { + string line; + while ((line = reader.ReadLine()) != null) + { + lines.Add(line); + } + + // If the file ends with a line break, ReadLine() returns null after the last empty line. + // We need to check if the file ends with a line break and add an empty string if so. + // Use preserveTrailingEmptyLine option here to stick to the default behavior + if (this.preserveTrailingEmptyLine + && lines.Count > 0 + && FileEndsWithNewline(path)) + { + lines.Add(string.Empty); + } + } + + return lines.ToArray(); + } + + /// + /// Checks if the file ends with a newline character. + /// + /// The path of the file. + /// True if the file ends with a newline character, otherwise false. + private static bool FileEndsWithNewline(string path) + { + using (var fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) + { + if (fs.Length == 0) return false; + fs.Seek(-1, SeekOrigin.End); + int lastByte = fs.ReadByte(); + return lastByte == '\n' || lastByte == '\r'; + } + } } } diff --git a/src/ReportGenerator.Core/Parser/LCovParser.cs b/src/ReportGenerator.Core/Parser/LCovParser.cs index 0ab31afc..e2f551c6 100644 --- a/src/ReportGenerator.Core/Parser/LCovParser.cs +++ b/src/ReportGenerator.Core/Parser/LCovParser.cs @@ -125,6 +125,8 @@ private void ProcessClass(Class @class, string fileName, string[] lines, ref int var branchesByLineNumber = new Dictionary>(); + int fndaCounter = -1; + while (true) { string line = lines[currentLine]; @@ -175,6 +177,19 @@ private void ProcessClass(Class @class, string fileName, string[] lines, ref int branchesByLineNumber.Add(lineNumber, branches); } } + else if (line.StartsWith("FNDA:")) + { + fndaCounter++; + + line = line.Substring(5); + string[] tokens = line.Split(','); + int executionCount = tokens[0].ParseLargeInteger(); + + if (executionCount == 0) + { + codeElements[fndaCounter].NotExecuted = true; + } + } else if (line.StartsWith("DA:")) { line = line.Substring(3); @@ -234,12 +249,16 @@ private void ProcessClass(Class @class, string fileName, string[] lines, ref int lastLine = codeElements[i + 1].FirstLine - 1; } + decimal? coverageOfCodeElement = codeElement.NotExecuted + ? 0 + : codeFile.CoverageQuotaInRange(codeElement.FirstLine, lastLine); + codeFile.AddCodeElement(new CodeElement( codeElement.Name, CodeElementType.Method, codeElement.FirstLine, lastLine, - codeFile.CoverageQuotaInRange(codeElement.FirstLine, lastLine))); + coverageOfCodeElement)); } @class.AddFile(codeFile); diff --git a/src/ReportGenerator.Core/Parser/SCoverageParser.cs b/src/ReportGenerator.Core/Parser/SCoverageParser.cs new file mode 100644 index 00000000..c9ccaf18 --- /dev/null +++ b/src/ReportGenerator.Core/Parser/SCoverageParser.cs @@ -0,0 +1,372 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Threading.Tasks; +using System.Xml.Linq; +using Palmmedia.ReportGenerator.Core.Common; +using Palmmedia.ReportGenerator.Core.Logging; +using Palmmedia.ReportGenerator.Core.Parser.Analysis; +using Palmmedia.ReportGenerator.Core.Parser.Filtering; +using Palmmedia.ReportGenerator.Core.Properties; + +namespace Palmmedia.ReportGenerator.Core.Parser +{ + /// + /// Parser for XML reports generated by scoverage . + /// + internal class SCoverageParser : ParserBase + { + /// + /// The Logger. + /// + private static readonly ILogger Logger = LoggerFactory.GetLogger(typeof(SCoverageParser)); + + /// + /// Initializes a new instance of the class. + /// + /// The assembly filter. + /// The class filter. + /// The file filter. + internal SCoverageParser(IFilter assemblyFilter, IFilter classFilter, IFilter fileFilter) + : base(assemblyFilter, classFilter, fileFilter) + { + } + + /// + /// Parses the given XML report. + /// + /// The XML report. + /// The parser result. + public ParserResult Parse(XContainer report) + { + if (report == null) + { + throw new ArgumentNullException(nameof(report)); + } + + var assemblies = new List(); + + var assemblyElementGrouping = report.Descendants("package") + .GroupBy(m => m.Attribute("name").Value) + .Where(a => this.AssemblyFilter.IsElementIncludedInReport(a.Key)) + .ToArray(); + + foreach (var elements in assemblyElementGrouping) + { + assemblies.Add(this.ProcessAssembly(elements.ToArray(), elements.Key)); + } + + var result = new ParserResult(assemblies.OrderBy(a => a.Name).ToList(), true, this.ToString()); + + try + { + if (report.Element("packages")?.Parent.Attribute("timestamp") != null) + { + DateTime timeStamp = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); + double seconds = double.Parse(report.Element("packages").Parent.Attribute("timestamp").Value) / 1000; + timeStamp = timeStamp.AddSeconds(seconds).ToLocalTime(); + + result.MinimumTimeStamp = timeStamp; + result.MaximumTimeStamp = timeStamp; + } + } + catch (Exception) + { + // Ignore since timestamp is not relevant. If timestamp is missing or in wrong format the information is just missing in the report(s) + } + + return result; + } + + /// + /// Processes the given assembly. + /// + /// The modules. + /// Name of the assembly. + /// The . + private Assembly ProcessAssembly(XElement[] modules, string assemblyName) + { + Logger.DebugFormat(Resources.CurrentAssembly, assemblyName); + + var classes = modules + .Elements("classes") + .Elements("class") + .ToArray(); + + var classNames = classes + .Select(c => c.Attribute("name").Value) + .Distinct() + .Where(c => this.ClassFilter.IsElementIncludedInReport(c)) + .OrderBy(c => c) + .ToArray(); + + var assembly = new Assembly(assemblyName); + + Parallel.ForEach(classNames, c => this.ProcessClass(classes, assembly, c)); + + return assembly; + } + + /// + /// Processes the given class. + /// + /// All class elements. + /// The assembly. + /// Name of the class. + private void ProcessClass(XElement[] allClasses, Assembly assembly, string className) + { + bool FilterClass(XElement element) + { + var name = element.Attribute("name").Value; + + return name.Equals(className) + || (name.StartsWith(className, StringComparison.Ordinal) + && (name[className.Length] == '$' + || name[className.Length] == '/' + || name[className.Length] == '.')); + } + + var classes = allClasses + .Where(FilterClass) + .ToArray(); + + var files = classes + .Select(c => c.Attribute("filename").Value) + .Distinct() + .ToArray(); + + var filteredFiles = files + .Where(f => this.FileFilter.IsElementIncludedInReport(f)) + .ToArray(); + + // If all files are removed by filters, then the whole class is omitted + if ((files.Length == 0 && !this.FileFilter.HasCustomFilters) || filteredFiles.Length > 0) + { + var @class = new Class(className, assembly); + + foreach (var file in filteredFiles) + { + var fileClasses = classes + .Where(c => c.Attribute("filename").Value.Equals(file)) + .ToArray(); + @class.AddFile(this.ProcessFile(fileClasses, @class, className, file)); + } + + assembly.AddClass(@class); + } + } + + /// + /// Processes the file. + /// + /// The class elements for the file. + /// The class. + /// Name of the class. + /// The file path. + /// The . + private CodeFile ProcessFile(XElement[] classElements, Class @class, string className, string filePath) + { + var methodsOfFile = classElements + .Elements("methods") + .Elements("method") + .ToArray(); + + var lines = methodsOfFile.Elements("statements") + .Elements("statement") + .ToArray(); + + var anyUncoveredBranchByLine = lines + .GroupBy(l => l.Attribute("line").Value) + .Where(g => g.Any(l => l.Attribute("branch").Value == "true")) + .ToDictionary(g => int.Parse(g.Key), g => g.Any(l => l.Attribute("invocation-count").Value == "0")); + + var lineNumbers = lines + .Select(l => l.Attribute("line").Value) + .ToHashSet(); + + var linesOfFile = lines + .Select(line => new + { + LineNumber = int.Parse(line.Attribute("line").Value, CultureInfo.InvariantCulture), + Visits = line.Attribute("invocation-count").Value.ParseLargeInteger() + }) + .OrderBy(seqpnt => seqpnt.LineNumber) + .ToArray(); + + var branches = GetBranches(lines); + + int[] coverage = new int[] { }; + LineVisitStatus[] lineVisitStatus = new LineVisitStatus[] { }; + + if (linesOfFile.Length > 0) + { + coverage = new int[linesOfFile[linesOfFile.LongLength - 1].LineNumber + 1]; + lineVisitStatus = new LineVisitStatus[linesOfFile[linesOfFile.LongLength - 1].LineNumber + 1]; + + for (int i = 0; i < coverage.Length; i++) + { + coverage[i] = -1; + } + + foreach (var line in linesOfFile) + { + coverage[line.LineNumber] = Math.Max(line.Visits, coverage[line.LineNumber]); + + bool partiallyCovered = false; + + if (anyUncoveredBranchByLine.TryGetValue(line.LineNumber, out bool hasUncoveredBranch)) + { + partiallyCovered = hasUncoveredBranch; + } + + LineVisitStatus statusOfLine = coverage[line.LineNumber] > 0 ? (partiallyCovered ? LineVisitStatus.PartiallyCovered : LineVisitStatus.Covered) : LineVisitStatus.NotCovered; + lineVisitStatus[line.LineNumber] = statusOfLine; + } + } + + var codeFile = new CodeFile(filePath, coverage, lineVisitStatus, branches); + + SetMethodMetrics(codeFile, methodsOfFile); + SetCodeElements(codeFile, methodsOfFile); + + return codeFile; + } + + /// + /// Extracts the metrics from the given XElements. + /// + /// The code file. + /// The methods of the file. + private static void SetMethodMetrics(CodeFile codeFile, IEnumerable methodsOfFile) + { + foreach (var method in methodsOfFile) + { + string methodName = method.Attribute("name").Value; + + string shortName = GetShortMethodName(methodName); + + var metrics = new List(); + + var statementRate = method.Attribute("statement-rate"); + + decimal? coveragePercent = null; + if (statementRate != null) + { + coveragePercent = decimal.Parse(statementRate.Value, CultureInfo.InvariantCulture); + + metrics.Add(Metric.Statement(coveragePercent)); + } + + var branchRate = method.Attribute("branch-rate"); + + if (branchRate != null) + { + decimal? value = decimal.Parse(branchRate.Value, CultureInfo.InvariantCulture); + + metrics.Add(Metric.BranchCoverage(value)); + } + + var methodMetric = new MethodMetric(methodName, shortName, metrics); + + var line = method + .Elements("statements") + .Elements("statement") + .FirstOrDefault(); + + if (line != null) + { + methodMetric.Line = int.Parse(line.Attribute("line").Value, CultureInfo.InvariantCulture); + } + + codeFile.AddMethodMetric(methodMetric); + } + } + + /// + /// Gets the branches by line number. + /// + /// The lines. + /// The branches by line number. + private static Dictionary> GetBranches(IEnumerable lines) + { + var result = new Dictionary>(); + + var linesWithBranches = lines + .Where(l => l.Attribute("branch").Value == "true") + .GroupBy(l => l.Attribute("line").Value) + .ToArray(); + + foreach (var lineGroup in linesWithBranches) + { + var branches = new HashSet(); + + foreach (var line in lineGroup) + { + string identifier = string.Format( + CultureInfo.InvariantCulture, + "{0}_{1}_{2}", + lineGroup.Key, + line.Attribute("start"), + line.Attribute("end")); + + int lineCount = int.Parse(line.Attribute("invocation-count").Value, CultureInfo.InvariantCulture); + + branches.Add(new Branch(lineCount, identifier)); + } + + result.Add(int.Parse(lineGroup.Key, CultureInfo.InvariantCulture), branches); + } + + return result; + } + + private static string GetShortMethodName(string fullName) + { + int indexOpen = fullName.IndexOf('('); + + if (indexOpen <= 0) + { + return fullName; + } + + int indexClose = fullName.IndexOf(')'); + string signature = indexClose - indexOpen > 1 ? "(...)" : "()"; + + return $"{fullName.Substring(0, indexOpen)}{signature}"; + } + + /// + /// Extracts the methods/properties of the given XElements. + /// + /// The code file. + /// The methods of the file. + private static void SetCodeElements(CodeFile codeFile, IEnumerable methodsOfFile) + { + foreach (var method in methodsOfFile) + { + string methodName = method.Attribute("name").Value; + + var lines = method.Elements("statements") + .Elements("statement") + .Select(line => int.Parse(line.Attribute("line").Value, CultureInfo.InvariantCulture)) + .OrderBy(line => line) + .ToArray(); + + if (lines.Length > 0) + { + int firstLine = lines[0]; + int lastLine = lines[lines.Length - 1]; + + codeFile.AddCodeElement(new CodeElement( + methodName, + methodName, + CodeElementType.Method, + firstLine, + lastLine, + codeFile.CoverageQuotaInRange(firstLine, lastLine))); + } + } + } + } +} diff --git a/src/ReportGenerator.Core/Properties/ReportResources.Designer.cs b/src/ReportGenerator.Core/Properties/ReportResources.Designer.cs index f53f83f4..1cb9a75d 100644 --- a/src/ReportGenerator.Core/Properties/ReportResources.Designer.cs +++ b/src/ReportGenerator.Core/Properties/ReportResources.Designer.cs @@ -483,6 +483,15 @@ public static string Date { } } + /// + /// Looks up a localized string similar to Decision. + /// + public static string DecisionCoverage { + get { + return ResourceManager.GetString("DecisionCoverage", resourceCulture); + } + } + /// /// Looks up a localized string similar to Delta. /// @@ -690,6 +699,15 @@ public static string LineCoverageIncreaseOnly { } } + /// + /// Looks up a localized string similar to MC/DC. + /// + public static string McdcCoverage { + get { + return ResourceManager.GetString("McdcCoverage", resourceCulture); + } + } + /// /// Looks up a localized string similar to Method. /// @@ -906,6 +924,15 @@ public static string StarTooltip { } } + /// + /// Looks up a localized string similar to Statement. + /// + public static string StatementCoverage { + get { + return ResourceManager.GetString("StatementCoverage", resourceCulture); + } + } + /// /// Looks up a localized string similar to Summary. /// @@ -978,6 +1005,15 @@ public static string TotalLines { } } + /// + /// Looks up a localized string similar to True/False combinations. + /// + public static string TrueFalseCombinations { + get { + return ResourceManager.GetString("TrueFalseCombinations", resourceCulture); + } + } + /// /// Looks up a localized string similar to Uncovered. /// diff --git a/src/ReportGenerator.Core/Properties/ReportResources.resx b/src/ReportGenerator.Core/Properties/ReportResources.resx index 66124bc2..13e26cad 100644 --- a/src/ReportGenerator.Core/Properties/ReportResources.resx +++ b/src/ReportGenerator.Core/Properties/ReportResources.resx @@ -429,4 +429,16 @@ Full method + + MC/DC + + + Decision + + + Statement + + + True/False combinations + \ No newline at end of file diff --git a/src/ReportGenerator.Core/Properties/Resources.Designer.cs b/src/ReportGenerator.Core/Properties/Resources.Designer.cs index 9d07aac6..165b61b6 100644 --- a/src/ReportGenerator.Core/Properties/Resources.Designer.cs +++ b/src/ReportGenerator.Core/Properties/Resources.Designer.cs @@ -141,6 +141,15 @@ internal static string CssNotSaved { } } + /// + /// Looks up a localized string similar to Support for Testwell CTC++ input files is only available for sponsors. Get your license here: https://reportgenerator.io/pro. + /// + internal static string CtcReportProVersion { + get { + return ResourceManager.GetString("CtcReportProVersion", resourceCulture); + } + } + /// /// Looks up a localized string similar to Current Assembly: {0}. /// diff --git a/src/ReportGenerator.Core/Properties/Resources.resx b/src/ReportGenerator.Core/Properties/Resources.resx index b08fd2e9..3ec969a4 100644 --- a/src/ReportGenerator.Core/Properties/Resources.resx +++ b/src/ReportGenerator.Core/Properties/Resources.resx @@ -349,4 +349,7 @@ The risk hotspot value {0} for assembly '{1}' class '{2}' method '{3}' metric '{4}' is greater than the maximum threshold of {5}. + + Support for Testwell CTC++ input files is only available for sponsors. Get your license here: https://reportgenerator.io/pro + \ No newline at end of file diff --git a/src/ReportGenerator.Core/ReportGenerator.Core.csproj b/src/ReportGenerator.Core/ReportGenerator.Core.csproj index ba339882..cef98fba 100644 --- a/src/ReportGenerator.Core/ReportGenerator.Core.csproj +++ b/src/ReportGenerator.Core/ReportGenerator.Core.csproj @@ -7,8 +7,8 @@ false true ReportGenerator.Core - 5.4.7.0 - 5.4.7.0 + 5.5.1.0 + 5.5.1.0 @@ -83,12 +83,12 @@ - - - - - - + + + + + + all runtime; build; native; contentfiles; analyzers diff --git a/src/ReportGenerator.Core/ReportGenerator.Core.csproj.Backup.tmp b/src/ReportGenerator.Core/ReportGenerator.Core.csproj.Backup.tmp new file mode 100644 index 00000000..cd0d2266 --- /dev/null +++ b/src/ReportGenerator.Core/ReportGenerator.Core.csproj.Backup.tmp @@ -0,0 +1,108 @@ + + + + netstandard2.0 + Palmmedia.ReportGenerator.Core + Exe + false + true + ReportGenerator.Core + 5.4.12.0 + 5.4.12.0 + + + + stylecop.ruleset + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + True + Help.resx + + + True + True + ReportResources.resx + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Help.Designer.cs + + + PublicResXFileCodeGenerator + ReportResources.Designer.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers + + + + + + PreserveNewest + + + + + + + + diff --git a/src/ReportGenerator.Core/Reporting/Builders/CoberturaReportBuilder.cs b/src/ReportGenerator.Core/Reporting/Builders/CoberturaReportBuilder.cs index c840efd1..e44e7aee 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/CoberturaReportBuilder.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/CoberturaReportBuilder.cs @@ -211,7 +211,7 @@ public void CreateSummaryReport(SummaryResult summaryResult) rootElement.Add(new XAttribute("branches-valid", summaryResult.TotalBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture))); rootElement.Add(new XAttribute("complexity", summaryComplexity.HasValue ? summaryComplexity.Value.ToString(CultureInfo.InvariantCulture) : "NaN")); rootElement.Add(new XAttribute("version", 0)); - rootElement.Add(new XAttribute("timestamp", ((long)(DateTime.Now - new DateTime(1970, 1, 1)).TotalSeconds).ToString(CultureInfo.InvariantCulture))); + rootElement.Add(new XAttribute("timestamp", ((long)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds).ToString(CultureInfo.InvariantCulture))); var sourcesElement = new XElement("sources"); diff --git a/src/ReportGenerator.Core/Reporting/Builders/HtmlBlueRedReportBuilder.cs b/src/ReportGenerator.Core/Reporting/Builders/HtmlBlueRedReportBuilder.cs index 8e2dfc31..a592b489 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/HtmlBlueRedReportBuilder.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/HtmlBlueRedReportBuilder.cs @@ -53,7 +53,7 @@ public HtmlBlueRedReportBuilder(bool externalCssAndJavaScriptWithQueryStringHand /// The file analyses that correspond to the class. public override void CreateClassReport(Class @class, IEnumerable fileAnalyses) { - using (var renderer = new HtmlRenderer(this.fileNameByClass, false, this.htmlMode, new string[] { "custom_adaptive.css", "custom_bluered.css" }, "custom.css")) + using (var renderer = new HtmlRenderer(this.fileNameByClass, false, this.htmlMode, new string[] { "custom_adaptive.css", "custom_bluered.css" }, "custom.css", this.ReportContext.Settings.IncludeAllDatesInCharts)) { this.CreateClassReport(renderer, @class, fileAnalyses); } @@ -65,7 +65,7 @@ public override void CreateClassReport(Class @class, IEnumerable f /// The summary result. public override void CreateSummaryReport(SummaryResult summaryResult) { - using (var renderer = new HtmlRenderer(this.fileNameByClass, false, this.htmlMode, new string[] { "custom_adaptive.css", "custom_bluered.css" }, "custom.css")) + using (var renderer = new HtmlRenderer(this.fileNameByClass, false, this.htmlMode, new string[] { "custom_adaptive.css", "custom_bluered.css" }, "custom.css", this.ReportContext.Settings.IncludeAllDatesInCharts)) { this.CreateSummaryReport(renderer, summaryResult); } diff --git a/src/ReportGenerator.Core/Reporting/Builders/HtmlBlueRedSummaryReportBuilder.cs b/src/ReportGenerator.Core/Reporting/Builders/HtmlBlueRedSummaryReportBuilder.cs index 967a69f4..90b3e737 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/HtmlBlueRedSummaryReportBuilder.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/HtmlBlueRedSummaryReportBuilder.cs @@ -33,7 +33,7 @@ public override void CreateClassReport(Class @class, IEnumerable f /// The summary result. public override void CreateSummaryReport(SummaryResult summaryResult) { - using (var renderer = new HtmlRenderer(new Dictionary(), true, HtmlMode.InlineCssAndJavaScript, new string[] { "custom_adaptive.css", "custom_bluered.css" }, "custom.css")) + using (var renderer = new HtmlRenderer(new Dictionary(), true, HtmlMode.InlineCssAndJavaScript, new string[] { "custom_adaptive.css", "custom_bluered.css" }, "custom.css", this.ReportContext.Settings.IncludeAllDatesInCharts)) { this.CreateSummaryReport(renderer, summaryResult); } diff --git a/src/ReportGenerator.Core/Reporting/Builders/HtmlChartReportBuilder.cs b/src/ReportGenerator.Core/Reporting/Builders/HtmlChartReportBuilder.cs index 11ce0447..d6fa7a6d 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/HtmlChartReportBuilder.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/HtmlChartReportBuilder.cs @@ -52,7 +52,7 @@ public override void CreateSummaryReport(IHtmlRenderer reportRenderer, SummaryRe reportRenderer.Chart(historicCoverages, proVersion); } - reportRenderer.CustomSummary(summaryResult.Assemblies, new List(), summaryResult.SupportsBranchCoverage, true); + reportRenderer.CustomSummary(summaryResult.Assemblies, new List(), summaryResult.SupportsBranchCoverage, true, false); reportRenderer.SaveSummaryReport(targetDirectory); diff --git a/src/ReportGenerator.Core/Reporting/Builders/HtmlDarkReportBuilder.cs b/src/ReportGenerator.Core/Reporting/Builders/HtmlDarkReportBuilder.cs index acd7f627..e6464c66 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/HtmlDarkReportBuilder.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/HtmlDarkReportBuilder.cs @@ -53,7 +53,7 @@ public HtmlDarkReportBuilder(bool externalCssAndJavaScriptWithQueryStringHandlin /// The file analyses that correspond to the class. public override void CreateClassReport(Class @class, IEnumerable fileAnalyses) { - using (var renderer = new HtmlRenderer(this.fileNameByClass, false, this.htmlMode, "custom.css", "custom_dark.css")) + using (var renderer = new HtmlRenderer(this.fileNameByClass, false, this.htmlMode, "custom.css", "custom_dark.css", this.ReportContext.Settings.IncludeAllDatesInCharts)) { this.CreateClassReport(renderer, @class, fileAnalyses); } @@ -65,7 +65,7 @@ public override void CreateClassReport(Class @class, IEnumerable f /// The summary result. public override void CreateSummaryReport(SummaryResult summaryResult) { - using (var renderer = new HtmlRenderer(this.fileNameByClass, false, this.htmlMode, "custom.css", "custom_dark.css")) + using (var renderer = new HtmlRenderer(this.fileNameByClass, false, this.htmlMode, "custom.css", "custom_dark.css", this.ReportContext.Settings.IncludeAllDatesInCharts)) { this.CreateSummaryReport(renderer, summaryResult); } diff --git a/src/ReportGenerator.Core/Reporting/Builders/HtmlInlineAzurePipelinesDarkReportBuilder.cs b/src/ReportGenerator.Core/Reporting/Builders/HtmlInlineAzurePipelinesDarkReportBuilder.cs index d8f80eac..8db2e131 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/HtmlInlineAzurePipelinesDarkReportBuilder.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/HtmlInlineAzurePipelinesDarkReportBuilder.cs @@ -30,7 +30,7 @@ public class HtmlInlineAzurePipelinesDarkReportBuilder : HtmlReportBuilderBase /// The file analyses that correspond to the class. public override void CreateClassReport(Class @class, IEnumerable fileAnalyses) { - using (var renderer = new HtmlRenderer(this.fileNameByClass, false, HtmlMode.InlineCssAndJavaScript, "custom-azurepipelines.css", "custom-azurepipelines_dark.css")) + using (var renderer = new HtmlRenderer(this.fileNameByClass, false, HtmlMode.InlineCssAndJavaScript, "custom-azurepipelines.css", "custom-azurepipelines_dark.css", this.ReportContext.Settings.IncludeAllDatesInCharts)) { this.CreateClassReport(renderer, @class, fileAnalyses); } @@ -42,7 +42,7 @@ public override void CreateClassReport(Class @class, IEnumerable f /// The summary result. public override void CreateSummaryReport(SummaryResult summaryResult) { - using (var renderer = new HtmlRenderer(this.fileNameByClass, false, HtmlMode.InlineCssAndJavaScript, "custom-azurepipelines.css", "custom-azurepipelines_dark.css")) + using (var renderer = new HtmlRenderer(this.fileNameByClass, false, HtmlMode.InlineCssAndJavaScript, "custom-azurepipelines.css", "custom-azurepipelines_dark.css", this.ReportContext.Settings.IncludeAllDatesInCharts)) { this.CreateSummaryReport(renderer, summaryResult); } diff --git a/src/ReportGenerator.Core/Reporting/Builders/HtmlInlineAzurePipelinesLightReportBuilder.cs b/src/ReportGenerator.Core/Reporting/Builders/HtmlInlineAzurePipelinesLightReportBuilder.cs index 2293b950..3efdb3a7 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/HtmlInlineAzurePipelinesLightReportBuilder.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/HtmlInlineAzurePipelinesLightReportBuilder.cs @@ -30,7 +30,7 @@ public class HtmlInlineAzurePipelinesLightReportBuilder : HtmlReportBuilderBase /// The file analyses that correspond to the class. public override void CreateClassReport(Class @class, IEnumerable fileAnalyses) { - using (var renderer = new HtmlRenderer(this.fileNameByClass, false, HtmlMode.InlineCssAndJavaScript, "custom-azurepipelines.css", null)) + using (var renderer = new HtmlRenderer(this.fileNameByClass, false, HtmlMode.InlineCssAndJavaScript, "custom-azurepipelines.css", null, this.ReportContext.Settings.IncludeAllDatesInCharts)) { this.CreateClassReport(renderer, @class, fileAnalyses); } @@ -42,7 +42,7 @@ public override void CreateClassReport(Class @class, IEnumerable f /// The summary result. public override void CreateSummaryReport(SummaryResult summaryResult) { - using (var renderer = new HtmlRenderer(this.fileNameByClass, false, HtmlMode.InlineCssAndJavaScript, "custom-azurepipelines.css", null)) + using (var renderer = new HtmlRenderer(this.fileNameByClass, false, HtmlMode.InlineCssAndJavaScript, "custom-azurepipelines.css", null, this.ReportContext.Settings.IncludeAllDatesInCharts)) { this.CreateSummaryReport(renderer, summaryResult); } diff --git a/src/ReportGenerator.Core/Reporting/Builders/HtmlInlineAzurePipelinesReportBuilder.cs b/src/ReportGenerator.Core/Reporting/Builders/HtmlInlineAzurePipelinesReportBuilder.cs index 4f0dee4a..56ba0d48 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/HtmlInlineAzurePipelinesReportBuilder.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/HtmlInlineAzurePipelinesReportBuilder.cs @@ -30,7 +30,7 @@ public class HtmlInlineAzurePipelinesReportBuilder : HtmlReportBuilderBase /// The file analyses that correspond to the class. public override void CreateClassReport(Class @class, IEnumerable fileAnalyses) { - using (var renderer = new HtmlRenderer(this.fileNameByClass, false, HtmlMode.InlineCssAndJavaScript, "custom-azurepipelines.css", "custom-azurepipelines_adaptive.css")) + using (var renderer = new HtmlRenderer(this.fileNameByClass, false, HtmlMode.InlineCssAndJavaScript, "custom-azurepipelines.css", "custom-azurepipelines_adaptive.css", this.ReportContext.Settings.IncludeAllDatesInCharts)) { this.CreateClassReport(renderer, @class, fileAnalyses); } @@ -42,7 +42,7 @@ public override void CreateClassReport(Class @class, IEnumerable f /// The summary result. public override void CreateSummaryReport(SummaryResult summaryResult) { - using (var renderer = new HtmlRenderer(this.fileNameByClass, false, HtmlMode.InlineCssAndJavaScript, "custom-azurepipelines.css", "custom-azurepipelines_adaptive.css")) + using (var renderer = new HtmlRenderer(this.fileNameByClass, false, HtmlMode.InlineCssAndJavaScript, "custom-azurepipelines.css", "custom-azurepipelines_adaptive.css", this.ReportContext.Settings.IncludeAllDatesInCharts)) { this.CreateSummaryReport(renderer, summaryResult); } diff --git a/src/ReportGenerator.Core/Reporting/Builders/HtmlInlineCssAndJavaScriptReportBuilder.cs b/src/ReportGenerator.Core/Reporting/Builders/HtmlInlineCssAndJavaScriptReportBuilder.cs index fb994ee5..5049461d 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/HtmlInlineCssAndJavaScriptReportBuilder.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/HtmlInlineCssAndJavaScriptReportBuilder.cs @@ -30,7 +30,7 @@ public class HtmlInlineCssAndJavaScriptReportBuilder : HtmlReportBuilderBase /// The file analyses that correspond to the class. public override void CreateClassReport(Class @class, IEnumerable fileAnalyses) { - using (var renderer = new HtmlRenderer(this.fileNameByClass, false, HtmlMode.InlineCssAndJavaScript)) + using (var renderer = new HtmlRenderer(this.fileNameByClass, false, HtmlMode.InlineCssAndJavaScript, includeAllDatesInCharts: this.ReportContext.Settings.IncludeAllDatesInCharts)) { this.CreateClassReport(renderer, @class, fileAnalyses); } @@ -42,7 +42,7 @@ public override void CreateClassReport(Class @class, IEnumerable f /// The summary result. public override void CreateSummaryReport(SummaryResult summaryResult) { - using (var renderer = new HtmlRenderer(this.fileNameByClass, false, HtmlMode.InlineCssAndJavaScript)) + using (var renderer = new HtmlRenderer(this.fileNameByClass, false, HtmlMode.InlineCssAndJavaScript, includeAllDatesInCharts: this.ReportContext.Settings.IncludeAllDatesInCharts)) { this.CreateSummaryReport(renderer, summaryResult); } diff --git a/src/ReportGenerator.Core/Reporting/Builders/HtmlLightReportBuilder.cs b/src/ReportGenerator.Core/Reporting/Builders/HtmlLightReportBuilder.cs index 15ae58d5..16dd6ad0 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/HtmlLightReportBuilder.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/HtmlLightReportBuilder.cs @@ -53,7 +53,7 @@ public HtmlLightReportBuilder(bool externalCssAndJavaScriptWithQueryStringHandli /// The file analyses that correspond to the class. public override void CreateClassReport(Class @class, IEnumerable fileAnalyses) { - using (var renderer = new HtmlRenderer(this.fileNameByClass, false, this.htmlMode, "custom.css", null)) + using (var renderer = new HtmlRenderer(this.fileNameByClass, false, this.htmlMode, "custom.css", null, this.ReportContext.Settings.IncludeAllDatesInCharts)) { this.CreateClassReport(renderer, @class, fileAnalyses); } @@ -65,7 +65,7 @@ public override void CreateClassReport(Class @class, IEnumerable f /// The summary result. public override void CreateSummaryReport(SummaryResult summaryResult) { - using (var renderer = new HtmlRenderer(this.fileNameByClass, false, this.htmlMode, "custom.css", null)) + using (var renderer = new HtmlRenderer(this.fileNameByClass, false, this.htmlMode, "custom.css", null, this.ReportContext.Settings.IncludeAllDatesInCharts)) { this.CreateSummaryReport(renderer, summaryResult); } diff --git a/src/ReportGenerator.Core/Reporting/Builders/HtmlReportBuilder.cs b/src/ReportGenerator.Core/Reporting/Builders/HtmlReportBuilder.cs index 5d124c99..e71edd74 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/HtmlReportBuilder.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/HtmlReportBuilder.cs @@ -53,7 +53,7 @@ public HtmlReportBuilder(bool externalCssAndJavaScriptWithQueryStringHandling) /// The file analyses that correspond to the class. public override void CreateClassReport(Class @class, IEnumerable fileAnalyses) { - using (var renderer = new HtmlRenderer(this.fileNameByClass, false, this.htmlMode)) + using (var renderer = new HtmlRenderer(this.fileNameByClass, false, this.htmlMode, includeAllDatesInCharts: this.ReportContext.Settings.IncludeAllDatesInCharts)) { this.CreateClassReport(renderer, @class, fileAnalyses); } @@ -65,7 +65,7 @@ public override void CreateClassReport(Class @class, IEnumerable f /// The summary result. public override void CreateSummaryReport(SummaryResult summaryResult) { - using (var renderer = new HtmlRenderer(this.fileNameByClass, false, this.htmlMode)) + using (var renderer = new HtmlRenderer(this.fileNameByClass, false, this.htmlMode, includeAllDatesInCharts: this.ReportContext.Settings.IncludeAllDatesInCharts)) { this.CreateSummaryReport(renderer, summaryResult); } diff --git a/src/ReportGenerator.Core/Reporting/Builders/HtmlReportBuilderBase.cs b/src/ReportGenerator.Core/Reporting/Builders/HtmlReportBuilderBase.cs index ff95fc3a..62615541 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/HtmlReportBuilderBase.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/HtmlReportBuilderBase.cs @@ -401,7 +401,8 @@ public virtual void CreateSummaryReport(IHtmlRenderer reportRenderer, SummaryRes assembliesWithClasses, this.ReportContext.RiskHotspotAnalysisResult.RiskHotspots, summaryResult.SupportsBranchCoverage, - proVersion); + proVersion, + this.ReportContext.Settings.ApplyMaximumGroupingLevel); reportRenderer.AddFooter(); reportRenderer.SaveSummaryReport(this.CreateTargetDirectory()); diff --git a/src/ReportGenerator.Core/Reporting/Builders/HtmlSummaryReportBuilder.cs b/src/ReportGenerator.Core/Reporting/Builders/HtmlSummaryReportBuilder.cs index ba76f58c..44e513bb 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/HtmlSummaryReportBuilder.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/HtmlSummaryReportBuilder.cs @@ -33,7 +33,7 @@ public override void CreateClassReport(Class @class, IEnumerable f /// The summary result. public override void CreateSummaryReport(SummaryResult summaryResult) { - using (var renderer = new HtmlRenderer(new Dictionary(), true, HtmlMode.InlineCssAndJavaScript)) + using (var renderer = new HtmlRenderer(new Dictionary(), true, HtmlMode.InlineCssAndJavaScript, includeAllDatesInCharts: this.ReportContext.Settings.IncludeAllDatesInCharts)) { this.CreateSummaryReport(renderer, summaryResult); } diff --git a/src/ReportGenerator.Core/Reporting/Builders/LatexReportBuilderBase.cs b/src/ReportGenerator.Core/Reporting/Builders/LatexReportBuilderBase.cs index 59873a53..5396bfdc 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/LatexReportBuilderBase.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/LatexReportBuilderBase.cs @@ -4,6 +4,7 @@ using System.IO; using System.Linq; using Palmmedia.ReportGenerator.Core.Common; +using Palmmedia.ReportGenerator.Core.Licensing; using Palmmedia.ReportGenerator.Core.Logging; using Palmmedia.ReportGenerator.Core.Parser.Analysis; using Palmmedia.ReportGenerator.Core.Properties; @@ -71,38 +72,47 @@ public virtual void CreateClassReport(ILatexRenderer reportRenderer, Class @clas reportRenderer.Header(ReportResources.Summary); } + bool proVersion = this.ReportContext.ReportConfiguration.License.DetermineLicenseType() == LicenseType.Pro; + reportRenderer.BeginKeyValueTable(); - reportRenderer.KeyValueRow(ReportResources.Class, @class.DisplayName); - reportRenderer.KeyValueRow(ReportResources.Assembly, @class.Assembly.ShortName); + reportRenderer.KeyValueRow(ReportResources.Class, @class.DisplayName, false); + reportRenderer.KeyValueRow(ReportResources.Assembly, @class.Assembly.ShortName, false); reportRenderer.KeyValueRow(ReportResources.Files3, @class.Files.Select(f => f.Path)); - reportRenderer.KeyValueRow(ReportResources.CoveredLines, @class.CoveredLines.ToString(CultureInfo.InvariantCulture)); - reportRenderer.KeyValueRow(ReportResources.UncoveredLines, (@class.CoverableLines - @class.CoveredLines).ToString(CultureInfo.InvariantCulture)); - reportRenderer.KeyValueRow(ReportResources.CoverableLines, @class.CoverableLines.ToString(CultureInfo.InvariantCulture)); - reportRenderer.KeyValueRow(ReportResources.TotalLines, @class.TotalLines.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)); - reportRenderer.KeyValueRow(ReportResources.Coverage2, @class.CoverageQuota.HasValue ? $"{@class.CoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({@class.CoveredLines.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {@class.CoverableLines.ToString(CultureInfo.InvariantCulture)})" : string.Empty); + reportRenderer.KeyValueRow(ReportResources.Coverage2, @class.CoverageQuota.HasValue ? $"{@class.CoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({@class.CoveredLines.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {@class.CoverableLines.ToString(CultureInfo.InvariantCulture)})" : string.Empty, true); + reportRenderer.KeyValueRow(ReportResources.CoveredLines, @class.CoveredLines.ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.UncoveredLines, (@class.CoverableLines - @class.CoveredLines).ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.CoverableLines, @class.CoverableLines.ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.TotalLines, @class.TotalLines.GetValueOrDefault().ToString(CultureInfo.InvariantCulture), false); if (@class.CoveredBranches.HasValue && @class.TotalBranches.HasValue) { - reportRenderer.KeyValueRow(ReportResources.CoveredBranches2, @class.CoveredBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)); - reportRenderer.KeyValueRow(ReportResources.TotalBranches, @class.TotalBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)); - decimal? branchCoverage = @class.BranchCoverageQuota; if (branchCoverage.HasValue) { - reportRenderer.KeyValueRow(ReportResources.BranchCoverage2, $"{branchCoverage.Value.ToString(CultureInfo.InvariantCulture)}% ({@class.CoveredBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {@class.TotalBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)})"); + reportRenderer.KeyValueRow(ReportResources.BranchCoverage2, $"{branchCoverage.Value.ToString(CultureInfo.InvariantCulture)}% ({@class.CoveredBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {@class.TotalBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)})", true); } + + reportRenderer.KeyValueRow(ReportResources.CoveredBranches2, @class.CoveredBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.TotalBranches, @class.TotalBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture), false); } - reportRenderer.KeyValueRow(ReportResources.CoveredCodeElements, @class.CoveredCodeElements.ToString(CultureInfo.InvariantCulture)); - reportRenderer.KeyValueRow(ReportResources.FullCoveredCodeElements, @class.FullCoveredCodeElements.ToString(CultureInfo.InvariantCulture)); - reportRenderer.KeyValueRow(ReportResources.TotalCodeElements, @class.TotalCodeElements.ToString(CultureInfo.InvariantCulture)); - reportRenderer.KeyValueRow(ReportResources.CodeElementCoverageQuota2, @class.CodeElementCoverageQuota.HasValue ? $"{@class.CodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({@class.CoveredCodeElements.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {@class.TotalCodeElements.ToString(CultureInfo.InvariantCulture)})" : string.Empty); - reportRenderer.KeyValueRow(ReportResources.FullCodeElementCoverageQuota2, @class.FullCodeElementCoverageQuota.HasValue ? $"{@class.FullCodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({@class.FullCoveredCodeElements.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {@class.TotalCodeElements.ToString(CultureInfo.InvariantCulture)})" : string.Empty); + if (proVersion) + { + reportRenderer.KeyValueRow(ReportResources.CodeElementCoverageQuota2, @class.CodeElementCoverageQuota.HasValue ? $"{@class.CodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({@class.CoveredCodeElements.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {@class.TotalCodeElements.ToString(CultureInfo.InvariantCulture)})" : string.Empty, true); + reportRenderer.KeyValueRow(ReportResources.FullCodeElementCoverageQuota2, @class.FullCodeElementCoverageQuota.HasValue ? $"{@class.FullCodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({@class.FullCoveredCodeElements.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {@class.TotalCodeElements.ToString(CultureInfo.InvariantCulture)})" : string.Empty, true); + reportRenderer.KeyValueRow(ReportResources.CoveredCodeElements, @class.CoveredCodeElements.ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.FullCoveredCodeElements, @class.FullCoveredCodeElements.ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.TotalCodeElements, @class.TotalCodeElements.ToString(CultureInfo.InvariantCulture), false); + } + else + { + reportRenderer.KeyValueRow(ReportResources.CodeElementCoverageQuota2, $"[{ReportResources.MethodCoverageProVersion}](https://reportgenerator.io/pro)", true); + } if (this.ReportContext.ReportConfiguration.Tag != null) { - reportRenderer.KeyValueRow(ReportResources.Tag, this.ReportContext.ReportConfiguration.Tag); + reportRenderer.KeyValueRow(ReportResources.Tag, this.ReportContext.ReportConfiguration.Tag, false); } reportRenderer.FinishTable(); @@ -128,7 +138,7 @@ public virtual void CreateClassReport(ILatexRenderer reportRenderer, Class @clas } else { - reportRenderer.BeginLineAnalysisTable(new[] { string.Empty, "#", ReportResources.Line, string.Empty, ReportResources.Coverage }); + reportRenderer.BeginLineAnalysisTable(); foreach (var line in fileAnalysis.Lines) { @@ -180,55 +190,64 @@ public virtual void CreateSummaryReport(ILatexRenderer reportRenderer, SummaryRe throw new ArgumentNullException(nameof(summaryResult)); } + bool proVersion = this.ReportContext.ReportConfiguration.License.DetermineLicenseType() == LicenseType.Pro; + string title = this.ReportContext.ReportConfiguration.Title != null ? $"{ReportResources.Summary} - {this.ReportContext.ReportConfiguration.Title}" : ReportResources.Summary; reportRenderer.BeginSummaryReport(); reportRenderer.Header(title); reportRenderer.BeginKeyValueTable(); - reportRenderer.KeyValueRow(ReportResources.GeneratedOn, DateTime.Now.ToShortDateString() + " - " + DateTime.Now.ToLongTimeString()); + reportRenderer.KeyValueRow(ReportResources.GeneratedOn, DateTime.Now.ToShortDateString() + " - " + DateTime.Now.ToLongTimeString(), false); if (summaryResult.MinimumTimeStamp.HasValue || summaryResult.MaximumTimeStamp.HasValue) { - reportRenderer.KeyValueRow(ReportResources.CoverageDate, summaryResult.CoverageDate()); + reportRenderer.KeyValueRow(ReportResources.CoverageDate, summaryResult.CoverageDate(), false); } var assembliesWithClasses = summaryResult.Assemblies .Where(a => a.Classes.Any()) .ToArray(); - reportRenderer.KeyValueRow(ReportResources.Parser, summaryResult.UsedParser); - reportRenderer.KeyValueRow(ReportResources.Assemblies2, assembliesWithClasses.Count().ToString(CultureInfo.InvariantCulture)); - reportRenderer.KeyValueRow(ReportResources.Classes, assembliesWithClasses.SelectMany(a => a.Classes).Count().ToString(CultureInfo.InvariantCulture)); - reportRenderer.KeyValueRow(ReportResources.Files2, assembliesWithClasses.SelectMany(a => a.Classes).SelectMany(a => a.Files).Distinct().Count().ToString(CultureInfo.InvariantCulture)); - reportRenderer.KeyValueRow(ReportResources.CoveredLines, summaryResult.CoveredLines.ToString(CultureInfo.InvariantCulture)); - reportRenderer.KeyValueRow(ReportResources.UncoveredLines, (summaryResult.CoverableLines - summaryResult.CoveredLines).ToString(CultureInfo.InvariantCulture)); - reportRenderer.KeyValueRow(ReportResources.CoverableLines, summaryResult.CoverableLines.ToString(CultureInfo.InvariantCulture)); - reportRenderer.KeyValueRow(ReportResources.TotalLines, summaryResult.TotalLines.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)); - reportRenderer.KeyValueRow(ReportResources.Coverage2, summaryResult.CoverageQuota.HasValue ? $"{summaryResult.CoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({summaryResult.CoveredLines.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {summaryResult.CoverableLines.ToString(CultureInfo.InvariantCulture)})" : string.Empty); + reportRenderer.KeyValueRow(ReportResources.Parser, summaryResult.UsedParser, false); + reportRenderer.KeyValueRow(ReportResources.Assemblies2, assembliesWithClasses.Count().ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.Classes, assembliesWithClasses.SelectMany(a => a.Classes).Count().ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.Files2, assembliesWithClasses.SelectMany(a => a.Classes).SelectMany(a => a.Files).Distinct().Count().ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.Coverage2, summaryResult.CoverageQuota.HasValue ? $"{summaryResult.CoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({summaryResult.CoveredLines.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {summaryResult.CoverableLines.ToString(CultureInfo.InvariantCulture)})" : string.Empty, true); + reportRenderer.KeyValueRow(ReportResources.CoveredLines, summaryResult.CoveredLines.ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.UncoveredLines, (summaryResult.CoverableLines - summaryResult.CoveredLines).ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.CoverableLines, summaryResult.CoverableLines.ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.TotalLines, summaryResult.TotalLines.GetValueOrDefault().ToString(CultureInfo.InvariantCulture), false); if (summaryResult.CoveredBranches.HasValue && summaryResult.TotalBranches.HasValue) { - reportRenderer.KeyValueRow(ReportResources.CoveredBranches2, summaryResult.CoveredBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)); - reportRenderer.KeyValueRow(ReportResources.TotalBranches, summaryResult.TotalBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)); - decimal? branchCoverage = summaryResult.BranchCoverageQuota; if (branchCoverage.HasValue) { - reportRenderer.KeyValueRow(ReportResources.BranchCoverage2, $"{branchCoverage.Value.ToString(CultureInfo.InvariantCulture)}% ({summaryResult.CoveredBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {summaryResult.TotalBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)})"); + reportRenderer.KeyValueRow(ReportResources.BranchCoverage2, $"{branchCoverage.Value.ToString(CultureInfo.InvariantCulture)}% ({summaryResult.CoveredBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {summaryResult.TotalBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)})", true); } + + reportRenderer.KeyValueRow(ReportResources.CoveredBranches2, summaryResult.CoveredBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.TotalBranches, summaryResult.TotalBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture), false); } - reportRenderer.KeyValueRow(ReportResources.CoveredCodeElements, summaryResult.CoveredCodeElements.ToString(CultureInfo.InvariantCulture)); - reportRenderer.KeyValueRow(ReportResources.FullCoveredCodeElements, summaryResult.FullCoveredCodeElements.ToString(CultureInfo.InvariantCulture)); - reportRenderer.KeyValueRow(ReportResources.TotalCodeElements, summaryResult.TotalCodeElements.ToString(CultureInfo.InvariantCulture)); - reportRenderer.KeyValueRow(ReportResources.CodeElementCoverageQuota2, summaryResult.CodeElementCoverageQuota.HasValue ? $"{summaryResult.CodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({summaryResult.CoveredCodeElements.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {summaryResult.TotalCodeElements.ToString(CultureInfo.InvariantCulture)})" : string.Empty); - reportRenderer.KeyValueRow(ReportResources.FullCodeElementCoverageQuota2, summaryResult.FullCodeElementCoverageQuota.HasValue ? $"{summaryResult.FullCodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({summaryResult.FullCoveredCodeElements.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {summaryResult.TotalCodeElements.ToString(CultureInfo.InvariantCulture)})" : string.Empty); + if (proVersion) + { + reportRenderer.KeyValueRow(ReportResources.CodeElementCoverageQuota2, summaryResult.CodeElementCoverageQuota.HasValue ? $"{summaryResult.CodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({summaryResult.CoveredCodeElements.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {summaryResult.TotalCodeElements.ToString(CultureInfo.InvariantCulture)})" : string.Empty, true); + reportRenderer.KeyValueRow(ReportResources.FullCodeElementCoverageQuota2, summaryResult.FullCodeElementCoverageQuota.HasValue ? $"{summaryResult.FullCodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({summaryResult.FullCoveredCodeElements.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {summaryResult.TotalCodeElements.ToString(CultureInfo.InvariantCulture)})" : string.Empty, true); + reportRenderer.KeyValueRow(ReportResources.CoveredCodeElements, summaryResult.CoveredCodeElements.ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.FullCoveredCodeElements, summaryResult.FullCoveredCodeElements.ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.TotalCodeElements, summaryResult.TotalCodeElements.ToString(CultureInfo.InvariantCulture), false); + } + else + { + reportRenderer.KeyValueRow(ReportResources.CodeElementCoverageQuota2, $"[{ReportResources.MethodCoverageProVersion}](https://reportgenerator.io/pro)", true); + } if (this.ReportContext.ReportConfiguration.Tag != null) { - reportRenderer.KeyValueRow(ReportResources.Tag, this.ReportContext.ReportConfiguration.Tag); + reportRenderer.KeyValueRow(ReportResources.Tag, this.ReportContext.ReportConfiguration.Tag, false); } reportRenderer.FinishTable(); @@ -262,15 +281,15 @@ public virtual void CreateSummaryReport(ILatexRenderer reportRenderer, SummaryRe if (assembliesWithClasses.Any()) { - reportRenderer.BeginSummaryTable(summaryResult.SupportsBranchCoverage, true); + reportRenderer.BeginSummaryTable(summaryResult.SupportsBranchCoverage, proVersion); foreach (var assembly in assembliesWithClasses) { - reportRenderer.SummaryAssembly(assembly, summaryResult.SupportsBranchCoverage, true); + reportRenderer.SummaryAssembly(assembly, summaryResult.SupportsBranchCoverage, proVersion); foreach (var @class in assembly.Classes) { - reportRenderer.SummaryClass(@class, summaryResult.SupportsBranchCoverage, true); + reportRenderer.SummaryClass(@class, summaryResult.SupportsBranchCoverage, proVersion); } } diff --git a/src/ReportGenerator.Core/Reporting/Builders/MarkdownReportBuilder.cs b/src/ReportGenerator.Core/Reporting/Builders/MarkdownReportBuilder.cs new file mode 100644 index 00000000..b46379db --- /dev/null +++ b/src/ReportGenerator.Core/Reporting/Builders/MarkdownReportBuilder.cs @@ -0,0 +1,77 @@ +using System; +using System.Collections.Generic; +using Palmmedia.ReportGenerator.Core.Parser.Analysis; +using Palmmedia.ReportGenerator.Core.Reporting.Builders.Rendering; + +namespace Palmmedia.ReportGenerator.Core.Reporting.Builders +{ + /// + /// Creates report in Markdown format. + /// + public class MarkdownReportBuilder : MarkdownReportBuilderBase, IDisposable + { + /// + /// The shared renderer. + /// + private readonly MarkdownRenderer renderer = new MarkdownRenderer(); + + /// + /// Initializes a new instance of the class. + /// + public MarkdownReportBuilder() + { + this.WithLinks = true; + } + + /// + /// Gets the type of the report. + /// + /// + /// The type of the report. + /// + public override string ReportType => "Markdown"; + + /// + /// Creates a class report. + /// + /// The class. + /// The file analyses that correspond to the class. + public override void CreateClassReport(Class @class, IEnumerable fileAnalyses) + { + this.CreateClassReport(this.renderer, @class, fileAnalyses); + } + + /// + /// Creates the summary report. + /// + /// The summary result. + public override void CreateSummaryReport(SummaryResult summaryResult) + { + this.CreateSummaryReport(this.renderer, summaryResult); + } + + /// + /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged ReportResources. + /// + public void Dispose() + { + this.Dispose(true); + GC.SuppressFinalize(this); + } + + /// + /// Releases unmanaged and - optionally - managed resources. + /// + /// true to release both managed and unmanaged resources; false to release only unmanaged ReportResources. + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + if (this.renderer != null) + { + this.renderer.Dispose(); + } + } + } + } +} diff --git a/src/ReportGenerator.Core/Reporting/Builders/MarkdownReportBuilderBase.cs b/src/ReportGenerator.Core/Reporting/Builders/MarkdownReportBuilderBase.cs new file mode 100644 index 00000000..fef5e540 --- /dev/null +++ b/src/ReportGenerator.Core/Reporting/Builders/MarkdownReportBuilderBase.cs @@ -0,0 +1,362 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Linq; +using Palmmedia.ReportGenerator.Core.Common; +using Palmmedia.ReportGenerator.Core.Licensing; +using Palmmedia.ReportGenerator.Core.Logging; +using Palmmedia.ReportGenerator.Core.Parser.Analysis; +using Palmmedia.ReportGenerator.Core.Properties; +using Palmmedia.ReportGenerator.Core.Reporting.Builders.Rendering; + +namespace Palmmedia.ReportGenerator.Core.Reporting.Builders +{ + /// + /// Implementation of that uses to create reports. + /// + public abstract class MarkdownReportBuilderBase : IReportBuilder + { + /// + /// The Logger. + /// + private static readonly ILogger Logger = LoggerFactory.GetLogger(typeof(MarkdownReportBuilderBase)); + + /// + /// Gets the report type. + /// + /// + /// The report type. + /// + public abstract string ReportType { get; } + + /// + /// Gets or sets the report context. + /// + /// + /// The report context. + /// + public IReportContext ReportContext { get; set; } + + /// + /// Gets or sets a value indicating whether links should be included in the report. + /// + protected bool WithLinks { get; set; } = false; + + /// + /// Creates a class report. + /// + /// The report renderer. + /// The class. + /// The file analyses that correspond to the class. + public virtual void CreateClassReport(IMarkdownRenderer reportRenderer, Class @class, IEnumerable fileAnalyses) + { + if (reportRenderer == null) + { + throw new ArgumentNullException(nameof(reportRenderer)); + } + + if (@class == null) + { + throw new ArgumentNullException(nameof(@class)); + } + + if (fileAnalyses == null) + { + throw new ArgumentNullException(nameof(fileAnalyses)); + } + + reportRenderer.BeginClassReport(this.CreateTargetDirectory(), @class.DisplayName); + + if (this.ReportContext.ReportConfiguration.Title != null) + { + reportRenderer.Header($"{ReportResources.Summary} - {this.ReportContext.ReportConfiguration.Title}"); + } + else + { + reportRenderer.Header(ReportResources.Summary); + } + + bool proVersion = this.ReportContext.ReportConfiguration.License.DetermineLicenseType() == LicenseType.Pro; + + reportRenderer.BeginKeyValueTable(); + reportRenderer.KeyValueRow(ReportResources.Class, @class.DisplayName, false); + reportRenderer.KeyValueRow(ReportResources.Assembly, @class.Assembly.ShortName, false); + reportRenderer.KeyValueRow(ReportResources.Files3, @class.Files.Select(f => f.Path)); + reportRenderer.KeyValueRow(ReportResources.Coverage2, @class.CoverageQuota.HasValue ? $"{@class.CoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({@class.CoveredLines.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {@class.CoverableLines.ToString(CultureInfo.InvariantCulture)})" : string.Empty, true); + reportRenderer.KeyValueRow(ReportResources.CoveredLines, @class.CoveredLines.ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.UncoveredLines, (@class.CoverableLines - @class.CoveredLines).ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.CoverableLines, @class.CoverableLines.ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.TotalLines, @class.TotalLines.GetValueOrDefault().ToString(CultureInfo.InvariantCulture), false); + + if (@class.CoveredBranches.HasValue && @class.TotalBranches.HasValue) + { + decimal? branchCoverage = @class.BranchCoverageQuota; + + if (branchCoverage.HasValue) + { + reportRenderer.KeyValueRow(ReportResources.BranchCoverage2, $"{branchCoverage.Value.ToString(CultureInfo.InvariantCulture)}% ({@class.CoveredBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {@class.TotalBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)})", true); + } + + reportRenderer.KeyValueRow(ReportResources.CoveredBranches2, @class.CoveredBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.TotalBranches, @class.TotalBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture), false); + } + + if (proVersion) + { + reportRenderer.KeyValueRow(ReportResources.CodeElementCoverageQuota2, @class.CodeElementCoverageQuota.HasValue ? $"{@class.CodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({@class.CoveredCodeElements.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {@class.TotalCodeElements.ToString(CultureInfo.InvariantCulture)})" : string.Empty, true); + reportRenderer.KeyValueRow(ReportResources.FullCodeElementCoverageQuota2, @class.FullCodeElementCoverageQuota.HasValue ? $"{@class.FullCodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({@class.FullCoveredCodeElements.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {@class.TotalCodeElements.ToString(CultureInfo.InvariantCulture)})" : string.Empty, true); + reportRenderer.KeyValueRow(ReportResources.CoveredCodeElements, @class.CoveredCodeElements.ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.FullCoveredCodeElements, @class.FullCoveredCodeElements.ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.TotalCodeElements, @class.TotalCodeElements.ToString(CultureInfo.InvariantCulture), false); + } + else + { + reportRenderer.KeyValueRow(ReportResources.CodeElementCoverageQuota2, $"[{ReportResources.MethodCoverageProVersion}](https://reportgenerator.io/pro)", true); + } + + if (this.ReportContext.ReportConfiguration.Tag != null) + { + reportRenderer.KeyValueRow(ReportResources.Tag, this.ReportContext.ReportConfiguration.Tag, false); + } + + reportRenderer.FinishTable(); + + if (@class.Files.Any(f => f.MethodMetrics.Any())) + { + reportRenderer.Header(ReportResources.Metrics); + reportRenderer.MetricsTable(@class); + } + + reportRenderer.Header(ReportResources.Files); + + if (fileAnalyses.Any()) + { + int fileIndex = 0; + foreach (var fileAnalysis in fileAnalyses) + { + reportRenderer.File(fileAnalysis.Path); + + if (!string.IsNullOrEmpty(fileAnalysis.Error)) + { + reportRenderer.Paragraph(fileAnalysis.Error); + } + else + { + int maximumLineNumberDigits = 1; + int maximumLineVisitsDigits = 1; + + if (fileAnalysis.Lines.Any()) + { + maximumLineNumberDigits = (int)Math.Floor(Math.Log10(Math.Max(1, fileAnalysis.Lines.Max(l => l.LineNumber))) + 1); + maximumLineVisitsDigits = (int)Math.Floor(Math.Log10(Math.Max(1, fileAnalysis.Lines.Max(l => l.LineVisits))) + 1); + } + + reportRenderer.BeginLineAnalysisBlock(); + + foreach (var line in fileAnalysis.Lines) + { + reportRenderer.LineAnalysis(fileIndex, line, maximumLineNumberDigits, maximumLineVisitsDigits); + } + + reportRenderer.FinishLineAnalysisBlock(); + } + + fileIndex++; + } + } + else + { + reportRenderer.Paragraph(ReportResources.NoFilesFound); + } + + if (fileAnalyses.Any()) + { + var testMethods = @class.Files + .SelectMany(f => f.TestMethods) + .Distinct() + .OrderBy(l => l.ShortName); + + var codeElementsByFileIndex = new Dictionary>(); + + int fileIndex = 0; + foreach (var file in @class.Files) + { + codeElementsByFileIndex.Add(fileIndex++, file.CodeElements.OrderBy(c => c.FirstLine)); + } + } + } + + /// + /// Creates the summary report. + /// + /// The report renderer. + /// The summary result. + public virtual void CreateSummaryReport(IMarkdownRenderer reportRenderer, SummaryResult summaryResult) + { + if (reportRenderer == null) + { + throw new ArgumentNullException(nameof(reportRenderer)); + } + + if (summaryResult == null) + { + throw new ArgumentNullException(nameof(summaryResult)); + } + + bool proVersion = this.ReportContext.ReportConfiguration.License.DetermineLicenseType() == LicenseType.Pro; + + string title = this.ReportContext.ReportConfiguration.Title != null ? $"{ReportResources.Summary} - {this.ReportContext.ReportConfiguration.Title}" : ReportResources.Summary; + + reportRenderer.BeginSummaryReport(); + reportRenderer.Header(title); + + reportRenderer.BeginKeyValueTable(); + reportRenderer.KeyValueRow(ReportResources.GeneratedOn, DateTime.Now.ToShortDateString() + " - " + DateTime.Now.ToLongTimeString(), false); + + if (summaryResult.MinimumTimeStamp.HasValue || summaryResult.MaximumTimeStamp.HasValue) + { + reportRenderer.KeyValueRow(ReportResources.CoverageDate, summaryResult.CoverageDate(), false); + } + + var assembliesWithClasses = summaryResult.Assemblies + .Where(a => a.Classes.Any()) + .ToArray(); + + reportRenderer.KeyValueRow(ReportResources.Parser, summaryResult.UsedParser, false); + reportRenderer.KeyValueRow(ReportResources.Assemblies2, assembliesWithClasses.Count().ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.Classes, assembliesWithClasses.SelectMany(a => a.Classes).Count().ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.Files2, assembliesWithClasses.SelectMany(a => a.Classes).SelectMany(a => a.Files).Distinct().Count().ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.Coverage2, summaryResult.CoverageQuota.HasValue ? $"{summaryResult.CoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({summaryResult.CoveredLines.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {summaryResult.CoverableLines.ToString(CultureInfo.InvariantCulture)})" : string.Empty, true); + reportRenderer.KeyValueRow(ReportResources.CoveredLines, summaryResult.CoveredLines.ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.UncoveredLines, (summaryResult.CoverableLines - summaryResult.CoveredLines).ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.CoverableLines, summaryResult.CoverableLines.ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.TotalLines, summaryResult.TotalLines.GetValueOrDefault().ToString(CultureInfo.InvariantCulture), false); + + if (summaryResult.CoveredBranches.HasValue && summaryResult.TotalBranches.HasValue) + { + decimal? branchCoverage = summaryResult.BranchCoverageQuota; + + if (branchCoverage.HasValue) + { + reportRenderer.KeyValueRow(ReportResources.BranchCoverage2, $"{branchCoverage.Value.ToString(CultureInfo.InvariantCulture)}% ({summaryResult.CoveredBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {summaryResult.TotalBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)})", true); + } + + reportRenderer.KeyValueRow(ReportResources.CoveredBranches2, summaryResult.CoveredBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.TotalBranches, summaryResult.TotalBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture), false); + } + + if (proVersion) + { + reportRenderer.KeyValueRow(ReportResources.CodeElementCoverageQuota2, summaryResult.CodeElementCoverageQuota.HasValue ? $"{summaryResult.CodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({summaryResult.CoveredCodeElements.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {summaryResult.TotalCodeElements.ToString(CultureInfo.InvariantCulture)})" : string.Empty, true); + reportRenderer.KeyValueRow(ReportResources.FullCodeElementCoverageQuota2, summaryResult.FullCodeElementCoverageQuota.HasValue ? $"{summaryResult.FullCodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({summaryResult.FullCoveredCodeElements.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {summaryResult.TotalCodeElements.ToString(CultureInfo.InvariantCulture)})" : string.Empty, true); + reportRenderer.KeyValueRow(ReportResources.CoveredCodeElements, summaryResult.CoveredCodeElements.ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.FullCoveredCodeElements, summaryResult.FullCoveredCodeElements.ToString(CultureInfo.InvariantCulture), false); + reportRenderer.KeyValueRow(ReportResources.TotalCodeElements, summaryResult.TotalCodeElements.ToString(CultureInfo.InvariantCulture), false); + } + else + { + reportRenderer.KeyValueRow(ReportResources.CodeElementCoverageQuota2, $"[{ReportResources.MethodCoverageProVersion}](https://reportgenerator.io/pro)", true); + } + + if (this.ReportContext.ReportConfiguration.Tag != null) + { + reportRenderer.KeyValueRow(ReportResources.Tag, this.ReportContext.ReportConfiguration.Tag, false); + } + + reportRenderer.FinishTable(); + + var sumableMetrics = summaryResult.SumableMetrics; + + if (sumableMetrics.Count > 0) + { + reportRenderer.Header(ReportResources.Metrics); + + var methodMetric = new MethodMetric(ReportResources.Total, ReportResources.Total, sumableMetrics); + reportRenderer.MetricsTable(new[] { methodMetric }); + } + + if (this.ReportContext.RiskHotspotAnalysisResult != null + && this.ReportContext.RiskHotspotAnalysisResult.CodeCodeQualityMetricsAvailable) + { + reportRenderer.Header(ReportResources.RiskHotspots); + + if (this.ReportContext.RiskHotspotAnalysisResult.RiskHotspots.Count > 0) + { + reportRenderer.RiskHotspots(this.ReportContext.RiskHotspotAnalysisResult.RiskHotspots, this.WithLinks); + } + else + { + reportRenderer.Paragraph(ReportResources.NoRiskHotspots); + } + } + + reportRenderer.Header(ReportResources.Coverage3); + + if (assembliesWithClasses.Any()) + { + reportRenderer.BeginSummaryTable(summaryResult.SupportsBranchCoverage, proVersion); + + foreach (var assembly in assembliesWithClasses) + { + reportRenderer.SummaryAssembly(assembly, summaryResult.SupportsBranchCoverage, proVersion); + + foreach (var @class in assembly.Classes) + { + reportRenderer.SummaryClass(@class, summaryResult.SupportsBranchCoverage, proVersion, this.WithLinks); + } + } + + reportRenderer.FinishTable(); + } + else + { + reportRenderer.Paragraph(ReportResources.NoCoveredAssemblies); + } + + reportRenderer.SaveSummaryReport(this.CreateTargetDirectory()); + } + + /// + /// Creates a class report. + /// + /// The class. + /// The file analyses that correspond to the class. + public abstract void CreateClassReport(Class @class, IEnumerable fileAnalyses); + + /// + /// Creates the summary report. + /// + /// The summary result. + public abstract void CreateSummaryReport(SummaryResult summaryResult); + + /// + /// Creates the target directory. + /// + /// The target directory. + protected string CreateTargetDirectory() + { + string targetDirectory = this.ReportContext.ReportConfiguration.TargetDirectory; + + if (this.ReportContext.Settings.CreateSubdirectoryForAllReportTypes) + { + targetDirectory = Path.Combine(targetDirectory, this.ReportType); + + if (!Directory.Exists(targetDirectory)) + { + try + { + Directory.CreateDirectory(targetDirectory); + } + catch (Exception ex) + { + Logger.ErrorFormat(Resources.TargetDirectoryCouldNotBeCreated, targetDirectory, ex.GetExceptionMessageForDisplay()); + throw; + } + } + } + + return targetDirectory; + } + } +} diff --git a/src/ReportGenerator.Core/Reporting/Builders/MarkdownSummaryReportBuilder.cs b/src/ReportGenerator.Core/Reporting/Builders/MarkdownSummaryReportBuilder.cs index a8cca459..bfb230f7 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/MarkdownSummaryReportBuilder.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/MarkdownSummaryReportBuilder.cs @@ -1,48 +1,28 @@ -using System; using System.Collections.Generic; -using System.Globalization; -using System.IO; -using System.Linq; -using Palmmedia.ReportGenerator.Core.Common; -using Palmmedia.ReportGenerator.Core.Licensing; -using Palmmedia.ReportGenerator.Core.Logging; using Palmmedia.ReportGenerator.Core.Parser.Analysis; -using Palmmedia.ReportGenerator.Core.Properties; +using Palmmedia.ReportGenerator.Core.Reporting.Builders.Rendering; namespace Palmmedia.ReportGenerator.Core.Reporting.Builders { /// /// Creates summary report in Markdown format (no reports for classes are generated). /// - public class MarkdownSummaryReportBuilder : IReportBuilder + public class MarkdownSummaryReportBuilder : MarkdownReportBuilderBase { - /// - /// The Logger. - /// - private static readonly ILogger Logger = LoggerFactory.GetLogger(typeof(MarkdownSummaryReportBuilder)); - /// /// Gets the report type. /// /// - /// The report type. - /// - public string ReportType => "MarkdownSummary"; - - /// - /// Gets or sets the report context. - /// - /// - /// The report context. + /// The report format. /// - public IReportContext ReportContext { get; set; } + public override string ReportType => "MarkdownSummary"; /// /// Creates a class report. /// /// The class. /// The file analyses that correspond to the class. - public void CreateClassReport(Class @class, IEnumerable fileAnalyses) + public override void CreateClassReport(Class @class, IEnumerable fileAnalyses) { } @@ -50,215 +30,11 @@ public void CreateClassReport(Class @class, IEnumerable fileAnalys /// Creates the summary report. /// /// The summary result. - public void CreateSummaryReport(SummaryResult summaryResult) + public override void CreateSummaryReport(SummaryResult summaryResult) { - if (summaryResult == null) - { - throw new ArgumentNullException(nameof(summaryResult)); - } - - string targetDirectory = this.ReportContext.ReportConfiguration.TargetDirectory; - - if (this.ReportContext.Settings.CreateSubdirectoryForAllReportTypes) + using (var renderer = new MarkdownRenderer()) { - targetDirectory = Path.Combine(targetDirectory, this.ReportType); - - if (!Directory.Exists(targetDirectory)) - { - try - { - Directory.CreateDirectory(targetDirectory); - } - catch (Exception ex) - { - Logger.ErrorFormat(Resources.TargetDirectoryCouldNotBeCreated, targetDirectory, ex.GetExceptionMessageForDisplay()); - return; - } - } - } - - string targetPath = Path.Combine(targetDirectory, "Summary.md"); - - bool proVersion = this.ReportContext.ReportConfiguration.License.DetermineLicenseType() == LicenseType.Pro; - - Logger.InfoFormat(Resources.WritingReportFile, targetPath); - - using (var reportTextWriter = File.CreateText(targetPath)) - { - var assembliesWithClasses = summaryResult.Assemblies - .Where(a => a.Classes.Any()) - .ToArray(); - - if (this.ReportContext.ReportConfiguration.Title != null) - { - reportTextWriter.WriteLine("# {0} - {1}", ReportResources.Summary, this.ReportContext.ReportConfiguration.Title); - } - else - { - reportTextWriter.WriteLine("# {0}", ReportResources.Summary); - } - - reportTextWriter.WriteLine("|||"); - reportTextWriter.WriteLine("|:---|:---|"); - reportTextWriter.WriteLine("| {0} | {1} |", ReportResources.GeneratedOn, DateTime.Now.ToShortDateString() + " - " + DateTime.Now.ToLongTimeString()); - - if (summaryResult.MinimumTimeStamp.HasValue || summaryResult.MaximumTimeStamp.HasValue) - { - reportTextWriter.WriteLine("| {0} | {1} |", ReportResources.CoverageDate, summaryResult.CoverageDate()); - } - - reportTextWriter.WriteLine("| {0} | {1} |", ReportResources.Parser, summaryResult.UsedParser); - reportTextWriter.WriteLine("| {0} | {1} |", ReportResources.Assemblies2, assembliesWithClasses.Count().ToString(CultureInfo.InvariantCulture)); - reportTextWriter.WriteLine("| {0} | {1} |", ReportResources.Classes, assembliesWithClasses.SelectMany(a => a.Classes).Count().ToString(CultureInfo.InvariantCulture)); - reportTextWriter.WriteLine("| {0} | {1} |", ReportResources.Files2, assembliesWithClasses.SelectMany(a => a.Classes).SelectMany(a => a.Files).Distinct().Count().ToString(CultureInfo.InvariantCulture)); - reportTextWriter.WriteLine("| **{0}** | {1} |", ReportResources.Coverage2, summaryResult.CoverageQuota.HasValue ? $"{summaryResult.CoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({summaryResult.CoveredLines.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {summaryResult.CoverableLines.ToString(CultureInfo.InvariantCulture)})" : string.Empty); - reportTextWriter.WriteLine("| {0} | {1} |", ReportResources.CoveredLines, summaryResult.CoveredLines.ToString(CultureInfo.InvariantCulture)); - reportTextWriter.WriteLine("| {0} | {1} |", ReportResources.UncoveredLines, (summaryResult.CoverableLines - summaryResult.CoveredLines).ToString(CultureInfo.InvariantCulture)); - reportTextWriter.WriteLine("| {0} | {1} |", ReportResources.CoverableLines, summaryResult.CoverableLines.ToString(CultureInfo.InvariantCulture)); - reportTextWriter.WriteLine("| {0} | {1} |", ReportResources.TotalLines, summaryResult.TotalLines.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)); - - if (summaryResult.SupportsBranchCoverage) - { - if (summaryResult.CoveredBranches.HasValue && summaryResult.TotalBranches.HasValue) - { - decimal? branchCoverage = summaryResult.BranchCoverageQuota; - - if (branchCoverage.HasValue) - { - reportTextWriter.WriteLine("| **{0}** | {1} |", ReportResources.BranchCoverage2, $"{branchCoverage.Value.ToString(CultureInfo.InvariantCulture)}% ({summaryResult.CoveredBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {summaryResult.TotalBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)})"); - } - - reportTextWriter.WriteLine("| {0} | {1} |", ReportResources.CoveredBranches2, summaryResult.CoveredBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)); - reportTextWriter.WriteLine("| {0} | {1} |", ReportResources.TotalBranches, summaryResult.TotalBranches.GetValueOrDefault().ToString(CultureInfo.InvariantCulture)); - } - } - - if (proVersion) - { - reportTextWriter.WriteLine("| **{0}** | {1} |", ReportResources.CodeElementCoverageQuota2, summaryResult.CodeElementCoverageQuota.HasValue ? $"{summaryResult.CodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({summaryResult.CoveredCodeElements.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {summaryResult.TotalCodeElements.ToString(CultureInfo.InvariantCulture)})" : string.Empty); - reportTextWriter.WriteLine("| **{0}** | {1} |", ReportResources.FullCodeElementCoverageQuota2, summaryResult.FullCodeElementCoverageQuota.HasValue ? $"{summaryResult.FullCodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture)}% ({summaryResult.FullCoveredCodeElements.ToString(CultureInfo.InvariantCulture)} {ReportResources.Of} {summaryResult.TotalCodeElements.ToString(CultureInfo.InvariantCulture)})" : string.Empty); - reportTextWriter.WriteLine("| {0} | {1} |", ReportResources.CoveredCodeElements, summaryResult.CoveredCodeElements.ToString(CultureInfo.InvariantCulture)); - reportTextWriter.WriteLine("| {0} | {1} |", ReportResources.FullCoveredCodeElements, summaryResult.FullCoveredCodeElements.ToString(CultureInfo.InvariantCulture)); - reportTextWriter.WriteLine("| {0} | {1} |", ReportResources.TotalCodeElements, summaryResult.TotalCodeElements.ToString(CultureInfo.InvariantCulture)); - } - else - { - reportTextWriter.WriteLine("| **{0}** | [{1}](https://reportgenerator.io/pro) |", ReportResources.CodeElementCoverageQuota2, ReportResources.MethodCoverageProVersion); - } - - if (this.ReportContext.ReportConfiguration.Tag != null) - { - reportTextWriter.WriteLine("| {0} | {1} |", ReportResources.Tag, this.ReportContext.ReportConfiguration.Tag); - } - - reportTextWriter.WriteLine(); - - if (assembliesWithClasses.Any()) - { - reportTextWriter.Write( - "|**{0}**|**{1}**|**{2}**|**{3}**|**{4}**|**{5}**|", - ReportResources.Name, - ReportResources.Covered, - ReportResources.Uncovered, - ReportResources.Coverable, - ReportResources.Total, - ReportResources.Coverage); - - if (summaryResult.SupportsBranchCoverage) - { - reportTextWriter.Write( - "**{0}**|**{1}**|**{2}**|", - ReportResources.Covered, - ReportResources.Total, - ReportResources.BranchCoverage); - } - - if (proVersion) - { - reportTextWriter.Write( - "**{0}**|**{1}**|**{2}**|**{3}**|", - ReportResources.Covered, - ReportResources.Total, - ReportResources.CodeElementCoverageQuota, - ReportResources.FullCodeElementCoverageQuota); - } - - reportTextWriter.WriteLine(); - - reportTextWriter.Write("|:---|---:|---:|---:|---:|---:|"); - - if (summaryResult.SupportsBranchCoverage) - { - reportTextWriter.Write("---:|---:|---:|"); - } - - if (proVersion) - { - reportTextWriter.Write("---:|---:|---:|---:|"); - } - - reportTextWriter.WriteLine(); - - foreach (var assembly in assembliesWithClasses) - { - reportTextWriter.Write("|**{0}**", assembly.Name); - reportTextWriter.Write("|**{0}**", assembly.CoveredLines); - reportTextWriter.Write("|**{0}**", assembly.CoverableLines - assembly.CoveredLines); - reportTextWriter.Write("|**{0}**", assembly.CoverableLines); - reportTextWriter.Write("|**{0}**", assembly.TotalLines.GetValueOrDefault()); - reportTextWriter.Write("|**{0}**", assembly.CoverageQuota.HasValue ? assembly.CoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty); - - if (summaryResult.SupportsBranchCoverage) - { - reportTextWriter.Write("|**{0}**", assembly.CoveredBranches); - reportTextWriter.Write("|**{0}**", assembly.TotalBranches); - reportTextWriter.Write("|**{0}**", assembly.BranchCoverageQuota.HasValue ? assembly.BranchCoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty); - } - - if (proVersion) - { - reportTextWriter.Write("|**{0}**", assembly.CoveredCodeElements); - reportTextWriter.Write("|**{0}**", assembly.TotalCodeElements); - reportTextWriter.Write("|**{0}**", assembly.CodeElementCoverageQuota.HasValue ? assembly.CodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty); - reportTextWriter.Write("|**{0}**", assembly.FullCodeElementCoverageQuota.HasValue ? assembly.FullCodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty); - } - - reportTextWriter.WriteLine("|"); - - foreach (var @class in assembly.Classes) - { - reportTextWriter.Write("|{0}", @class.Name); - reportTextWriter.Write("|{0}", @class.CoveredLines); - reportTextWriter.Write("|{0}", @class.CoverableLines - @class.CoveredLines); - reportTextWriter.Write("|{0}", @class.CoverableLines); - reportTextWriter.Write("|{0}", @class.TotalLines.GetValueOrDefault()); - reportTextWriter.Write("|{0}", @class.CoverageQuota.HasValue ? @class.CoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty); - - if (summaryResult.SupportsBranchCoverage) - { - reportTextWriter.Write("|{0}", @class.CoveredBranches); - reportTextWriter.Write("|{0}", @class.TotalBranches); - reportTextWriter.Write("|{0}", @class.BranchCoverageQuota.HasValue ? @class.BranchCoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty); - } - - if (proVersion) - { - reportTextWriter.Write("|{0}", @class.CoveredCodeElements); - reportTextWriter.Write("|{0}", @class.TotalCodeElements); - reportTextWriter.Write("|{0}", @class.CodeElementCoverageQuota.HasValue ? @class.CodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty); - reportTextWriter.Write("|{0}", @class.FullCodeElementCoverageQuota.HasValue ? @class.FullCodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty); - } - - reportTextWriter.WriteLine("|"); - } - } - } - else - { - reportTextWriter.WriteLine(ReportResources.NoCoveredAssemblies); - } - - reportTextWriter.Flush(); + this.CreateSummaryReport(renderer, summaryResult); } } } diff --git a/src/ReportGenerator.Core/Reporting/Builders/MhtmlReportBuilder.cs b/src/ReportGenerator.Core/Reporting/Builders/MhtmlReportBuilder.cs index 4d8daeb7..928d876f 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/MhtmlReportBuilder.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/MhtmlReportBuilder.cs @@ -22,7 +22,7 @@ public class MhtmlReportBuilder : IReportBuilder /// /// The . /// - private readonly IReportBuilder htmlReportBuilder = new HtmlReportBuilder(false); + private readonly IReportBuilder htmlReportBuilder = new HtmlInlineCssAndJavaScriptReportBuilder(); /// /// The report context. @@ -117,20 +117,6 @@ private static void WriteFile(StreamWriter writer, string filePath, string conte writer.WriteLine(); } - /// - /// Adds the 'file:///' prefix for CSS and java script links. - /// - /// The content. - /// The processed content. - private static string AddFilePrefixForCssAndJavaScript(string content) - { - content = content.Replace("", ""); - content = content.Replace("", ""); - content = content.Replace("", ""); - - return content; - } - /// /// Creates the MHTML file. /// @@ -172,7 +158,6 @@ private void CreateMhtmlFile() string file = "index.html"; string content = File.ReadAllText(Path.Combine(htmlReportTargetDirectory, file)); - content = AddFilePrefixForCssAndJavaScript(content); content = content.Replace(" private readonly HtmlMode htmlMode; + /// + /// Indicating whether all dates should be included in charts. + /// + + private readonly bool includeAllDatesInCharts; + /// /// Contains report specific JavaScript content. /// @@ -81,6 +87,7 @@ internal class HtmlRenderer : IHtmlRenderer, IDisposable /// private bool classReport; + /// /// Initializes a new instance of the class. /// @@ -89,12 +96,14 @@ internal class HtmlRenderer : IHtmlRenderer, IDisposable /// Defines how CSS and JavaScript are referenced. /// Optional CSS file resource. /// Optional additional CSS file resource. + /// Indicating whether all dates should be included in charts. internal HtmlRenderer( IDictionary fileNameByClass, bool onlySummary, HtmlMode htmlMode, string cssFileResource = "custom.css", - string additionalCssFileResource = "custom_adaptive.css") + string additionalCssFileResource = "custom_adaptive.css", + bool includeAllDatesInCharts = false) { this.fileNameByClass = fileNameByClass; this.onlySummary = onlySummary; @@ -102,6 +111,7 @@ internal HtmlRenderer( this.javaScriptContent = StringBuilderCache.Get(); this.cssFileResource = cssFileResource; this.additionalCssFileResources = additionalCssFileResource == null ? new string[0] : new[] { additionalCssFileResource }; + this.includeAllDatesInCharts = includeAllDatesInCharts; } /// @@ -112,12 +122,14 @@ internal HtmlRenderer( /// Defines how CSS and JavaScript are referenced. /// Optional additional CSS file resources. /// Optional CSS file resource. + /// Indicating whether all dates should be included in charts. internal HtmlRenderer( IDictionary fileNameByClass, bool onlySummary, HtmlMode htmlMode, string[] additionalCssFileResources, - string cssFileResource = "custom.css") + string cssFileResource = "custom.css", + bool includeAllDatesInCharts = false) { this.fileNameByClass = fileNameByClass; this.onlySummary = onlySummary; @@ -125,6 +137,7 @@ internal HtmlRenderer( this.javaScriptContent = StringBuilderCache.Get(); this.additionalCssFileResources = additionalCssFileResources ?? new string[0]; this.cssFileResource = cssFileResource; + this.includeAllDatesInCharts = includeAllDatesInCharts; } /// @@ -390,13 +403,13 @@ public void BeginSummaryTable(bool branchCoverageAvailable, bool methodCoverageA this.reportTextWriter.WriteLine(""); this.reportTextWriter.WriteLine(""); this.reportTextWriter.WriteLine(""); - this.reportTextWriter.WriteLine(""); + this.reportTextWriter.WriteLine(""); this.reportTextWriter.WriteLine(""); if (branchCoverageAvailable) { this.reportTextWriter.WriteLine(""); this.reportTextWriter.WriteLine(""); - this.reportTextWriter.WriteLine(""); + this.reportTextWriter.WriteLine(""); this.reportTextWriter.WriteLine(""); } @@ -404,12 +417,12 @@ public void BeginSummaryTable(bool branchCoverageAvailable, bool methodCoverageA { this.reportTextWriter.WriteLine(""); this.reportTextWriter.WriteLine(""); - this.reportTextWriter.WriteLine(""); + this.reportTextWriter.WriteLine(""); this.reportTextWriter.WriteLine(""); this.reportTextWriter.WriteLine(""); this.reportTextWriter.WriteLine(""); - this.reportTextWriter.WriteLine(""); + this.reportTextWriter.WriteLine(""); this.reportTextWriter.WriteLine(""); } @@ -479,7 +492,12 @@ public void BeginSummaryTable(bool branchCoverageAvailable, bool methodCoverageA } /// - public void CustomSummary(IEnumerable assemblies, IEnumerable riskHotspots, bool branchCoverageAvailable, bool methodCoverageAvailable) + public void CustomSummary( + IEnumerable assemblies, + IEnumerable riskHotspots, + bool branchCoverageAvailable, + bool methodCoverageAvailable, + bool applyMaximumGroupingLevel) { if (assemblies == null) { @@ -751,6 +769,7 @@ void WriteMetricsCoverage() this.javaScriptContent.AppendLine("var branchCoverageAvailable = " + branchCoverageAvailable.ToString().ToLowerInvariant() + ";"); this.javaScriptContent.AppendLine("var methodCoverageAvailable = " + methodCoverageAvailable.ToString().ToLowerInvariant() + ";"); + this.javaScriptContent.AppendLine("var applyMaximumGroupingLevel = " + applyMaximumGroupingLevel.ToString().ToLowerInvariant() + ";"); this.javaScriptContent.AppendLine("var maximumDecimalPlacesForCoverageQuotas = " + MathExtensions.MaximumDecimalPlaces + ";"); this.javaScriptContent.AppendLine(); } @@ -1062,18 +1081,20 @@ void WriteSeries(TextWriter series) series.Write(", "); } + series.Write("{ 'meta': "); + series.Write(i); + series.Write(", 'value': "); + if (filteredHistoricCoverages[i].CoverageQuota.HasValue) { - series.Write("{ 'meta': "); - series.Write(i); - series.Write(", 'value': "); series.Write(filteredHistoricCoverages[i].CoverageQuota.Value.ToString(CultureInfo.InvariantCulture)); - series.Write(" }"); } else { series.Write("null"); } + + series.Write(" }"); } } @@ -1089,18 +1110,20 @@ void WriteSeries(TextWriter series) series.Write(", "); } + series.Write("{ 'meta': "); + series.Write(i); + series.Write(", 'value': "); + if (filteredHistoricCoverages[i].BranchCoverageQuota.HasValue) { - series.Write("{ 'meta': "); - series.Write(i); - series.Write(", 'value': "); series.Write(filteredHistoricCoverages[i].BranchCoverageQuota.Value.ToString(CultureInfo.InvariantCulture)); - series.Write(" }"); } else { series.Write("null"); } + + series.Write(" }"); } } @@ -1116,18 +1139,20 @@ void WriteSeries(TextWriter series) series.Write(", "); } + series.Write("{ 'meta': "); + series.Write(i); + series.Write(", 'value': "); + if (filteredHistoricCoverages[i].CodeElementCoverageQuota.HasValue) { - series.Write("{ 'meta': "); - series.Write(i); - series.Write(", 'value': "); series.Write(filteredHistoricCoverages[i].CodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture)); - series.Write(" }"); } else { series.Write("null"); } + + series.Write(" }"); } } @@ -1143,18 +1168,20 @@ void WriteSeries(TextWriter series) series.Write(", "); } + series.Write("{ 'meta': "); + series.Write(i); + series.Write(", 'value': "); + if (filteredHistoricCoverages[i].FullCodeElementCoverageQuota.HasValue) { - series.Write("{ 'meta': "); - series.Write(i); - series.Write(", 'value': "); series.Write(filteredHistoricCoverages[i].FullCodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture)); - series.Write(" }"); } else { series.Write("null"); } + + series.Write(" }"); } } @@ -1354,6 +1381,12 @@ public void SummaryClass(Class @class, bool branchCoverageAvailable, bool method string filenameColumn = @class.Name; + var historicCoverages = this.FilterHistoricCoverages(@class.HistoricCoverages, 10); + var lineCoverageHistory = historicCoverages.Select(h => h.CoverageQuota); + var branchCoverageHistory = historicCoverages.Select(h => h.BranchCoverageQuota); + var methodCoverageHistory = historicCoverages.Select(h => h.CodeElementCoverageQuota); + var methodFullCoverageHistory = historicCoverages.Select(h => h.FullCodeElementCoverageQuota); + if (!this.onlySummary) { filenameColumn = string.Format( @@ -1370,8 +1403,12 @@ public void SummaryClass(Class @class, bool branchCoverageAvailable, bool method this.reportTextWriter.Write("{0}", @class.CoverableLines); this.reportTextWriter.Write("{0}", @class.TotalLines.GetValueOrDefault()); this.reportTextWriter.Write( - "{1}", + "{1}{2}", @class.CoverageQuota.HasValue ? $"{@class.CoveredLines}/{@class.CoverableLines}" : string.Empty, + GenerateTinyCoverageChart( + "tinylinecoveragechart", + ReportResources.History + ": " + ReportResources.Coverage, + lineCoverageHistory), @class.CoverageQuota.HasValue ? @class.CoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty); WriteCoverageTable(this.reportTextWriter, "td", @class.CoverageQuota); @@ -1381,8 +1418,12 @@ public void SummaryClass(Class @class, bool branchCoverageAvailable, bool method this.reportTextWriter.Write("{0}", @class.CoveredBranches); this.reportTextWriter.Write("{0}", @class.TotalBranches); this.reportTextWriter.Write( - "{1}", + "{1}{2}", @class.BranchCoverageQuota.HasValue ? $"{@class.CoveredBranches}/{@class.TotalBranches}" : "-", + GenerateTinyCoverageChart( + "tinybranchcoveragechart", + ReportResources.History + ": " + ReportResources.BranchCoverage, + branchCoverageHistory), @class.BranchCoverageQuota.HasValue ? @class.BranchCoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty); WriteCoverageTable(this.reportTextWriter, "td", @class.BranchCoverageQuota); } @@ -1392,16 +1433,24 @@ public void SummaryClass(Class @class, bool branchCoverageAvailable, bool method this.reportTextWriter.Write("{0}", @class.CoveredCodeElements); this.reportTextWriter.Write("{0}", @class.TotalCodeElements); this.reportTextWriter.Write( - "{1}", + "{1}{2}", @class.CodeElementCoverageQuota.HasValue ? $"{@class.CoveredCodeElements}/{@class.TotalCodeElements}" : "-", + GenerateTinyCoverageChart( + "tinymethodcoveragechart", + ReportResources.History + ": " + ReportResources.CodeElementCoverageQuota, + methodCoverageHistory), @class.CodeElementCoverageQuota.HasValue ? @class.CodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty); WriteCoverageTable(this.reportTextWriter, "td", @class.CodeElementCoverageQuota); this.reportTextWriter.Write("{0}", @class.FullCoveredCodeElements); this.reportTextWriter.Write("{0}", @class.TotalCodeElements); this.reportTextWriter.Write( - "{1}", + "{1}{2}", @class.FullCodeElementCoverageQuota.HasValue ? $"{@class.FullCoveredCodeElements}/{@class.TotalCodeElements}" : "-", + GenerateTinyCoverageChart( + "tinyfullmethodcoveragechart", + ReportResources.History + ": " + ReportResources.FullCodeElementCoverageQuota, + methodFullCoverageHistory), @class.FullCodeElementCoverageQuota.HasValue ? @class.FullCodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty); WriteCoverageTable(this.reportTextWriter, "td", @class.FullCodeElementCoverageQuota); } @@ -1521,6 +1570,44 @@ private static string ConvertToCssClass(LineVisitStatus lineVisitStatus, bool li } } + private static string GenerateTinyCoverageChart( + string cssClass, + string title, + IEnumerable values) + { + string result = string.Empty; + + if (!values.Any(v => v.HasValue)) + { + return result; + } + + var historicCoverages = values.Select(v => v.GetValueOrDefault()).ToArray(); + + if (historicCoverages.Length < 2) + { + return result; + } + + string path = string.Empty; + + for (int i = 0; i < historicCoverages.Length; i++) + { + path += i == 0 ? "M" : "L"; + path += $"{(30m * i / (historicCoverages.Length - 1)).ToString(CultureInfo.InvariantCulture)}"; + path += $",{(18 - (18 * historicCoverages[i] / 100)).ToString(CultureInfo.InvariantCulture)}"; + } + + result = string.Format( + CultureInfo.InvariantCulture, + "
", + cssClass, + title, + path); + + return result; + } + private static string GetTooltip(LineAnalysis analysis) { string branchRate = string.Empty; @@ -1530,22 +1617,46 @@ private static string GetTooltip(LineAnalysis analysis) branchRate = ", " + string.Format(ReportResources.CoveredBranches, analysis.CoveredBranches, analysis.TotalBranches); } + string result; + if (analysis.LineVisitStatus == LineVisitStatus.Covered) { - return string.Format(ReportResources.CoverageTooltip_Covered, analysis.LineVisits, branchRate); + result = string.Format(ReportResources.CoverageTooltip_Covered, analysis.LineVisits, branchRate); } else if (analysis.LineVisitStatus == LineVisitStatus.PartiallyCovered) { - return string.Format(ReportResources.CoverageTooltip_PartiallyCovered, analysis.LineVisits, branchRate); + result = string.Format(ReportResources.CoverageTooltip_PartiallyCovered, analysis.LineVisits, branchRate); } else if (analysis.LineVisitStatus == LineVisitStatus.NotCovered) { - return string.Format(ReportResources.CoverageTooltip_NotCovered, analysis.LineVisits, branchRate); + result = string.Format(ReportResources.CoverageTooltip_NotCovered, analysis.LineVisits, branchRate); } else { - return ReportResources.CoverageTooltip_NotCoverable; + result = ReportResources.CoverageTooltip_NotCoverable; + return result; } + + if (analysis.CtcDetails != null) + { + if (analysis.CtcDetails.TrueFalseCombinations.Count > 0) + { + result += string.Format( + "\r\n\r\n{0}\r\n{1}", + ReportResources.TrueFalseCombinations, + string.Join("\r\n", analysis.CtcDetails.TrueFalseCombinations.Select(c => (c.Achived ? "\u2713" : "\u2715") + " " + c.Description))); + } + + if (analysis.CtcDetails.Mcdcs.Count > 0) + { + result += string.Format( + "\r\n\r\n{0}\r\n{1}", + ReportResources.McdcCoverage, + string.Join("\r\n", analysis.CtcDetails.Mcdcs.Select(c => (c.Achived ? "\u2713" : "\u2715") + " " + c.Description))); + } + } + + return result; } private void WriteHtmlStart(TextWriter writer, string title, string subtitle) @@ -1971,7 +2082,9 @@ private List FilterHistoricCoverages(IEnumerableThe risk hotspots. /// if set to true branch coverage is available. /// if set to true method coverage is available. - void CustomSummary(IEnumerable assemblies, IEnumerable riskHotspots, bool branchCoverageAvailable, bool methodCoverageAvailable); + /// if set to true the maximum grouping level should be applied instead of the default 'By assembly' grouping. + void CustomSummary( + IEnumerable assemblies, + IEnumerable riskHotspots, + bool branchCoverageAvailable, + bool methodCoverageAvailable, + bool applyMaximumGroupingLevel); /// /// Adds a file analysis table to the report. diff --git a/src/ReportGenerator.Core/Reporting/Builders/Rendering/ILatexRenderer.cs b/src/ReportGenerator.Core/Reporting/Builders/Rendering/ILatexRenderer.cs index 9e145892..1eae46a3 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/Rendering/ILatexRenderer.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/Rendering/ILatexRenderer.cs @@ -54,15 +54,15 @@ public interface ILatexRenderer /// /// Adds a file analysis table to the report. /// - /// The headers. - void BeginLineAnalysisTable(IEnumerable headers); + void BeginLineAnalysisTable(); /// /// Adds a table row with two cells to the report. /// /// The text of the first column. /// The text of the second column. - void KeyValueRow(string key, string value); + /// Indicates whether the key should be emphasized. + void KeyValueRow(string key, string value, bool emphasize); /// /// Adds a table row with two cells to the report. diff --git a/src/ReportGenerator.Core/Reporting/Builders/Rendering/IMarkdownRenderer.cs b/src/ReportGenerator.Core/Reporting/Builders/Rendering/IMarkdownRenderer.cs new file mode 100644 index 00000000..0b11fe8e --- /dev/null +++ b/src/ReportGenerator.Core/Reporting/Builders/Rendering/IMarkdownRenderer.cs @@ -0,0 +1,135 @@ +using System.Collections.Generic; +using Palmmedia.ReportGenerator.Core.CodeAnalysis; +using Palmmedia.ReportGenerator.Core.Parser.Analysis; + +namespace Palmmedia.ReportGenerator.Core.Reporting.Builders.Rendering +{ + /// + /// Markdown report renderer. + /// + public interface IMarkdownRenderer + { + /// + /// Begins the summary report. + /// + void BeginSummaryReport(); + + /// + /// Begins the class report. + /// + /// The target directory. + /// Display name of the class. + void BeginClassReport(string targetDirectory, string classDisplayName); + + /// + /// Adds a header to the report. + /// + /// The text. + void Header(string text); + + /// + /// Adds a file of a class to a report. + /// + /// The path of the file. + void File(string path); + + /// + /// Adds a paragraph to the report. + /// + /// The text. + void Paragraph(string text); + + /// + /// Adds a table with two columns to the report. + /// + void BeginKeyValueTable(); + + /// + /// Adds a summary table to the report. + /// + /// if set to true branch coverage is available. + /// if set to true method coverage is available. + void BeginSummaryTable(bool branchCoverageAvailable, bool methodCoverageAvailable); + + /// + /// Adds a file analysis block to the report. + /// + void BeginLineAnalysisBlock(); + + /// + /// Finishes the current file analysis block. + /// + void FinishLineAnalysisBlock(); + + /// + /// Adds a table row with two cells to the report. + /// + /// The text of the first column. + /// The text of the second column. + /// Indicates whether the key should be emphasized. + void KeyValueRow(string key, string value, bool emphasize); + + /// + /// Adds a table row with two cells to the report. + /// + /// The text of the first column. + /// The files. + void KeyValueRow(string key, IEnumerable files); + + /// + /// Adds metrics to the report. + /// + /// The class. + void MetricsTable(Class @class); + + /// + /// Adds metrics to the report. + /// + /// The method metrics. + void MetricsTable(IEnumerable methodMetrics); + + /// + /// Adds the coverage information of a single line of a file to the report. + /// + /// The index of the file. + /// The line analysis. + /// The maximum line number digits. + /// The maximum number of line visits digits. + void LineAnalysis(int fileIndex, LineAnalysis analysis, int maximumLineNumberDigits, int maximumLineVisitsDigits); + + /// + /// Finishes the current table. + /// + void FinishTable(); + + /// + /// Summary of risk hotspots. + /// + /// The risk hotspots. + /// if set to true links to the classes are included. + void RiskHotspots(IEnumerable riskHotspots, bool withLinks); + + /// + /// Adds the coverage information of an assembly to the report. + /// + /// The assembly. + /// if set to true branch coverage is available. + /// if set to true method coverage is available. + void SummaryAssembly(Assembly assembly, bool branchCoverageAvailable, bool methodCoverageAvailable); + + /// + /// Adds the coverage information of a class to the report. + /// + /// The class. + /// if set to true branch coverage is available. + /// if set to true method coverage is available. + /// if set to true links to the classes are included. + void SummaryClass(Class @class, bool branchCoverageAvailable, bool methodCoverageAvailable, bool withLinks); + + /// + /// Saves a summary report. + /// + /// The target directory. + void SaveSummaryReport(string targetDirectory); + } +} diff --git a/src/ReportGenerator.Core/Reporting/Builders/Rendering/LatexRenderer.cs b/src/ReportGenerator.Core/Reporting/Builders/Rendering/LatexRenderer.cs index 5233ddfc..74416102 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/Rendering/LatexRenderer.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/Rendering/LatexRenderer.cs @@ -180,7 +180,6 @@ public void BeginSummaryTable(bool branchCoverageAvailable, bool methodCoverageA } this.reportTextWriter.WriteLine("r|}"); - this.reportTextWriter.WriteLine(@"\hline"); this.reportTextWriter.Write( "\\textbf{{{0}}} & \\textbf{{{1}}} & \\textbf{{{2}}} & \\textbf{{{3}}} & \\textbf{{{4}}} & \\textbf{{{5}}}", @@ -206,25 +205,36 @@ public void BeginSummaryTable(bool branchCoverageAvailable, bool methodCoverageA } this.reportTextWriter.WriteLine(@"\\"); - this.reportTextWriter.WriteLine(@"\hline"); } /// - public void BeginLineAnalysisTable(IEnumerable headers) + public void BeginLineAnalysisTable() { this.reportTextWriter.WriteLine(@"\begin{longtable}[l]{lrrll}"); - this.reportTextWriter.Write(string.Join(" & ", headers.Select(h => @"\textbf{" + EscapeLatexChars(h) + "}"))); - this.reportTextWriter.WriteLine(@"\\"); + this.reportTextWriter.WriteLine($@" & \textbf{{\#}} & \textbf{{{EscapeLatexChars(ReportResources.Line)}}} & & \textbf{{{EscapeLatexChars(ReportResources.Coverage)}}}** \\"); } /// - public void KeyValueRow(string key, string value) + public void KeyValueRow(string key, string value, bool emphasized) { - string row = string.Format( - CultureInfo.InvariantCulture, - @"\textbf{{{0}}} & {1}\\", - ShortenString(key), - EscapeLatexChars(value)); + string row; + + if (emphasized) + { + row = string.Format( + CultureInfo.InvariantCulture, + @"\textbf{{{0}}} & {1}\\", + ShortenString(key), + EscapeLatexChars(value)); + } + else + { + row = string.Format( + CultureInfo.InvariantCulture, + @"{0} & {1}\\", + ShortenString(key), + EscapeLatexChars(value)); + } this.reportTextWriter.WriteLine(row); } @@ -276,10 +286,8 @@ public void MetricsTable(IEnumerable methodMetrics) string columns = "|l|" + string.Join("|", metrics.Skip(i * 5).Take(5).Select(m => "r")) + "|"; this.reportTextWriter.WriteLine(@"\begin{longtable}[l]{" + columns + "}"); - this.reportTextWriter.WriteLine(@"\hline"); this.reportTextWriter.Write(@"\textbf{" + EscapeLatexChars(ReportResources.Method) + "} & " + string.Join(" & ", metrics.Skip(i * 5).Take(5).Select(m => @"\textbf{" + EscapeLatexChars(m.Name) + "}"))); this.reportTextWriter.WriteLine(@"\\"); - this.reportTextWriter.WriteLine(@"\hline"); foreach (var methodMetric in methodMetrics.OrderBy(c => c.Line)) { @@ -325,7 +333,6 @@ public void MetricsTable(IEnumerable methodMetrics) sb.ToString()); this.reportTextWriter.WriteLine(row); - this.reportTextWriter.WriteLine(@"\hline"); } this.reportTextWriter.WriteLine(@"\end{longtable}"); @@ -398,7 +405,6 @@ public void RiskHotspots(IEnumerable riskHotspots) string columns = "|l|l|l|" + string.Join("|", codeQualityMetrics.Select(m => "r")) + "|"; this.reportTextWriter.WriteLine(@"\begin{longtable}[l]{" + columns + "}"); - this.reportTextWriter.WriteLine(@"\hline"); this.reportTextWriter.Write( "\\textbf{{{0}}} & \\textbf{{{1}}} & \\textbf{{{2}}}", EscapeLatexChars(ReportResources.Assembly2), @@ -411,7 +417,6 @@ public void RiskHotspots(IEnumerable riskHotspots) } this.reportTextWriter.WriteLine(@"\\"); - this.reportTextWriter.WriteLine(@"\hline"); foreach (var riskHotspot in riskHotspots) { @@ -434,7 +439,6 @@ public void RiskHotspots(IEnumerable riskHotspots) } this.reportTextWriter.WriteLine(@"\\"); - this.reportTextWriter.WriteLine(@"\hline"); } this.reportTextWriter.WriteLine(@"\end{longtable}"); @@ -481,7 +485,6 @@ public void SummaryAssembly(Assembly assembly, bool branchCoverageAvailable, boo } this.reportTextWriter.WriteLine(@"\\"); - this.reportTextWriter.WriteLine(@"\hline"); } /// @@ -525,7 +528,6 @@ public void SummaryClass(Class @class, bool branchCoverageAvailable, bool method } this.reportTextWriter.WriteLine(@"\\"); - this.reportTextWriter.WriteLine(@"\hline"); } /// diff --git a/src/ReportGenerator.Core/Reporting/Builders/Rendering/MarkdownRenderer.cs b/src/ReportGenerator.Core/Reporting/Builders/Rendering/MarkdownRenderer.cs new file mode 100644 index 00000000..1cdfdf71 --- /dev/null +++ b/src/ReportGenerator.Core/Reporting/Builders/Rendering/MarkdownRenderer.cs @@ -0,0 +1,584 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Text; +using Palmmedia.ReportGenerator.Core.CodeAnalysis; +using Palmmedia.ReportGenerator.Core.Logging; +using Palmmedia.ReportGenerator.Core.Parser.Analysis; +using Palmmedia.ReportGenerator.Core.Properties; + +namespace Palmmedia.ReportGenerator.Core.Reporting.Builders.Rendering +{ + /// + /// Markdown report renderer. + /// + internal class MarkdownRenderer : IMarkdownRenderer, IDisposable + { + /// + /// The Logger. + /// + private static readonly ILogger Logger = LoggerFactory.GetLogger(typeof(MarkdownRenderer)); + + /// + /// The current report text writer. + /// + private TextWriter reportTextWriter; + + /// + /// The report text writer for the summary report. + /// + private TextWriter summaryReportTextWriter; + + /// + /// The report text writer for the classes report. + /// + private TextWriter classReportTextWriter; + + /// + /// The underlying stream for the summary report. + /// + private Stream summaryReportStream; + + /// + /// The underlying stream for the classes report. + /// + private Stream classReportStream; + + /// + public void BeginSummaryReport() + { + this.summaryReportStream = new MemoryStream(); + this.reportTextWriter = this.summaryReportTextWriter = new StreamWriter(this.summaryReportStream); + } + + /// + public void BeginClassReport(string targetDirectory, string classDisplayName) + { + if (this.classReportTextWriter == null) + { + string targetPath = Path.Combine(targetDirectory, "tmp.md"); + + this.classReportStream = new FileStream(targetPath, FileMode.Create); + this.classReportTextWriter = new StreamWriter(this.classReportStream); + } + + this.reportTextWriter = this.classReportTextWriter; + + this.reportTextWriter.WriteLine($"# {classDisplayName}"); + this.reportTextWriter.WriteLine(); + } + + /// + public void Header(string text) + { + text = $"#{(this.reportTextWriter == this.classReportTextWriter ? "#" : string.Empty)} {text}"; + this.reportTextWriter.WriteLine(text); + this.reportTextWriter.WriteLine(); + } + + /// + public void File(string path) + { + if (path == null) + { + throw new ArgumentNullException(nameof(path)); + } + + this.reportTextWriter.WriteLine($"### {path}"); + } + + /// + public void Paragraph(string text) + { + this.reportTextWriter.WriteLine(text); + this.reportTextWriter.WriteLine(); + } + + /// + public void BeginKeyValueTable() + { + this.reportTextWriter.WriteLine("|||"); + this.reportTextWriter.WriteLine("|:---|:---|"); + } + + /// + public void BeginSummaryTable(bool branchCoverageAvailable, bool methodCoverageAvailable) + { + this.reportTextWriter.Write( + "| **{0}** | **{1}** | **{2}** | **{3}** | **{4}** | **{5}** |", + ReportResources.Name, + ReportResources.Covered, + ReportResources.Uncovered, + ReportResources.Coverable, + ReportResources.Total, + ReportResources.Coverage); + + if (branchCoverageAvailable) + { + this.reportTextWriter.Write($" **{ReportResources.Covered}** |"); + this.reportTextWriter.Write($" **{ReportResources.Total}** |"); + this.reportTextWriter.Write($" **{ReportResources.BranchCoverage}** |"); + } + + if (methodCoverageAvailable) + { + this.reportTextWriter.Write($" **{ReportResources.Covered}** |"); + this.reportTextWriter.Write($" **{ReportResources.Total}** |"); + this.reportTextWriter.Write($" **{ReportResources.CodeElementCoverageQuota}** |"); + this.reportTextWriter.Write($" **{ReportResources.FullCodeElementCoverageQuota}** |"); + } + + this.reportTextWriter.WriteLine(); + + this.reportTextWriter.Write("|:---|---:|---:|---:|---:|---:|"); + + if (branchCoverageAvailable) + { + this.reportTextWriter.Write("---:|"); + this.reportTextWriter.Write("---:|"); + this.reportTextWriter.Write("---:|"); + } + + if (methodCoverageAvailable) + { + this.reportTextWriter.Write("---:|"); + this.reportTextWriter.Write("---:|"); + this.reportTextWriter.Write("---:|"); + this.reportTextWriter.Write("---:|"); + } + + this.reportTextWriter.WriteLine(); + } + + /// + public void BeginLineAnalysisBlock() + { + this.reportTextWriter.WriteLine("```"); + } + + /// + public void FinishLineAnalysisBlock() + { + this.reportTextWriter.WriteLine("```"); + } + + /// + public void KeyValueRow(string key, string value, bool emphasized) + { + if (emphasized) + { + this.reportTextWriter.WriteLine($"| **{key}** | {value} |"); + } + else + { + this.reportTextWriter.WriteLine($"| {key} | {value} |"); + } + } + + /// + public void KeyValueRow(string key, IEnumerable files) + { + this.reportTextWriter.WriteLine($"| **{key}** | {string.Join("
", files)} |"); + } + + /// + public void MetricsTable(Class @class) + { + if (@class == null) + { + throw new ArgumentNullException(nameof(@class)); + } + + var methodMetrics = @class.Files.SelectMany(f => f.MethodMetrics); + + this.MetricsTable(methodMetrics); + } + + /// + public void MetricsTable(IEnumerable methodMetrics) + { + if (methodMetrics == null) + { + throw new ArgumentNullException(nameof(methodMetrics)); + } + + var metrics = methodMetrics + .SelectMany(m => m.Metrics) + .Distinct() + .OrderBy(m => m.Name); + + int numberOfTables = (int)Math.Ceiling((double)metrics.Count() / 5); + + for (int i = 0; i < numberOfTables; i++) + { + string alignments = "|:---|" + string.Join("|", metrics.Skip(i * 5).Take(5).Select(m => "---:")) + "|"; + + this.reportTextWriter.Write(@"| **" + ReportResources.Method + "** | " + string.Join(" | ", metrics.Skip(i * 5).Take(5).Select(m => @"**" + m.Name + "**"))); + this.reportTextWriter.WriteLine(" |"); + this.reportTextWriter.WriteLine(alignments); + + foreach (var methodMetric in methodMetrics.OrderBy(c => c.Line)) + { + StringBuilder sb = new StringBuilder(); + sb.Append($"| **{methodMetric.ShortName}** |"); + + foreach (var metric in metrics.Skip(i * 5).Take(5)) + { + sb.Append(" "); + + var metricValue = methodMetric.Metrics.FirstOrDefault(m => m.Equals(metric)); + + if (metricValue != null) + { + if (metricValue.Value.HasValue) + { + sb.Append(metricValue.Value.Value.ToString(CultureInfo.InvariantCulture)); + + if (metricValue.MetricType == MetricType.CoveragePercentual) + { + sb.Append("%"); + } + } + else + { + sb.Append("-"); + } + } + else + { + sb.Append("-"); + } + + sb.Append(" |"); + } + + this.reportTextWriter.WriteLine(sb.ToString()); + } + + this.reportTextWriter.WriteLine(); + } + } + + /// + public void LineAnalysis(int fileIndex, LineAnalysis analysis, int maximumLineNumberDigits, int maximumLineVisitsDigits) + { + if (analysis == null) + { + throw new ArgumentNullException(nameof(analysis)); + } + + string formattedLine = analysis.LineContent + .Replace(((char)11).ToString(), " ") // replace tab + .Replace(((char)9).ToString(), " "); // replace tab + + formattedLine = ShortenString(formattedLine, 120); + formattedLine = StringHelper.ReplaceInvalidXmlChars(formattedLine); + + string lineVisitStatus; + + switch (analysis.LineVisitStatus) + { + case LineVisitStatus.Covered: + lineVisitStatus = "\u2714 "; + break; + case LineVisitStatus.NotCovered: + lineVisitStatus = "\x274C"; + break; + case LineVisitStatus.PartiallyCovered: + lineVisitStatus = "\u2713 "; + break; + default: + lineVisitStatus = " "; + break; + } + + string branchVisitStatus = " "; + + if (analysis.CoveredBranches.HasValue && analysis.TotalBranches.HasValue && analysis.TotalBranches.Value > 0) + { + int branchCoverage = (int)(100 * (double)analysis.CoveredBranches.Value / analysis.TotalBranches.Value); + branchCoverage -= branchCoverage % 10; + + if (branchCoverage >= 100) + { + branchVisitStatus = "\u25CF"; // Black Circle + } + else if (branchCoverage >= 75) + { + branchVisitStatus = "\u25D5"; // Circle with Upper Right Quadrant Black + } + else if (branchCoverage >= 50) + { + branchVisitStatus = "\u25D1"; // Circle with Left Half Black + } + else if (branchCoverage >= 25) + { + branchVisitStatus = "\u25D4"; // Circle with Lower Right Quadrant Black + } + else + { + branchVisitStatus = "\u25CB"; // White Circle + } + } + + string formatString = @"{0," + maximumLineNumberDigits + "} {1} {2," + maximumLineVisitsDigits + "} {3} {4}"; + + string row = string.Format( + CultureInfo.InvariantCulture, + formatString, + analysis.LineNumber, + lineVisitStatus, + analysis.LineVisitStatus != LineVisitStatus.NotCoverable ? analysis.LineVisits.ToString(CultureInfo.InvariantCulture) : string.Empty, + branchVisitStatus, + formattedLine); + + this.reportTextWriter.WriteLine(row); + } + + /// + public void FinishTable() + { + this.reportTextWriter.WriteLine(); + } + + /// + public void RiskHotspots(IEnumerable riskHotspots, bool withLinks) + { + if (riskHotspots == null) + { + throw new ArgumentNullException(nameof(riskHotspots)); + } + + var codeQualityMetrics = riskHotspots.First().MethodMetric.Metrics + .Where(m => m.MetricType == MetricType.CodeQuality) + .ToArray(); + + string alignments = "|:---|:---|:---|" + string.Join("|", codeQualityMetrics.Select(m => "---:")) + "|"; + + this.reportTextWriter.Write( + "| **{0}** | **{1}** | **{2}** |", + ReportResources.Assembly2, + ReportResources.Class2, + ReportResources.Method); + + foreach (var metric in codeQualityMetrics) + { + this.reportTextWriter.Write(" **{0}** |", metric.Name); + } + + this.reportTextWriter.WriteLine(); + + this.reportTextWriter.WriteLine(alignments); + + foreach (var riskHotspot in riskHotspots) + { + string className = withLinks + ? $"[{riskHotspot.Class.DisplayName}](#{riskHotspot.Class.DisplayName.ToLowerInvariant().Replace(".", string.Empty).Replace(" ", "-")})" + : riskHotspot.Class.DisplayName; + + this.reportTextWriter.Write( + "| {0} | {1} | {2} |", + riskHotspot.Assembly.ShortName, + className, + riskHotspot.MethodMetric.ShortName); + + foreach (var statusMetric in riskHotspot.StatusMetrics) + { + this.reportTextWriter.Write(" {0} |", statusMetric.Metric.Value.HasValue ? statusMetric.Metric.Value.Value.ToString(CultureInfo.InvariantCulture) : "-"); + } + } + + this.reportTextWriter.WriteLine(); + } + + /// + public void SummaryAssembly(Assembly assembly, bool branchCoverageAvailable, bool methodCoverageAvailable) + { + if (assembly == null) + { + throw new ArgumentNullException(nameof(assembly)); + } + + string row = string.Format( + CultureInfo.InvariantCulture, + @"| **{0}** | **{1}** | **{2}** | **{3}** | **{4}** | **{5}** |", + assembly.Name, + assembly.CoveredLines, + assembly.CoverableLines - assembly.CoveredLines, + assembly.CoverableLines, + assembly.TotalLines.GetValueOrDefault(), + assembly.CoverageQuota.HasValue ? assembly.CoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty); + + this.reportTextWriter.Write(row); + + if (branchCoverageAvailable) + { + row = string.Format( + CultureInfo.InvariantCulture, + @" **{0}** | **{1}** | **{2}** |", + assembly.CoveredBranches, + assembly.TotalBranches, + assembly.BranchCoverageQuota.HasValue ? assembly.BranchCoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty); + + this.reportTextWriter.Write(row); + } + + if (methodCoverageAvailable) + { + row = string.Format( + CultureInfo.InvariantCulture, + @" **{0}** | **{1}** | **{2}** | **{3}** |", + assembly.CoveredCodeElements, + assembly.TotalCodeElements, + assembly.CodeElementCoverageQuota.HasValue ? assembly.CodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty, + assembly.FullCodeElementCoverageQuota.HasValue ? assembly.FullCodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty); + + this.reportTextWriter.Write(row); + } + + this.reportTextWriter.WriteLine(); + } + + /// + public void SummaryClass(Class @class, bool branchCoverageAvailable, bool methodCoverageAvailable, bool withLinks) + { + if (@class == null) + { + throw new ArgumentNullException(nameof(@class)); + } + + string className = withLinks + ? $"[{@class.DisplayName}](#{@class.DisplayName.ToLowerInvariant().Replace(".", string.Empty).Replace(" ", "-")})" + : @class.DisplayName; + + string row = string.Format( + CultureInfo.InvariantCulture, + @"| {0} | {1} | {2} | {3} | {4} | {5} |", + className, + @class.CoveredLines, + @class.CoverableLines - @class.CoveredLines, + @class.CoverableLines, + @class.TotalLines.GetValueOrDefault(), + @class.CoverageQuota.HasValue ? @class.CoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty); + + this.reportTextWriter.Write(row); + + if (branchCoverageAvailable) + { + row = string.Format( + CultureInfo.InvariantCulture, + @" {0} | {1} | {2} |", + @class.CoveredBranches, + @class.TotalBranches, + @class.BranchCoverageQuota.HasValue ? @class.BranchCoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty); + + this.reportTextWriter.Write(row); + } + + if (methodCoverageAvailable) + { + row = string.Format( + CultureInfo.InvariantCulture, + @" {0} | {1} | {2} | {3} |", + @class.CoveredCodeElements, + @class.TotalCodeElements, + @class.CodeElementCoverageQuota.HasValue ? @class.CodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty, + @class.FullCodeElementCoverageQuota.HasValue ? @class.FullCodeElementCoverageQuota.Value.ToString(CultureInfo.InvariantCulture) + "%" : string.Empty); + + this.reportTextWriter.Write(row); + } + + this.reportTextWriter.WriteLine(); + } + + /// + public void SaveSummaryReport(string targetDirectory) + { + string targetPath = Path.Combine(targetDirectory, "Summary.md"); + + Logger.InfoFormat(Resources.WritingReportFile, targetPath); + + Stream combinedReportStream = new FileStream(targetPath, FileMode.Create); + + this.summaryReportTextWriter.Flush(); + this.summaryReportStream.Position = 0; + this.summaryReportStream.CopyTo(combinedReportStream); + + this.summaryReportTextWriter.Dispose(); + + if (this.classReportTextWriter != null) + { + this.classReportTextWriter.Flush(); + this.classReportStream.Position = 0; + this.classReportStream.CopyTo(combinedReportStream); + + this.classReportTextWriter.Dispose(); + + System.IO.File.Delete(Path.Combine(targetDirectory, "tmp.md")); + } + + combinedReportStream.Flush(); + combinedReportStream.Dispose(); + + this.classReportTextWriter = null; + this.summaryReportTextWriter = null; + } + + /// + /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + /// + public void Dispose() + { + this.Dispose(true); + GC.SuppressFinalize(this); + } + + /// + /// Releases unmanaged and - optionally - managed resources. + /// + /// true to release both managed and unmanaged resources; false to release only unmanaged resources. + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + if (this.summaryReportTextWriter != null) + { + this.summaryReportTextWriter.Dispose(); + } + + if (this.classReportTextWriter != null) + { + this.classReportTextWriter.Dispose(); + } + + if (this.summaryReportStream != null) + { + this.summaryReportStream.Dispose(); + } + + if (this.classReportStream != null) + { + this.classReportStream.Dispose(); + } + } + } + + /// + /// Shortens the given string. + /// + /// The text to shorten. + /// Maximum length. + /// The shortened string. + private static string ShortenString(string text, int maxLength) + { + if (text.Length > maxLength) + { + return text.Substring(0, maxLength); + } + + return text; + } + } +} diff --git a/src/ReportGenerator.Core/Reporting/Builders/Rendering/SvgHistoryChartRenderer.cs b/src/ReportGenerator.Core/Reporting/Builders/Rendering/SvgHistoryChartRenderer.cs index 8a6695e4..40ae712d 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/Rendering/SvgHistoryChartRenderer.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/Rendering/SvgHistoryChartRenderer.cs @@ -1,8 +1,10 @@ using System.Collections.Generic; using System.Globalization; using System.Linq; +using System.Net; using System.Text; using Palmmedia.ReportGenerator.Core.Parser.Analysis; +using Palmmedia.ReportGenerator.Core.Properties; namespace Palmmedia.ReportGenerator.Core.Reporting.Builders.Rendering { @@ -85,6 +87,19 @@ public static string RenderHistoryChart(IReadOnlyList historic 100 "); + var toolTips = historicCoverages.Select(h => + string.Format( + "{0} - {1}{2}{3}{4}{5}{6}{7}", + h.ExecutionTime.ToShortDateString(), + h.ExecutionTime.ToLongTimeString(), + h.CoverageQuota.HasValue ? string.Format(CultureInfo.InvariantCulture, " \r\n{0} {1}% ({2}/{3})", WebUtility.HtmlEncode(ReportResources.Coverage2), h.CoverageQuota.Value, h.CoveredLines, h.CoverableLines) : null, + h.BranchCoverageQuota.HasValue ? string.Format(CultureInfo.InvariantCulture, " \r\n{0} {1}% ({2}/{3})", WebUtility.HtmlEncode(ReportResources.BranchCoverage2), h.BranchCoverageQuota.Value, h.CoveredBranches, h.TotalBranches) : null, + methodCoverageAvailable && h.CodeElementCoverageQuota.HasValue ? string.Format(CultureInfo.InvariantCulture, " \r\n{0} {1}% ({2}/{3})", WebUtility.HtmlEncode(ReportResources.CodeElementCoverageQuota2), h.CodeElementCoverageQuota.Value, h.CoveredCodeElements, h.TotalCodeElements) : null, + methodCoverageAvailable && h.FullCodeElementCoverageQuota.HasValue ? string.Format(CultureInfo.InvariantCulture, " \r\n{0} {1}% ({2}/{3})", WebUtility.HtmlEncode(ReportResources.FullCodeElementCoverageQuota), h.FullCodeElementCoverageQuota.Value, h.FullCoveredCodeElements, h.TotalCodeElements) : null, + string.Format(CultureInfo.InvariantCulture, " \r\n{0} {1}", WebUtility.HtmlEncode(ReportResources.TotalLines), h.TotalLines), + h.Tag != null ? string.Format(CultureInfo.InvariantCulture, " \r\n{0} {1}", WebUtility.HtmlEncode(ReportResources.Tag), h.Tag) : string.Empty)) + .ToArray(); + int numberOfLines = historicCoverages.Count; if (numberOfLines == 1) @@ -135,10 +150,11 @@ public static string RenderHistoryChart(IReadOnlyList historic float y = 15 + (((100 - (float)historicCoverages[i].CoverageQuota.Value) * totalHeight) / 100); sb.AppendFormat( - "", + "{3}", x.ToString("F3", CultureInfo.InvariantCulture), (x + 0.01f).ToString("F3", CultureInfo.InvariantCulture), - y.ToString("F3", CultureInfo.InvariantCulture)); + y.ToString("F3", CultureInfo.InvariantCulture), + toolTips[i]); } sb.AppendLine(""); @@ -182,10 +198,11 @@ public static string RenderHistoryChart(IReadOnlyList historic float y = 15 + (((100 - (float)historicCoverages[i].BranchCoverageQuota.Value) * totalHeight) / 100); sb.AppendFormat( - "", + "{3}", x.ToString("F3", CultureInfo.InvariantCulture), (x + 0.01f).ToString("F3", CultureInfo.InvariantCulture), - y.ToString("F3", CultureInfo.InvariantCulture)); + y.ToString("F3", CultureInfo.InvariantCulture), + toolTips[i]); } sb.AppendLine(""); @@ -229,10 +246,11 @@ public static string RenderHistoryChart(IReadOnlyList historic float y = 15 + (((100 - (float)historicCoverages[i].CodeElementCoverageQuota.Value) * totalHeight) / 100); sb.AppendFormat( - "", + "{3}", x.ToString("F3", CultureInfo.InvariantCulture), (x + 0.01f).ToString("F3", CultureInfo.InvariantCulture), - y.ToString("F3", CultureInfo.InvariantCulture)); + y.ToString("F3", CultureInfo.InvariantCulture), + toolTips[i]); } sb.AppendLine(""); @@ -276,10 +294,11 @@ public static string RenderHistoryChart(IReadOnlyList historic float y = 15 + (((100 - (float)historicCoverages[i].FullCodeElementCoverageQuota.Value) * totalHeight) / 100); sb.AppendFormat( - "", + "{3}", x.ToString("F3", CultureInfo.InvariantCulture), (x + 0.01f).ToString("F3", CultureInfo.InvariantCulture), - y.ToString("F3", CultureInfo.InvariantCulture)); + y.ToString("F3", CultureInfo.InvariantCulture), + toolTips[i]); } sb.AppendLine(""); diff --git a/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom-azurepipelines.css b/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom-azurepipelines.css index fb14b750..ec3c0aa5 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom-azurepipelines.css +++ b/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom-azurepipelines.css @@ -1,3 +1,4 @@ +:root { color-scheme: light; } html { font-family: 'Segoe UI', '-apple-system', BlinkMacSystemFont, Roboto, 'Helvetica Neue', Helvetica, Ubuntu, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; margin: 0; padding: 0; font-size: 0.9em; background-color: #fff; height: 100%; } body { margin: 0; padding: 0; height: 100%; color: #000; } h1 { font-size: 1.2em; font-weight: normal; color: #000; background-color: rgba(248,248,248,1); padding: 10px; margin: 20px -20px 20px -20px; } @@ -181,7 +182,6 @@ a.percentagebar { .tooltip { position: absolute; display: none; padding: 5px; background: #F4C63D; color: #453D3F; pointer-events: none; z-index: 1; min-width: 250px; } .column-min-200 { min-width: 200px; } -.column60 { width: 60px; } .column70 { width: 70px; } .column90 { width: 90px; } .column98 { width: 98px; } diff --git a/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom-azurepipelines_adaptive.css b/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom-azurepipelines_adaptive.css index 7ab72b2a..6ab08c37 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom-azurepipelines_adaptive.css +++ b/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom-azurepipelines_adaptive.css @@ -1,3 +1,7 @@ +:root { + color-scheme: light dark; +} + @media (prefers-color-scheme: dark) { @media screen { html { background-color: #292827; color: #fff; } diff --git a/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom-azurepipelines_dark.css b/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom-azurepipelines_dark.css index a85077e9..93341da2 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom-azurepipelines_dark.css +++ b/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom-azurepipelines_dark.css @@ -1,3 +1,7 @@ +:root { + color-scheme: dark; +} + @media screen { html { background-color: #292827; color: #fff; } body { color: #fff; } diff --git a/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom.css b/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom.css index 473bb51d..bfce146d 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom.css +++ b/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom.css @@ -1,4 +1,5 @@ :root { + color-scheme: light; --green: #0aad0a; --lightgreen: #dcf4dc; } @@ -189,7 +190,6 @@ code { font-family: Consolas, monospace; font-size: 0.9em; } .tooltip { position: absolute; display: none; padding: 5px; background: #F4C63D; color: #453D3F; pointer-events: none; z-index: 1; min-width: 250px; } .column-min-200 { min-width: 200px; } -.column60 { width: 60px; } .column70 { width: 70px; } .column90 { width: 90px; } .column98 { width: 98px; } diff --git a/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom_adaptive.css b/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom_adaptive.css index 4c4717b1..97eb06b2 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom_adaptive.css +++ b/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom_adaptive.css @@ -1,3 +1,7 @@ +:root { + color-scheme: light dark; +} + @media (prefers-color-scheme: dark) { @media screen { html { diff --git a/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom_dark.css b/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom_dark.css index fe323e2b..35a283ee 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom_dark.css +++ b/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/custom_dark.css @@ -1,3 +1,7 @@ +:root { + color-scheme: dark; +} + @media screen { html { background-color: #333; diff --git a/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/main.js b/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/main.js index 8a575996..0375c3f3 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/main.js +++ b/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/main.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcoverage_app=self.webpackChunkcoverage_app||[]).push([[792],{663:()=>{function Zs(e,n){return Object.is(e,n)}let Pe=null,Cr=!1,Lc=1;const tt=Symbol("SIGNAL");function J(e){const n=Pe;return Pe=e,n}const io={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:"unknown",producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function Qs(e){if(Cr)throw new Error("");if(null===Pe)return;Pe.consumerOnSignalRead(e);const n=Pe.nextProducerIndex++;ea(Pe),ne.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function Ks(e){ea(e);for(let n=0;n0}function ea(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}function Bp(e){e.liveConsumerNode??=[],e.liveConsumerIndexOfThis??=[]}function jp(e){return void 0!==e.producerNode}const _i=Symbol("UNSET"),ro=Symbol("COMPUTING"),Zn=Symbol("ERRORED"),PM={...io,value:_i,dirty:!0,error:null,equal:Zs,kind:"computed",producerMustRecompute:e=>e.value===_i||e.value===ro,producerRecomputeValue(e){if(e.value===ro)throw new Error("Detected cycle in computations.");const n=e.value;e.value=ro;const t=oo(e);let i,o=!1;try{i=e.computation(),J(null),o=n!==_i&&n!==Zn&&i!==Zn&&e.equal(n,i)}catch(r){i=Zn,e.error=r}finally{wr(e,t)}o?e.value=n:(e.value=i,e.version++)}};let Up=function VM(){throw new Error};function $p(e){Up(e)}function Vc(e,n){Vp()||$p(e),e.equal(e.value,n)||(e.value=n,function jM(e){e.version++,function FM(){Lc++}(),Pp(e)}(e))}const Gp={...io,equal:Zs,value:void 0,kind:"signal"};let Hc;function na(){return Hc}function Qn(e){const n=Hc;return Hc=e,n}const Bc=Symbol("NotFound");function Be(e){return"function"==typeof e}function Wp(e){const t=e(i=>{Error.call(i),i.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}Error;const jc=Wp(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((i,o)=>`${o+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function ia(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class Tt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const r of t)r.remove(this);else t.remove(this);const{initialTeardown:i}=this;if(Be(i))try{i()}catch(r){n=r instanceof jc?r.errors:[r]}const{_finalizers:o}=this;if(o){this._finalizers=null;for(const r of o)try{Yp(r)}catch(s){n=n??[],s instanceof jc?n=[...n,...s.errors]:n.push(s)}}if(n)throw new jc(n)}}add(n){var t;if(n&&n!==this)if(this.closed)Yp(n);else{if(n instanceof Tt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&ia(t,n)}remove(n){const{_finalizers:t}=this;t&&ia(t,n),n instanceof Tt&&n._removeParent(this)}}Tt.EMPTY=(()=>{const e=new Tt;return e.closed=!0,e})();const Zp=Tt.EMPTY;function Qp(e){return e instanceof Tt||e&&"closed"in e&&Be(e.remove)&&Be(e.add)&&Be(e.unsubscribe)}function Yp(e){Be(e)?e():e.unsubscribe()}const yi={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},oa={setTimeout(e,n,...t){const{delegate:i}=oa;return i?.setTimeout?i.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=oa;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Kp(e){oa.setTimeout(()=>{const{onUnhandledError:n}=yi;if(!n)throw e;n(e)})}function Xp(){}const WM=Uc("C",void 0,void 0);function Uc(e,n,t){return{kind:e,value:n,error:t}}let Ci=null;function ra(e){if(yi.useDeprecatedSynchronousErrorHandling){const n=!Ci;if(n&&(Ci={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:i}=Ci;if(Ci=null,t)throw i}}else e()}class $c extends Tt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Qp(n)&&n.add(this)):this.destination=eI}static create(n,t,i){return new Gc(n,t,i)}next(n){this.isStopped?qc(function QM(e){return Uc("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?qc(function ZM(e){return Uc("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?qc(WM,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const KM=Function.prototype.bind;function zc(e,n){return KM.call(e,n)}class XM{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(i){sa(i)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(i){sa(i)}else sa(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){sa(t)}}}class Gc extends $c{constructor(n,t,i){let o;if(super(),Be(n)||!n)o={next:n??void 0,error:t??void 0,complete:i??void 0};else{let r;this&&yi.useDeprecatedNextContext?(r=Object.create(n),r.unsubscribe=()=>this.unsubscribe(),o={next:n.next&&zc(n.next,r),error:n.error&&zc(n.error,r),complete:n.complete&&zc(n.complete,r)}):o=n}this.destination=new XM(o)}}function sa(e){yi.useDeprecatedSynchronousErrorHandling?function YM(e){yi.useDeprecatedSynchronousErrorHandling&&Ci&&(Ci.errorThrown=!0,Ci.error=e)}(e):Kp(e)}function qc(e,n){const{onStoppedNotification:t}=yi;t&&oa.setTimeout(()=>t(e,n))}const eI={closed:!0,next:Xp,error:function JM(e){throw e},complete:Xp},Wc="function"==typeof Symbol&&Symbol.observable||"@@observable";function Zc(e){return e}let St=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const i=new e;return i.source=this,i.operator=t,i}subscribe(t,i,o){const r=function nI(e){return e&&e instanceof $c||function tI(e){return e&&Be(e.next)&&Be(e.error)&&Be(e.complete)}(e)&&Qp(e)}(t)?t:new Gc(t,i,o);return ra(()=>{const{operator:s,source:a}=this;r.add(s?s.call(r,a):a?this._subscribe(r):this._trySubscribe(r))}),r}_trySubscribe(t){try{return this._subscribe(t)}catch(i){t.error(i)}}forEach(t,i){return new(i=eg(i))((o,r)=>{const s=new Gc({next:a=>{try{t(a)}catch(l){r(l),s.unsubscribe()}},error:r,complete:o});this.subscribe(s)})}_subscribe(t){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(t)}[Wc](){return this}pipe(...t){return function Jp(e){return 0===e.length?Zc:1===e.length?e[0]:function(t){return e.reduce((i,o)=>o(i),t)}}(t)(this)}toPromise(t){return new(t=eg(t))((i,o)=>{let r;this.subscribe(s=>r=s,s=>o(s),()=>i(r))})}}return e.create=n=>new e(n),e})();function eg(e){var n;return null!==(n=e??yi.Promise)&&void 0!==n?n:Promise}const iI=Wp(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let un=(()=>{class e extends St{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const i=new tg(this,this);return i.operator=t,i}_throwIfClosed(){if(this.closed)throw new iI}next(t){ra(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(t)}})}error(t){ra(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:i}=this;for(;i.length;)i.shift().error(t)}})}complete(){ra(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:i,isStopped:o,observers:r}=this;return i||o?Zp:(this.currentObservers=null,r.push(t),new Tt(()=>{this.currentObservers=null,ia(r,t)}))}_checkFinalizedStatuses(t){const{hasError:i,thrownError:o,isStopped:r}=this;i?t.error(o):r&&t.complete()}asObservable(){const t=new St;return t.source=this,t}}return e.create=(n,t)=>new tg(n,t),e})();class tg extends un{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===i||i.call(t,n)}error(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===i||i.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,i;return null!==(i=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==i?i:Zp}}class oI extends un{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:i}=this;if(n)throw t;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}}function Di(e){return n=>{if(function rI(e){return Be(e?.lift)}(n))return n.lift(function(t){try{return e(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function Yn(e,n,t,i,o){return new sI(e,n,t,i,o)}class sI extends $c{constructor(n,t,i,o,r,s){super(n),this.onFinalize=r,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){n.error(l)}}:super._next,this._error=o?function(a){try{o(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function Qc(e,n){return Di((t,i)=>{let o=0;t.subscribe(Yn(i,r=>{i.next(e.call(n,r,o++))}))})}const ng="https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss";class x extends Error{code;constructor(n,t){super(function Mn(e,n){return`${function aI(e){return`NG0${Math.abs(e)}`}(e)}${n?": "+n:""}`}(n,t)),this.code=n}}function In(e){return{toString:e}.toString()}const ao="__parameters__";function co(e,n,t){return In(()=>{const i=function Yc(e){return function(...t){if(e){const i=e(...t);for(const o in i)this[o]=i[o]}}}(n);function o(...r){if(this instanceof o)return i.apply(this,r),this;const s=new o(...r);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(ao)?l[ao]:Object.defineProperty(l,ao,{value:[]})[ao];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return o.prototype.ngMetadataName=e,o.annotationCls=o,o})}const Oe=globalThis;function pe(e){for(let n in e)if(e[n]===pe)return n;throw Error("Could not find renamed property on target object.")}function lI(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function ze(e){if("string"==typeof e)return e;if(Array.isArray(e))return`[${e.map(ze).join(", ")}]`;if(null==e)return""+e;const n=e.overriddenName||e.name;if(n)return`${n}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return i>=0?t.slice(0,i):t}function Kc(e,n){return e?n?`${e} ${n}`:e:n||""}const cI=pe({__forward_ref__:pe});function ye(e){return e.__forward_ref__=ye,e.toString=function(){return ze(this())},e}function q(e){return la(e)?e():e}function la(e){return"function"==typeof e&&e.hasOwnProperty(cI)&&e.__forward_ref__===ye}function te(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Tn(e){return{providers:e.providers||[],imports:e.imports||[]}}function ca(e){return sg(e,da)||sg(e,ag)}function sg(e,n){return e.hasOwnProperty(n)?e[n]:null}function ua(e){return e&&(e.hasOwnProperty(Xc)||e.hasOwnProperty(pI))?e[Xc]:null}const da=pe({\u0275prov:pe}),Xc=pe({\u0275inj:pe}),ag=pe({ngInjectableDef:pe}),pI=pe({ngInjectorDef:pe});class R{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(n,t){this._desc=n,this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=te({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function tu(e){return e&&!!e.\u0275providers}const uo=pe({\u0275cmp:pe}),nu=pe({\u0275dir:pe}),iu=pe({\u0275pipe:pe}),cg=pe({\u0275mod:pe}),Sn=pe({\u0275fac:pe}),Er=pe({__NG_ELEMENT_ID__:pe}),ug=pe({__NG_ENV_ID__:pe});function Q(e){return"string"==typeof e?e:null==e?"":String(e)}function dg(e,n){throw new x(-200,e)}function ou(e,n){throw new x(-201,!1)}var ie=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ie||{});let ru;function fg(){return ru}function _t(e){const n=ru;return ru=e,n}function hg(e,n,t){const i=ca(e);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&ie.Optional?null:void 0!==n?n:void ou()}const bi={},su="__NG_DI_FLAG__";class pg{injector;constructor(n){this.injector=n}retrieve(n,t){return this.injector.get(n,t.optional?Bc:bi,t)}}const pa="ngTempTokenPath",yI=/\n/gm,gg="__source";function DI(e,n=ie.Default){if(void 0===na())throw new x(-203,!1);if(null===na())return hg(e,void 0,n);{const t=na();let i;return i=t instanceof pg?t.injector:t,i.get(e,n&ie.Optional?null:void 0,n)}}function re(e,n=ie.Default){return(fg()||DI)(q(e),n)}function k(e,n=ie.Default){return re(e,ga(n))}function ga(e){return typeof e>"u"||"number"==typeof e?e:(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function au(e){const n=[];for(let t=0;tArray.isArray(t)?fo(t,n):n(t))}function vg(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function ma(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function Nt(e,n,t){let i=Ir(e,n);return i>=0?e[1|i]=t:(i=~i,function yg(e,n,t,i){let o=e.length;if(o==n)e.push(t,i);else if(1===o)e.push(i,e[0]),e[0]=t;else{for(o--,e.push(e[o-1],e[o]);o>n;)e[o]=e[o-2],o--;e[n]=t,e[n+1]=i}}(e,i,n,t)),i}function uu(e,n){const t=Ir(e,n);if(t>=0)return e[1|t]}function Ir(e,n){return function xI(e,n,t){let i=0,o=e.length>>t;for(;o!==i;){const r=i+(o-i>>1),s=e[r<n?o=r:i=r+1}return~(o<{t.push(s)};return fo(n,s=>{const a=s;ya(a,r,[],i)&&(o||=[],o.push(a))}),void 0!==o&&Dg(o,r),t}function Dg(e,n){for(let t=0;t{n(r,i)})}}function ya(e,n,t,i){if(!(e=q(e)))return!1;let o=null,r=ua(e);const s=!r&&ne(e);if(r||s){if(s&&!s.standalone)return!1;o=e}else{const l=e.ngModule;if(r=ua(l),!r)return!1;o=l}const a=i.has(o);if(s){if(a)return!1;if(i.add(o),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)ya(c,n,t,i)}}else{if(!r)return!1;{if(null!=r.imports&&!a){let c;i.add(o);try{fo(r.imports,u=>{ya(u,n,t,i)&&(c||=[],c.push(u))})}finally{}void 0!==c&&Dg(c,n)}if(!a){const c=Ei(o)||(()=>new o);n({provide:o,useFactory:c,deps:le},o),n({provide:du,useValue:o,multi:!0},o),n({provide:Qt,useValue:()=>re(o),multi:!0},o)}const l=r.providers;if(null!=l&&!a){const c=e;hu(l,u=>{n(u,c)})}}}return o!==e&&void 0!==e.providers}function hu(e,n){for(let t of e)tu(t)&&(t=t.\u0275providers),Array.isArray(t)?hu(t,n):n(t)}const OI=pe({provide:String,useValue:pe});function pu(e){return null!==e&&"object"==typeof e&&OI in e}function Ii(e){return"function"==typeof e}const gu=new R(""),Ca={},Eg={};let mu;function Da(){return void 0===mu&&(mu=new _a),mu}class Yt{}class Ti extends Yt{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(n,t,i,o){super(),this.parent=t,this.source=i,this.scopes=o,_u(n,s=>this.processProvider(s)),this.records.set(Cg,po(void 0,this)),o.has("environment")&&this.records.set(Yt,po(void 0,this));const r=this.records.get(gu);null!=r&&"string"==typeof r.value&&this.scopes.add(r.value),this.injectorDefTypes=new Set(this.get(du,le,ie.Self))}retrieve(n,t){return this.get(n,t.optional?Bc:bi,t)}destroy(){Tr(this),this._destroyed=!0;const n=J(null);try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),J(n)}}onDestroy(n){return Tr(this),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){Tr(this);const t=Qn(this),i=_t(void 0);try{return n()}finally{Qn(t),_t(i)}}get(n,t=bi,i=ie.Default){if(Tr(this),n.hasOwnProperty(ug))return n[ug](this);i=ga(i);const r=Qn(this),s=_t(void 0);try{if(!(i&ie.SkipSelf)){let l=this.records.get(n);if(void 0===l){const c=function PI(e){return"function"==typeof e||"object"==typeof e&&e instanceof R}(n)&&ca(n);l=c&&this.injectableDefInScope(c)?po(vu(n),Ca):null,this.records.set(n,l)}if(null!=l)return this.hydrate(n,l)}return(i&ie.Self?Da():this.parent).get(n,t=i&ie.Optional&&t===bi?null:t)}catch(a){if("NullInjectorError"===a.name){if((a[pa]=a[pa]||[]).unshift(ze(n)),r)throw a;return function bI(e,n,t,i){const o=e[pa];throw n[gg]&&o.unshift(n[gg]),e.message=function EI(e,n,t,i=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let o=ze(n);if(Array.isArray(n))o=n.map(ze).join(" -> ");else if("object"==typeof n){let r=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];r.push(s+":"+("string"==typeof a?JSON.stringify(a):ze(a)))}o=`{${r.join(", ")}}`}return`${t}${i?"("+i+")":""}[${o}]: ${e.replace(yI,"\n ")}`}("\n"+e.message,o,t,i),e.ngTokenPath=o,e[pa]=null,e}(a,n,"R3InjectorError",this.source)}throw a}finally{_t(s),Qn(r)}}resolveInjectorInitializers(){const n=J(null),t=Qn(this),i=_t(void 0);try{const r=this.get(Qt,le,ie.Self);for(const s of r)s()}finally{Qn(t),_t(i),J(n)}}toString(){const n=[],t=this.records;for(const i of t.keys())n.push(ze(i));return`R3Injector[${n.join(", ")}]`}processProvider(n){let t=Ii(n=q(n))?n:q(n&&n.provide);const i=function FI(e){return pu(e)?po(void 0,e.useValue):po(Mg(e),Ca)}(n);if(!Ii(n)&&!0===n.multi){let o=this.records.get(t);o||(o=po(void 0,Ca,!0),o.factory=()=>au(o.multi),this.records.set(t,o)),t=n,o.multi.push(n)}this.records.set(t,i)}hydrate(n,t){const i=J(null);try{return t.value===Eg?dg(ze(n)):t.value===Ca&&(t.value=Eg,t.value=t.factory()),"object"==typeof t.value&&t.value&&function LI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{J(i)}}injectableDefInScope(n){if(!n.providedIn)return!1;const t=q(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function vu(e){const n=ca(e),t=null!==n?n.factory:Ei(e);if(null!==t)return t;if(e instanceof R)throw new x(204,!1);if(e instanceof Function)return function kI(e){if(e.length>0)throw new x(204,!1);const t=function hI(e){return e&&(e[da]||e[ag])||null}(e);return null!==t?()=>t.factory(e):()=>new e}(e);throw new x(204,!1)}function Mg(e,n,t){let i;if(Ii(e)){const o=q(e);return Ei(o)||vu(o)}if(pu(e))i=()=>q(e.useValue);else if(function bg(e){return!(!e||!e.useFactory)}(e))i=()=>e.useFactory(...au(e.deps||[]));else if(function wg(e){return!(!e||!e.useExisting)}(e))i=()=>re(q(e.useExisting));else{const o=q(e&&(e.useClass||e.provide));if(!function RI(e){return!!e.deps}(e))return Ei(o)||vu(o);i=()=>new o(...au(e.deps))}return i}function Tr(e){if(e.destroyed)throw new x(205,!1)}function po(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function _u(e,n){for(const t of e)Array.isArray(t)?_u(t,n):t&&tu(t)?_u(t.\u0275providers,n):n(t)}function Ig(e,n){let t;e instanceof Ti?(Tr(e),t=e):t=new pg(e);const o=Qn(t),r=_t(void 0);try{return n()}finally{Qn(o),_t(r)}}const U=11,A=26;function Ae(e){return Array.isArray(e)&&"object"==typeof e[1]}function qe(e){return Array.isArray(e)&&!0===e[1]}function Du(e){return!!(4&e.flags)}function Xt(e){return e.componentOffset>-1}function Ia(e){return!(1&~e.flags)}function Ft(e){return!!e.template}function Nn(e){return!!(512&e[2])}function On(e){return!(256&~e[2])}class QI{previousValue;currentValue;firstChange;constructor(n,t,i){this.previousValue=n,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Rg(e,n,t,i){null!==n?n.applyValueToInputSignal(n,i):e[t]=i}const An=(()=>{const e=()=>Lg;return e.ngInherit=!0,e})();function Lg(e){return e.type.prototype.ngOnChanges&&(e.setInput=KI),YI}function YI(){const e=Vg(this),n=e?.current;if(n){const t=e.previous;if(t===Zt)e.previous=n;else for(let i in n)t[i]=n[i];e.current=null,this.ngOnChanges(n)}}function KI(e,n,t,i,o){const r=this.declaredInputs[i],s=Vg(e)||function XI(e,n){return e[Pg]=n}(e,{previous:Zt,current:null}),a=s.current||(s.current={}),l=s.previous,c=l[r];a[r]=new QI(c&&c.currentValue,t,l===Zt),Rg(e,n,o,t)}const Pg="__ngSimpleChanges__";function Vg(e){return e[Pg]||null}function se(e){for(;Array.isArray(e);)e=e[0];return e}function wo(e,n){return se(n[e])}function at(e,n){return se(n[e.index])}function Oi(e,n){return e.data[n]}function lt(e,n){const t=n[e];return Ae(t)?t:t[0]}function Eu(e){return!(128&~e[2])}function Bt(e,n){return null==n?null:e[n]}function jg(e){e[17]=0}function Mu(e){1024&e[2]||(e[2]|=1024,Eu(e)&&bo(e))}function Nr(e){return!!(9216&e[2]||e[24]?.dirty)}function Iu(e){e[10].changeDetectionScheduler?.notify(8),64&e[2]&&(e[2]|=1024),Nr(e)&&bo(e)}function bo(e){e[10].changeDetectionScheduler?.notify(0);let n=kn(e);for(;null!==n&&!(8192&n[2])&&(n[2]|=8192,Eu(n));)n=kn(n)}function Sa(e,n){if(On(e))throw new x(911,!1);null===e[21]&&(e[21]=[]),e[21].push(n)}function kn(e){const n=e[3];return qe(n)?n[3]:n}function Su(e){return e[7]??=[]}function xu(e){return e.cleanup??=[]}const W={lFrame:Kg(null),bindingsEnabled:!0,skipHydrationRootTNode:null};let Ou=!1;function Au(){return W.bindingsEnabled}function D(){return W.lFrame.lView}function G(){return W.lFrame.tView}function H(e){return W.lFrame.contextLView=e,e[8]}function B(e){return W.lFrame.contextLView=null,e}function ee(){let e=$g();for(;null!==e&&64===e.type;)e=e.parent;return e}function $g(){return W.lFrame.currentTNode}function Jt(e,n){const t=W.lFrame;t.currentTNode=e,t.isParent=n}function ku(){return W.lFrame.isParent}function Fu(){W.lFrame.isParent=!1}function qg(){return Ou}function Na(e){const n=Ou;return Ou=e,n}function ct(){const e=W.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function jt(){return W.lFrame.bindingIndex++}function Rn(e){const n=W.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function p0(e,n){const t=W.lFrame;t.bindingIndex=t.bindingRootIndex=e,Ru(n)}function Ru(e){W.lFrame.currentDirectiveIndex=e}function Pu(){return W.lFrame.currentQueryIndex}function Oa(e){W.lFrame.currentQueryIndex=e}function m0(e){const n=e[1];return 2===n.type?n.declTNode:1===n.type?e[5]:null}function Qg(e,n,t){if(t&ie.SkipSelf){let o=n,r=e;for(;!(o=o.parent,null!==o||t&ie.Host||(o=m0(r),null===o||(r=r[14],10&o.type))););if(null===o)return!1;n=o,e=r}const i=W.lFrame=Yg();return i.currentTNode=n,i.lView=e,!0}function Vu(e){const n=Yg(),t=e[1];W.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function Yg(){const e=W.lFrame,n=null===e?null:e.child;return null===n?Kg(e):n}function Kg(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function Xg(){const e=W.lFrame;return W.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const Jg=Xg;function Hu(){const e=Xg();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function Je(){return W.lFrame.selectedIndex}function Fi(e){W.lFrame.selectedIndex=e}function ve(){const e=W.lFrame;return Oi(e.tView,e.selectedIndex)}let nm=!0;function Ar(){return nm}function hn(e){nm=e}function Bu(e,n){for(let t=n.directiveStart,i=n.directiveEnd;t=i)break}else n[l]<0&&(e[17]+=65536),(a>14>16&&(3&e[2])===n&&(e[2]+=16384,om(a,r)):om(a,r)}class kr{factory;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(n,t,i){this.factory=n,this.canSeeViewProviders=t,this.injectImpl=i}}function rm(e){return 3===e||4===e||6===e}function sm(e){return 64===e.charCodeAt(0)}function Mo(e,n){if(null!==n&&0!==n.length)if(null===e||0===e.length)e=n.slice();else{let t=-1;for(let i=0;in){s=r-1;break}}}for(;r>16}(e),i=n;for(;t>0;)i=i[14],t--;return i}let Gu=!0;function Fa(e){const n=Gu;return Gu=e,n}let S0=0;const pn={};function Ra(e,n){const t=um(e,n);if(-1!==t)return t;const i=n[1];i.firstCreatePass&&(e.injectorIndex=n.length,qu(i.data,e),qu(n,null),qu(i.blueprint,null));const o=La(e,n),r=e.injectorIndex;if(zu(o)){const s=Fr(o),a=Rr(o,n),l=a[1].data;for(let c=0;c<8;c++)n[r+c]=a[s+c]|l[s+c]}return n[r+8]=o,r}function qu(e,n){e.push(0,0,0,0,0,0,0,0,n)}function um(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function La(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,i=null,o=n;for(;null!==o;){if(i=vm(o),null===i)return-1;if(t++,o=o[14],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Wu(e,n,t){!function x0(e,n,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(Er)&&(i=t[Er]),null==i&&(i=t[Er]=S0++);const o=255&i;n.data[e+(o>>5)]|=1<=0?255&n:k0:n}(t);if("function"==typeof r){if(!Qg(n,e,i))return i&ie.Host?dm(o,0,i):fm(n,t,i,o);try{let s;if(s=r(i),null!=s||i&ie.Optional)return s;ou()}finally{Jg()}}else if("number"==typeof r){let s=null,a=um(e,n),l=-1,c=i&ie.Host?n[15][5]:null;for((-1===a||i&ie.SkipSelf)&&(l=-1===a?La(e,n):n[a+8],-1!==l&&mm(i,!1)?(s=n[1],a=Fr(l),n=Rr(l,n)):a=-1);-1!==a;){const u=n[1];if(gm(r,a,u.data)){const d=O0(a,n,t,s,i,c);if(d!==pn)return d}l=n[a+8],-1!==l&&mm(i,n[1].data[a+8]===c)&&gm(r,a,n)?(s=u,a=Fr(l),n=Rr(l,n)):a=-1}}return o}function O0(e,n,t,i,o,r){const s=n[1],a=s.data[e+8],u=Pa(a,s,t,null==i?Xt(a)&&Gu:i!=s&&!!(3&a.type),o&ie.Host&&r===a);return null!==u?Lr(n,s,u,a):pn}function Pa(e,n,t,i,o){const r=e.providerIndexes,s=n.data,a=1048575&r,l=e.directiveStart,u=r>>20,p=o?a+u:e.directiveEnd;for(let h=i?a:a+u;h=l&&m.type===t)return h}if(o){const h=s[l];if(h&&Ft(h)&&h.type===t)return l}return null}function Lr(e,n,t,i){let o=e[t];const r=n.data;if(o instanceof kr){const s=o;s.resolving&&dg(function ce(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():Q(e)}(r[t]));const a=Fa(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?_t(s.injectImpl):null;Qg(e,i,ie.Default);try{o=e[t]=s.factory(void 0,r,e,i),n.firstCreatePass&&t>=i.directiveStart&&function D0(e,n,t){const{ngOnChanges:i,ngOnInit:o,ngDoCheck:r}=n.type.prototype;if(i){const s=Lg(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}o&&(t.preOrderHooks??=[]).push(0-e,o),r&&((t.preOrderHooks??=[]).push(e,r),(t.preOrderCheckHooks??=[]).push(e,r))}(t,r[t],n)}finally{null!==c&&_t(c),Fa(a),s.resolving=!1,Jg()}}return o}function gm(e,n,t){return!!(t[n+(e>>5)]&1<{const n=e.prototype.constructor,t=n[Sn]||Zu(n),i=Object.prototype;let o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==i;){const r=o[Sn]||Zu(o);if(r&&r!==t)return r;o=Object.getPrototypeOf(o)}return r=>new r})}function Zu(e){return la(e)?()=>{const n=Zu(q(e));return n&&n()}:Ei(e)}function vm(e){const n=e[1],t=n.type;return 2===t?n.declTNode:1===t?e[5]:null}function wm(e,n=null,t=null,i){const o=bm(e,n,t,i);return o.resolveInjectorInitializers(),o}function bm(e,n=null,t=null,i,o=new Set){const r=[t||le,NI(e)];return i=i||("object"==typeof e?void 0:ze(e)),new Ti(r,n||Da(),i||null,o)}class et{static THROW_IF_NOT_FOUND=bi;static NULL=new _a;static create(n,t){if(Array.isArray(n))return wm({name:""},t,n,"");{const i=n.name??"";return wm({name:i},n.parent,n.providers,i)}}static \u0275prov=te({token:et,providedIn:"any",factory:()=>re(Cg)});static __NG_ELEMENT_ID__=-1}new R("").__NG_ELEMENT_ID__=e=>{const n=ee();if(null===n)throw new x(204,!1);if(2&n.type)return n.value;if(e&ie.Optional)return null;throw new x(204,!1)};const Em=!1;let Jn=(()=>class e{static __NG_ELEMENT_ID__=$0;static __NG_ENV_ID__=t=>t})();class Mm extends Jn{_lView;constructor(n){super(),this._lView=n}onDestroy(n){const t=this._lView;return On(t)?(n(),()=>{}):(Sa(t,n),()=>function Tu(e,n){if(null===e[21])return;const t=e[21].indexOf(n);-1!==t&&e[21].splice(t,1)}(t,n))}}function $0(){return new Mm(D())}class Ln{}const Pr=new R("",{providedIn:"root",factory:()=>!1}),Im=new R(""),Yu=new R("");let Li=(()=>{class e{taskId=0;pendingTasks=new Set;get _hasPendingTasks(){return this.hasPendingTasks.value}hasPendingTasks=new oI(!1);add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}has(t){return this.pendingTasks.has(t)}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static \u0275prov=te({token:e,providedIn:"root",factory:()=>new e})}return e})();const De=class G0 extends un{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(n=!1){super(),this.__isAsync=n,function Tg(){return void 0!==fg()||null!=na()}()&&(this.destroyRef=k(Jn,{optional:!0})??void 0,this.pendingTasks=k(Li,{optional:!0})??void 0)}emit(n){const t=J(null);try{super.next(n)}finally{J(t)}}subscribe(n,t,i){let o=n,r=t||(()=>null),s=i;if(n&&"object"==typeof n){const l=n;o=l.next?.bind(l),r=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(r=this.wrapInTimeout(r),o&&(o=this.wrapInTimeout(o)),s&&(s=this.wrapInTimeout(s)));const a=super.subscribe({next:o,error:r,complete:s});return n instanceof Tt&&n.add(a),a}wrapInTimeout(n){return t=>{const i=this.pendingTasks?.add();setTimeout(()=>{try{n(t)}finally{void 0!==i&&this.pendingTasks?.remove(i)}})}}};function Vr(...e){}function Tm(e){let n,t;function i(){e=Vr;try{void 0!==t&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(t),void 0!==n&&clearTimeout(n)}catch{}}return n=setTimeout(()=>{e(),i()}),"function"==typeof requestAnimationFrame&&(t=requestAnimationFrame(()=>{e(),i()})),()=>i()}function Sm(e){return queueMicrotask(()=>e()),()=>{e=Vr}}const Ku="isAngularZone",Ba=Ku+"_ID";let q0=0;class he{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new De(!1);onMicrotaskEmpty=new De(!1);onStable=new De(!1);onError=new De(!1);constructor(n){const{enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:o=!1,scheduleInRootZone:r=Em}=n;if(typeof Zone>"u")throw new x(908,!1);Zone.assertZonePatched();const s=this;s._nesting=0,s._outer=s._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(s._inner=s._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!o&&i,s.shouldCoalesceRunChangeDetection=o,s.callbackScheduled=!1,s.scheduleInRootZone=r,function Q0(e){const n=()=>{!function Z0(e){function n(){Tm(()=>{e.callbackScheduled=!1,Ju(e),e.isCheckStableRunning=!0,Xu(e),e.isCheckStableRunning=!1})}e.isCheckStableRunning||e.callbackScheduled||(e.callbackScheduled=!0,e.scheduleInRootZone?Zone.root.run(()=>{n()}):e._outer.run(()=>{n()}),Ju(e))}(e)},t=q0++;e._inner=e._inner.fork({name:"angular",properties:{[Ku]:!0,[Ba]:t,[Ba+t]:!0},onInvokeTask:(i,o,r,s,a,l)=>{if(function Y0(e){return Om(e,"__ignore_ng_zone__")}(l))return i.invokeTask(r,s,a,l);try{return xm(e),i.invokeTask(r,s,a,l)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&n(),Nm(e)}},onInvoke:(i,o,r,s,a,l,c)=>{try{return xm(e),i.invoke(r,s,a,l,c)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!function K0(e){return Om(e,"__scheduler_tick__")}(l)&&n(),Nm(e)}},onHasTask:(i,o,r,s)=>{i.hasTask(r,s),o===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Ju(e),Xu(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,o,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(s)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get(Ku)}static assertInAngularZone(){if(!he.isInAngularZone())throw new x(909,!1)}static assertNotInAngularZone(){if(he.isInAngularZone())throw new x(909,!1)}run(n,t,i){return this._inner.run(n,t,i)}runTask(n,t,i,o){const r=this._inner,s=r.scheduleEventTask("NgZoneEvent: "+o,n,W0,Vr,Vr);try{return r.runTask(s,t,i)}finally{r.cancelTask(s)}}runGuarded(n,t,i){return this._inner.runGuarded(n,t,i)}runOutsideAngular(n){return this._outer.run(n)}}const W0={};function Xu(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function Ju(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&!0===e.callbackScheduled)}function xm(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Nm(e){e._nesting--,Xu(e)}class ed{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new De;onMicrotaskEmpty=new De;onStable=new De;onError=new De;run(n,t,i){return n.apply(t,i)}runGuarded(n,t,i){return n.apply(t,i)}runOutsideAngular(n){return n()}runTask(n,t,i,o){return n.apply(t,i)}}function Om(e,n){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0]?.data?.[n]}class en{_console=console;handleError(n){this._console.error("ERROR",n)}}const J0=new R("",{providedIn:"root",factory:()=>{const e=k(he),n=k(en);return t=>e.runOutsideAngular(()=>n.handleError(t))}});function eT(){return Io(ee(),D())}function Io(e,n){return new ut(at(e,n))}let ut=(()=>class e{nativeElement;constructor(t){this.nativeElement=t}static __NG_ELEMENT_ID__=eT})();function km(e){return e instanceof ut?e.nativeElement:e}function gn(e,n){const t=function BM(e,n){const t=Object.create(Gp);t.value=e,void 0!==n&&(t.equal=n);const i=()=>(Qs(t),t.value);return i[tt]=t,i}(e,n?.equal),i=t[tt];return t.set=o=>Vc(i,o),t.update=o=>function zp(e,n){Vp()||$p(e),Vc(e,n(e.value))}(i,o),t.asReadonly=ja.bind(t),t}function ja(){const e=this[tt];if(void 0===e.readonlyFn){const n=()=>this();n[tt]=e,e.readonlyFn=n}return e.readonlyFn}function Rm(e){return function Fm(e){return"function"==typeof e&&void 0!==e[tt]}(e)&&"function"==typeof e.set}function tT(){return this._results[Symbol.iterator]()}class nT{_emitDistinctChangesOnly;dirty=!0;_onDirty=void 0;_results=[];_changesDetected=!1;_changes=void 0;length=0;first=void 0;last=void 0;get changes(){return this._changes??=new un}constructor(n=!1){this._emitDistinctChangesOnly=n}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,t){return this._results.reduce(n,t)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,t){this.dirty=!1;const i=function yt(e){return e.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function SI(e,n,t){if(e.length!==n.length)return!1;for(let i=0;iMT}),MT="ng",ad=new R(""),ld=new R("",{providedIn:"platform",factory:()=>"unknown"}),Jm=new R("",{providedIn:"root",factory:()=>mn().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null}),iv=new R("",{providedIn:"root",factory:()=>!1});var yd=function(e){return e[e.CHANGE_DETECTION=0]="CHANGE_DETECTION",e[e.AFTER_NEXT_RENDER=1]="AFTER_NEXT_RENDER",e}(yd||{});const So=new R(""),av=new Set;let Cd=(()=>{class e{impl=null;execute(){this.impl?.execute()}static \u0275prov=te({token:e,providedIn:"root",factory:()=>new e})}return e})();function Pv(e,n){const t=e.contentQueries;if(null!==t){const i=J(null);try{for(let o=0;oe,createScript:e=>e,createScriptURL:e=>e})}catch{}return ol}()?.createHTML(e)||e}function Hv(e){return function Rd(){if(void 0===rl&&(rl=null,Oe.trustedTypes))try{rl=Oe.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return rl}()?.createHTML(e)||e}class Uv{changingThisBreaksApplicationSecurity;constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${ng})`}}function ti(e){return e instanceof Uv?e.changingThisBreaksApplicationSecurity:e}function Jr(e,n){const t=function _1(e){return e instanceof Uv&&e.getTypeName()||null}(e);if(null!=t&&t!==n){if("ResourceURL"===t&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${t} (see ${ng})`)}return t===n}class y1{inertDocumentHelper;constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{const t=(new window.DOMParser).parseFromString(Po(n),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(n):(t.firstChild?.remove(),t)}catch{return null}}}class C1{defaultDoc;inertDocument;constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){const t=this.inertDocument.createElement("template");return t.innerHTML=Po(n),t}}const w1=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Ld(e){return(e=String(e)).match(w1)?e:"unsafe:"+e}function Bn(e){const n={};for(const t of e.split(","))n[t]=!0;return n}function es(...e){const n={};for(const t of e)for(const i in t)t.hasOwnProperty(i)&&(n[i]=!0);return n}const zv=Bn("area,br,col,hr,img,wbr"),Gv=Bn("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),qv=Bn("rp,rt"),Pd=es(zv,es(Gv,Bn("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),es(qv,Bn("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),es(qv,Gv)),Vd=Bn("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Wv=es(Vd,Bn("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Bn("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),b1=Bn("script,style,template");class E1{sanitizedSomething=!1;buf=[];sanitizeChildren(n){let t=n.firstChild,i=!0,o=[];for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)o.push(t),t=T1(t);else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=I1(t);if(r){t=r;break}t=o.pop()}return this.buf.join("")}startElement(n){const t=Zv(n).toLowerCase();if(!Pd.hasOwnProperty(t))return this.sanitizedSomething=!0,!b1.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=n.attributes;for(let o=0;o"),!0}endElement(n){const t=Zv(n).toLowerCase();Pd.hasOwnProperty(t)&&!zv.hasOwnProperty(t)&&(this.buf.push(""))}chars(n){this.buf.push(Yv(n))}}function I1(e){const n=e.nextSibling;if(n&&e!==n.previousSibling)throw Qv(n);return n}function T1(e){const n=e.firstChild;if(n&&function M1(e,n){return(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}(e,n))throw Qv(n);return n}function Zv(e){const n=e.nodeName;return"string"==typeof n?n:"FORM"}function Qv(e){return new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`)}const S1=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,x1=/([^\#-~ |!])/g;function Yv(e){return e.replace(/&/g,"&").replace(S1,function(n){return"&#"+(1024*(n.charCodeAt(0)-55296)+(n.charCodeAt(1)-56320)+65536)+";"}).replace(x1,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}let sl;function Hd(e){return"content"in e&&function O1(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Vo=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Vo||{});function Kv(e){const n=ts();return n?Hv(n.sanitize(Vo.HTML,e)||""):Jr(e,"HTML")?Hv(ti(e)):function N1(e,n){let t=null;try{sl=sl||function $v(e){const n=new C1(e);return function D1(){try{return!!(new window.DOMParser).parseFromString(Po(""),"text/html")}catch{return!1}}()?new y1(n):n}(e);let i=n?String(n):"";t=sl.getInertBodyElement(i);let o=5,r=i;do{if(0===o)throw new Error("Failed to sanitize html because the input is unstable");o--,i=r,r=t.innerHTML,t=sl.getInertBodyElement(i)}while(i!==r);return Po((new E1).sanitizeChildren(Hd(t)||t))}finally{if(t){const i=Hd(t)||t;for(;i.firstChild;)i.firstChild.remove()}}}(mn(),Q(e))}function ni(e){const n=ts();return n?n.sanitize(Vo.URL,e)||"":Jr(e,"URL")?ti(e):Ld(Q(e))}function ts(){const e=D();return e&&e[10].sanitizer}const V1=/^>|^->||--!>|)/g;function cl(e){return e.ownerDocument.defaultView}function Y1(e,n,t){let i=e.length;for(;;){const o=e.indexOf(n,t);if(-1===o)return o;if(0===o||e.charCodeAt(o-1)<=32){const r=n.length;if(o+r===i||e.charCodeAt(o+r)<=32)return o}t=o+1}}const a_="ng-template";function K1(e,n,t,i){let o=0;if(i){for(;o-1){let r;for(;++or?"":o[u+1].toLowerCase(),2&i&&c!==d){if(tn(i))return!1;s=!0}}}}else{if(!s&&!tn(i)&&!tn(l))return!1;if(s&&tn(l))continue;s=!1,i=l|1&i}}return tn(i)||s}function tn(e){return!(1&e)}function eS(e,n,t,i){if(null===n)return-1;let o=0;if(i||!t){let r=!1;for(;o-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&i?o+="."+s:4&i&&(o+=" "+s);else""!==o&&!tn(s)&&(n+=c_(r,o),o=""),i=s,r=r||!tn(i);t++}return""!==o&&(n+=c_(r,o)),n}const Y={};function zd(e,n){return e.createComment(function Jv(e){return e.replace(V1,n=>n.replace(H1,"\u200b$1\u200b"))}(n))}function ul(e,n,t){return e.createElement(n,t)}function Hi(e,n,t,i,o){e.insertBefore(n,t,i,o)}function d_(e,n,t){e.appendChild(n,t)}function f_(e,n,t,i,o){null!==i?Hi(e,n,t,i,o):d_(e,n,t)}function p_(e,n,t){const{mergedAttrs:i,classes:o,styles:r}=t;null!==i&&function I0(e,n,t){let i=0;for(;iA&&m_(e,n,A,!1),t(i,o)}finally{Fi(r)}}function hl(e,n,t){(function _S(e,n,t){const i=t.directiveStart,o=t.directiveEnd;Xt(t)&&function dS(e,n,t){const i=at(n,e),o=function g_(e){const n=e.tView;return null===n||n.incompleteFirstPass?e.tView=Gd(1,null,e.template,e.decls,e.vars,e.directiveDefs,e.pipeDefs,e.viewQuery,e.schemas,e.consts,e.id):n}(t),r=e[10].rendererFactory,s=Wd(e,dl(e,o,null,qd(t),i,n,null,r.createRenderer(i,t),null,null,null));e[n.index]=s}(n,t,e.data[i+t.componentOffset]),e.firstCreatePass||Ra(t,n);const r=t.initialInputs;for(let s=i;snull;function wt(e,n,t,i,o,r,s,a){if(a||!Jd(n,e,t,i,o)){if(3&n.type){const l=at(n,t);i=function mS(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(i),o=null!=s?s(o,n.value||"",i):o,r.setProperty(l,i,o)}}else Xt(n)&&function vS(e,n){const t=lt(n,e);16&t[2]||(t[2]|=64)}(t,n.index)}function CS(e,n){null!==e.hostBindings&&e.hostBindings(1,n)}function Yd(e,n){const t=e.directiveRegistry;let i=null;if(t)for(let o=0;o=0?i[a]():i[-a].unsubscribe(),s+=2}else t[s].call(i[t[s+1]]);null!==i&&(n[7]=null);const o=n[21];if(null!==o){n[21]=null;for(let s=0;s{bo(e.lView)},consumerOnSignalRead(){this.lView[24]=this}},VS={...io,consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:e=>{let n=kn(e.lView);for(;n&&!A_(n[1]);)n=kn(n);n&&Mu(n)},consumerOnSignalRead(){this.lView[24]=this}};function A_(e){return 2!==e.type}function k_(e){if(null===e[23])return;let n=!0;for(;n;){let t=!1;for(const i of e[23])i.dirty&&(t=!0,null===i.zone||Zone.current===i.zone?i.run():i.zone.run(()=>i.run()));n=t&&!!(8192&e[2])}}function vl(e,n=!0,t=0){const o=e[10].rendererFactory;o.begin?.();try{!function BS(e,n){const t=qg();try{Na(!0),uf(e,n);let i=0;for(;Nr(e);){if(100===i)throw new x(103,!1);i++,uf(e,1)}}finally{Na(t)}}(e,t)}catch(s){throw n&&function Xd(e,n){const t=e[9],i=t?t.get(en,null):null;i&&i.handleError(n)}(e,s),s}finally{o.end?.()}}function R_(e,n,t,i){if(On(n))return;const o=n[2];Vu(n);let a=!0,l=null,c=null;A_(e)?(c=function kS(e){return e[24]??function FS(e){const n=O_.pop()??Object.create(LS);return n.lView=e,n}(e)}(n),l=oo(c)):null===function Pc(){return Pe}()?(a=!1,c=function PS(e){const n=e[24]??Object.create(VS);return n.lView=e,n}(n),l=oo(c)):n[24]&&(Xs(n[24]),n[24]=null);try{jg(n),function Wg(e){return W.lFrame.bindingIndex=e}(e.bindingStartIndex),null!==t&&v_(e,n,t,2,i);const u=!(3&~o);if(u){const h=e.preOrderCheckHooks;null!==h&&Aa(n,h,null)}else{const h=e.preOrderHooks;null!==h&&ka(n,h,0,null),ju(n,0)}if(function jS(e){for(let n=zm(e);null!==n;n=Gm(n)){if(!(2&n[2]))continue;const t=n[9];for(let i=0;i0&&(e[t-1][4]=i[4]);const r=ma(e,10+n);!function D_(e,n){w_(e,n),n[0]=null,n[5]=null}(i[1],i);const s=r[18];null!==s&&s.detachView(r[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function j_(e,n){const t=e[9],i=n[3];(Ae(i)||n[15]!==i[3][15])&&(e[2]|=2),null===t?e[9]=[n]:t.push(n)}let as=class{_lView;_cdRefInjectingView;notifyErrorHandler;_appRef=null;_attachedToViewContainer=!1;get rootNodes(){const n=this._lView,t=n[1];return Uo(t,n,t.firstChild,[])}constructor(n,t,i=!0){this._lView=n,this._cdRefInjectingView=t,this.notifyErrorHandler=i}get context(){return this._lView[8]}set context(n){this._lView[8]=n}get destroyed(){return On(this._lView)}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const n=this._lView[3];if(qe(n)){const t=n[8],i=t?t.indexOf(this):-1;i>-1&&(ss(n,i),ma(t,i))}this._attachedToViewContainer=!1}os(this._lView[1],this._lView)}onDestroy(n){Sa(this._lView,n)}markForCheck(){rs(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[2]&=-129}reattach(){Iu(this._lView),this._lView[2]|=128}detectChanges(){this._lView[2]|=1024,vl(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new x(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;const n=Nn(this._lView),t=this._lView[16];null!==t&&!n&&nf(t,this._lView),w_(this._lView[1],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new x(902,!1);this._appRef=n;const t=Nn(this._lView),i=this._lView[16];null!==i&&!t&&j_(i,this._lView),Iu(this._lView)}},jn=(()=>class e{static __NG_ELEMENT_ID__=WS})();const GS=jn,qS=class extends GS{_declarationLView;_declarationTContainer;elementRef;constructor(n,t,i){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,i){const o=function Bo(e,n,t,i){const o=J(null);try{const r=n.tView,l=dl(e,r,t,4096&e[2]?4096:16,null,n,null,null,i?.injector??null,i?.embeddedViewInjector??null,i?.dehydratedView??null);l[16]=e[n.index];const u=e[18];return null!==u&&(l[18]=u.createEmbeddedView(r)),pl(r,l,t),l}finally{J(o)}}(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:t,dehydratedView:i});return new as(o)}};function WS(){return _l(ee(),D())}function _l(e,n){return 4&e.type?new qS(n,e,Io(e,n)):null}function zo(e,n,t,i,o){let r=e.data[n];if(null===r)r=function gf(e,n,t,i,o){const r=$g(),s=ku(),l=e.data[n]=function ix(e,n,t,i,o,r){let s=n?n.injectorIndex:-1,a=0;return function ki(){return null!==W.skipHydrationRootTNode}()&&(a|=128),{type:t,index:i,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:o,attrs:r,mergedAttrs:null,localNames:null,initialInputs:null,inputs:null,hostDirectiveInputs:null,outputs:null,hostDirectiveOutputs:null,directiveToIndex:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?r:r&&r.parent,t,n,i,o);return function nx(e,n,t,i){null===e.firstChild&&(e.firstChild=n),null!==t&&(i?null==t.child&&null!==n.parent&&(t.child=n):null===t.next&&(t.next=n,n.prev=t))}(e,l,r,s),l}(e,n,t,i,o),function h0(){return W.lFrame.inI18n}()&&(r.flags|=32);else if(64&r.type){r.type=t,r.value=i,r.attrs=o;const s=function Or(){const e=W.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();r.injectorIndex=null===s?-1:s.injectorIndex}return Jt(r,!0),r}let $x=class{},uy=class{};class zx{resolveComponentFactory(n){throw Error(`No component factory found for ${ze(n)}.`)}}let Ml=class{static NULL=new zx};class bf{}let nn=(()=>class e{destroyNode=null;static __NG_ELEMENT_ID__=()=>function Gx(){const e=D(),t=lt(ee().index,e);return(Ae(t)?t:e)[U]}()})(),qx=(()=>{class e{static \u0275prov=te({token:e,providedIn:"root",factory:()=>null})}return e})();const Mf={};class Zo{injector;parentInjector;constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,i){i=ga(i);const o=this.injector.get(n,Mf,i);return o!==Mf||t===Mf?o:this.parentInjector.get(n,t,i)}}function If(e,n,t){let i=t?e.styles:null,o=t?e.classes:null,r=0;if(null!==n)for(let s=0;s0&&(t.directiveToIndex=new Map);for(let p=0;p0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,i,r)}}(e,n,i,is(e,t,o.hostVars,Y),o)}function sN(e,n,t){if(t){if(n.exportAs)for(let i=0;i{const[t,i,o]=e[n],r={propName:t,templateName:n,isSignal:!!(i&fl.SignalBased)};return o&&(r.transform=o),r})}(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=function cN(e){return Object.keys(e).map(n=>({propName:e[n],templateName:n}))}(this.componentDef.outputs),this.cachedOutputs}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function sS(e){return e.map(rS).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors??[],this.isBoundToModule=!!t}create(n,t,i,o){const r=J(null);try{const s=this.componentDef,a=i?["ng-version","19.2.9"]:function aS(e){const n=[],t=[];let i=1,o=2;for(;i[this.componentDef],!0,0);p&&(p_(d,p,C),Dt(p,h)),hl(l,h,C),Fd(l,C,h),vy(l,C),void 0!==t&&function pN(e,n,t){const i=e.projection=[];for(let o=0;oclass e{static __NG_ELEMENT_ID__=gN})();function gN(){return Dy(ee(),D())}const mN=yn,yy=class extends mN{_lContainer;_hostTNode;_hostLView;constructor(n,t,i){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=i}get element(){return Io(this._hostTNode,this._hostLView)}get injector(){return new ke(this._hostTNode,this._hostLView)}get parentInjector(){const n=La(this._hostTNode,this._hostLView);if(zu(n)){const t=Rr(n,this._hostLView),i=Fr(n);return new ke(t[1].data[i+8],t)}return new ke(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=Cy(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-10}createEmbeddedView(n,t,i){let o,r;"number"==typeof i?o=i:null!=i&&(o=i.index,r=i.injector);const a=n.createEmbeddedViewImpl(t||{},r,null);return this.insertImpl(a,o,Bi(this._hostTNode,null)),a}createComponent(n,t,i,o,r){const s=n&&!function Sr(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const m=t||{};a=m.index,i=m.injector,o=m.projectableNodes,r=m.environmentInjector||m.ngModuleRef}const l=s?n:new vs(ne(n)),c=i||this.parentInjector;if(!r&&null==l.ngModule){const C=(s?c:this.parentInjector).get(Yt,null);C&&(r=C)}ne(l.componentType??{});const h=l.create(c,o,null,r);return this.insertImpl(h.hostView,a,Bi(this._hostTNode,null)),h}insert(n,t){return this.insertImpl(n,t,!0)}insertImpl(n,t,i){const o=n._lView;if(function n0(e){return qe(e[3])}(o)){const a=this.indexOf(n);if(-1!==a)this.detach(a);else{const l=o[3],c=new yy(l,l[5],l[3]);c.detach(c.indexOf(n))}}const r=this._adjustIndex(t),s=this._lContainer;return function $o(e,n,t,i=!0){const o=n[1];if(function zS(e,n,t,i){const o=10+i,r=t.length;i>0&&(t[o-1][4]=n),in.trim())}(n):n}}class Af{queries;constructor(n=[]){this.queries=n}elementStart(n,t){for(let i=0;i0)i.push(s[a/2]);else{const c=r[a+1],u=n[-l];for(let d=10;dt()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class Bf extends LN{moduleType;constructor(n){super(),this.moduleType=n}create(n){return new Hf(this.moduleType,n,[])}}class Uy extends $i{injector;componentFactoryResolver=new _y(this);instance=null;constructor(n){super();const t=new Ti([...n.providers,{provide:$i,useValue:this},{provide:Ml,useValue:this.componentFactoryResolver}],n.parent||Da(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}let HN=(()=>{class e{_injector;cachedInjectors=new Map;constructor(t){this._injector=t}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){const i=fu(0,t.type),o=i.length>0?function $y(e,n,t=null){return new Uy({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}([i],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,o)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}static \u0275prov=te({token:e,providedIn:"environment",factory:()=>new e(re(Yt))})}return e})();function on(e){return In(()=>{const n=zy(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===Ua.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:n.standalone?o=>o.get(HN).getOrCreateStandaloneInjector(t):null,getExternalStyles:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Ut.Emulated,styles:e.styles||le,_:null,schemas:e.schemas||null,tView:null,id:""};n.standalone&&function Rt(e){av.has(e)||(av.add(e),performance?.mark?.("mark_feature_usage",{detail:{feature:e}}))}("NgStandalone"),Gy(t);const i=e.dependencies;return t.directiveDefs=Tl(i,!1),t.pipeDefs=Tl(i,!0),t.id=function GN(e){let n=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,"function"==typeof e.consts?"":e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery];for(const r of i.join("|"))n=Math.imul(31,n)+r.charCodeAt(0)|0;return n+=2147483648,"c"+n}(t),t})}function BN(e){return ne(e)||function Xe(e){return e[nu]||null}(e)}function jN(e){return null!==e}function si(e){return In(()=>({type:e.type,bootstrap:e.bootstrap||le,declarations:e.declarations||le,imports:e.imports||le,exports:e.exports||le,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function UN(e,n){if(null==e)return Zt;const t={};for(const i in e)if(e.hasOwnProperty(i)){const o=e[i];let r,s,a,l;Array.isArray(o)?(a=o[0],r=o[1],s=o[2]??r,l=o[3]||null):(r=o,s=o,a=fl.None,l=null),t[r]=[i,a,l],n[r]=s}return t}function $N(e){if(null==e)return Zt;const n={};for(const t in e)e.hasOwnProperty(t)&&(n[e[t]]=t);return n}function Z(e){return In(()=>{const n=zy(e);return Gy(n),n})}function bt(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:e.standalone??!0,onDestroy:e.type.prototype.ngOnDestroy||null}}function zy(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputConfig:e.inputs||Zt,exportAs:e.exportAs||null,standalone:e.standalone??!0,signals:!0===e.signals,selectors:e.selectors||le,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:UN(e.inputs,n),outputs:$N(e.outputs),debugInfo:null}}function Gy(e){e.features?.forEach(n=>n(e))}function Tl(e,n){if(!e)return null;const t=n?At:BN;return()=>("function"==typeof e?e():e).map(i=>t(i)).filter(jN)}function ue(e){let n=function qy(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),t=!0;const i=[e];for(;n;){let o;if(Ft(e))o=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new x(903,!1);o=n.\u0275dir}if(o){if(t){i.push(o);const s=e;s.inputs=jf(e.inputs),s.declaredInputs=jf(e.declaredInputs),s.outputs=jf(e.outputs);const a=o.hostBindings;a&&YN(e,a);const l=o.viewQuery,c=o.contentQueries;if(l&&ZN(e,l),c&&QN(e,c),qN(e,o),lI(e.outputs,o.outputs),Ft(o)&&o.data.animation){const u=e.data;u.animation=(u.animation||[]).concat(o.data.animation)}}const r=o.features;if(r)for(let s=0;s=0;i--){const o=e[i];o.hostVars=n+=o.hostVars,o.hostAttrs=Mo(o.hostAttrs,t=Mo(t,o.hostAttrs))}}(i)}function qN(e,n){for(const t in n.inputs){if(!n.inputs.hasOwnProperty(t)||e.inputs.hasOwnProperty(t))continue;const i=n.inputs[t];void 0!==i&&(e.inputs[t]=i,e.declaredInputs[t]=n.declaredInputs[t])}}function jf(e){return e===Zt?{}:e===le?[]:e}function ZN(e,n){const t=e.viewQuery;e.viewQuery=t?(i,o)=>{n(i,o),t(i,o)}:n}function QN(e,n){const t=e.contentQueries;e.contentQueries=t?(i,o,r)=>{n(i,o,r),t(i,o,r)}:n}function YN(e,n){const t=e.hostBindings;e.hostBindings=t?(i,o)=>{n(i,o),t(i,o)}:n}function Sl(e){return!!$f(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function $f(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function Cn(e,n,t){return e[n]=t}function Fe(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function zi(e,n,t,i){const o=Fe(e,n,t);return Fe(e,n+1,i)||o}function L(e,n,t,i,o,r,s,a){const l=D(),c=G();return function Cs(e,n,t,i,o,r,s,a,l,c){const u=t+A,d=n.firstCreatePass?function rO(e,n,t,i,o,r,s,a,l){const c=n.consts,u=zo(n,e,4,s||null,a||null);Au()&&Tf(n,t,u,Bt(c,l),Yd),u.mergedAttrs=Mo(u.mergedAttrs,u.attrs),Bu(n,u);const d=u.tView=Gd(2,u,i,o,r,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,u),d.queries=n.queries.embeddedTView(u)),u}(u,n,e,i,o,r,s,a,l):n.data[u];Jt(d,!1);const p=Ky(n,e,d,t);Ar()&&gl(n,e,p,d),Dt(p,e);const h=H_(p,e,p,d);return e[u]=h,Wd(e,h),Ia(d)&&hl(n,e,d),null!=l&&Qd(e,d,c),d}(l,c,e,n,t,i,o,Bt(c.consts,r),s,a),L}let Ky=function Xy(e,n,t,i){return hn(!0),n[U].createComment("")};const fC=new R(""),kl=new R("");let Kf,Qf=(()=>{class e{_ngZone;registry;_isZoneStable=!0;_callbacks=[];taskTrackingZone=null;constructor(t,i,o){this._ngZone=t,this.registry=i,Kf||(function iA(e){Kf=e}(o),o.addToWindow(i)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{he.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}isStable(){return this._isZoneStable&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb()}});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1))}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,o){let r=-1;i&&i>0&&(r=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==r),t()},i)),this._callbacks.push({doneCb:t,timeoutId:r,updateCb:o})}whenStable(t,i,o){if(o&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,o),this._runCallbacksIfReady()}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,i,o){return[]}static \u0275fac=function(i){return new(i||e)(re(he),re(Yf),re(kl))};static \u0275prov=te({token:e,factory:e.\u0275fac})}return e})(),Yf=(()=>{class e{_applications=new Map;registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return Kf?.findTestabilityInTree(this,t,i)??null}static \u0275fac=function(i){return new(i||e)};static \u0275prov=te({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),hC=(()=>{class e{static \u0275prov=te({token:e,providedIn:"root",factory:()=>new oA})}return e})();class oA{queuedEffectCount=0;queues=new Map;schedule(n){this.enqueue(n)}remove(n){const i=this.queues.get(n.zone);i.has(n)&&(i.delete(n),this.queuedEffectCount--)}enqueue(n){const t=n.zone;this.queues.has(t)||this.queues.set(t,new Set);const i=this.queues.get(t);i.has(n)||(this.queuedEffectCount++,i.add(n))}flush(){for(;this.queuedEffectCount>0;)for(const[n,t]of this.queues)null===n?this.flushQueue(t):n.run(()=>this.flushQueue(t))}flushQueue(n){for(const t of n)n.delete(t),this.queuedEffectCount--,t.run()}}function Fl(e){return!!e&&"function"==typeof e.then}function pC(e){return!!e&&"function"==typeof e.subscribe}const gC=new R("");let mC=(()=>{class e{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((t,i)=>{this.resolve=t,this.reject=i});appInits=k(gC,{optional:!0})??[];injector=k(et);constructor(){}runInitializers(){if(this.initialized)return;const t=[];for(const o of this.appInits){const r=Ig(this.injector,o);if(Fl(r))t.push(r);else if(pC(r)){const s=new Promise((a,l)=>{r.subscribe({complete:a,error:l})});t.push(s)}}const i=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{i()}).catch(o=>{this.reject(o)}),0===t.length&&i(),this.initialized=!0}static \u0275fac=function(i){return new(i||e)};static \u0275prov=te({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Rl=new R("");function _C(e,n){return Array.isArray(n)?n.reduce(_C,e):{...e,...n}}let zt=(()=>{class e{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=k(J0);afterRenderManager=k(Cd);zonelessEnabled=k(Pr);rootEffectScheduler=k(hC);dirtyFlags=0;tracingSnapshot=null;externalTestViews=new Set;afterTick=new un;get allViews(){return[...this.externalTestViews.keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];isStable=k(Li).hasPendingTasks.pipe(Qc(t=>!t));constructor(){k(So,{optional:!0})}whenStable(){let t;return new Promise(i=>{t=this.isStable.subscribe({next:o=>{o&&i()}})}).finally(()=>{t.unsubscribe()})}_injector=k(Yt);_rendererFactory=null;get injector(){return this._injector}bootstrap(t,i){return this.bootstrapImpl(t,i)}bootstrapImpl(t,i,o=et.NULL){const r=t instanceof uy;if(!this._injector.get(mC).done)throw new x(405,"");let a;a=r?t:this._injector.get(Ml).resolveComponentFactory(t),this.componentTypes.push(a.componentType);const l=function rA(e){return e.isBoundToModule}(a)?void 0:this._injector.get($i),u=a.create(o,[],i||a.selector,l),d=u.location.nativeElement,p=u.injector.get(fC,null);return p?.registerApplication(d),u.onDestroy(()=>{this.detachView(u.hostView),Ll(this.components,u),p?.unregisterApplication(d)}),this._loadComponent(u),u}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){null!==this.tracingSnapshot?this.tracingSnapshot.run(yd.CHANGE_DETECTION,this.tickImpl):this.tickImpl()}tickImpl=()=>{if(this._runningTick)throw new x(101,!1);const t=J(null);try{this._runningTick=!0,this.synchronize()}catch(i){this.internalErrorHandler(i)}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,J(t),this.afterTick.next()}};synchronize(){null===this._rendererFactory&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(bf,null,{optional:!0}));let t=0;for(;0!==this.dirtyFlags&&t++<10;)this.synchronizeOnce()}synchronizeOnce(){if(16&this.dirtyFlags&&(this.dirtyFlags&=-17,this.rootEffectScheduler.flush()),7&this.dirtyFlags){const t=!!(1&this.dirtyFlags);this.dirtyFlags&=-8,this.dirtyFlags|=8;for(let{_lView:i,notifyErrorHandler:o}of this.allViews)aA(i,o,t,this.zonelessEnabled);if(this.dirtyFlags&=-5,this.syncDirtyFlagsWithViews(),23&this.dirtyFlags)return}else this._rendererFactory?.begin?.(),this._rendererFactory?.end?.();8&this.dirtyFlags&&(this.dirtyFlags&=-9,this.afterRenderManager.execute()),this.syncDirtyFlagsWithViews()}syncDirtyFlagsWithViews(){this.allViews.some(({_lView:t})=>Nr(t))?this.dirtyFlags|=2:this.dirtyFlags&=-8}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;Ll(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(Rl,[]).forEach(o=>o(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>Ll(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new x(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}static \u0275fac=function(i){return new(i||e)};static \u0275prov=te({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Ll(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function aA(e,n,t,i){(t||Nr(e))&&vl(e,n,t&&!i?0:1)}function ft(e,n,t,i){const o=D();return Fe(o,jt(),n)&&(G(),_n(ve(),o,e,n,t,i)),ft}function Jo(e,n,t,i){return Fe(e,jt(),t)?n+Q(t)+i:Y}function Pl(e,n){return e<<17|n<<2}function qi(e){return e>>17&32767}function nh(e){return 2|e}function ar(e){return(131068&e)>>2}function ih(e,n){return-131069&e|n<<2}function oh(e){return 1|e}function LC(e,n,t,i){const o=e[t+1],r=null===n;let s=i?qi(o):ar(o),a=!1;for(;0!==s&&(!1===a||r);){const c=e[s+1];WA(e[s],n)&&(a=!0,e[s+1]=i?oh(c):nh(c)),s=i?qi(c):ar(c)}a&&(e[t+1]=i?nh(o):oh(o))}function WA(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&Ir(e,n)>=0}const We={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function PC(e){return e.substring(We.key,We.keyEnd)}function VC(e,n){const t=We.textEnd;return t===n?-1:(n=We.keyEnd=function KA(e,n,t){for(;n32;)n++;return n}(e,We.key=n,t),lr(e,n,t))}function lr(e,n,t){for(;n=0;t=VC(n,t))Nt(e,PC(n),!0)}function rn(e,n,t,i){const o=D(),r=G(),s=Rn(2);r.firstUpdatePass&&zC(r,e,s,i),n!==Y&&Fe(o,s,n)&&qC(r,r.data[Je()],o,o[U],e,o[s+1]=function ck(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=ze(ti(e)))),e}(n,t),i,s)}function $C(e,n){return n>=e.expandoStartIndex}function zC(e,n,t,i){const o=e.data;if(null===o[t+1]){const r=o[Je()],s=$C(e,t);ZC(r,i)&&null===n&&!s&&(n=!1),n=function nk(e,n,t,i){const o=function Lu(e){const n=W.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let r=i?n.residualClasses:n.residualStyles;if(null===o)0===(i?n.classBindings:n.styleBindings)&&(t=bs(t=sh(null,e,n,t,i),n.attrs,i),r=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==o)if(t=sh(o,e,n,t,i),null===r){let l=function ik(e,n,t){const i=t?n.classBindings:n.styleBindings;if(0!==ar(i))return e[qi(i)]}(e,n,i);void 0!==l&&Array.isArray(l)&&(l=sh(null,e,n,l[1],i),l=bs(l,n.attrs,i),function ok(e,n,t,i){e[qi(t?n.classBindings:n.styleBindings)]=i}(e,n,i,l))}else r=function rk(e,n,t){let i;const o=n.directiveEnd;for(let r=1+n.directiveStylingLast;r0)&&(c=!0)):u=t,o)if(0!==l){const p=qi(e[a+1]);e[i+1]=Pl(p,a),0!==p&&(e[p+1]=ih(e[p+1],i)),e[a+1]=function $A(e,n){return 131071&e|n<<17}(e[a+1],i)}else e[i+1]=Pl(a,0),0!==a&&(e[a+1]=ih(e[a+1],i)),a=i;else e[i+1]=Pl(l,0),0===a?a=i:e[l+1]=ih(e[l+1],i),l=i;c&&(e[i+1]=nh(e[i+1])),LC(e,u,i,!0),LC(e,u,i,!1),function qA(e,n,t,i,o){const r=o?e.residualClasses:e.residualStyles;null!=r&&"string"==typeof n&&Ir(r,n)>=0&&(t[i+1]=oh(t[i+1]))}(n,u,e,i,r),s=Pl(a,l),r?n.classBindings=s:n.styleBindings=s}(o,r,n,t,s,i)}}function sh(e,n,t,i,o){let r=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[o],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let p=t[o+1];p===Y&&(p=d?le:void 0);let h=d?uu(p,i):u===i?p:void 0;if(c&&!Hl(h)&&(h=uu(l,i)),Hl(h)&&(a=h,s))return a;const m=e[o+1];o=s?qi(m):ar(m)}if(null!==n){let l=r?n.residualClasses:n.residualStyles;null!=l&&(a=uu(l,i))}return a}function Hl(e){return void 0!==e}function ZC(e,n){return!!(e.flags&(n?8:16))}function Gt(e,n,t){!function sn(e,n,t,i){const o=G(),r=Rn(2);o.firstUpdatePass&&zC(o,null,r,i);const s=D();if(t!==Y&&Fe(s,r,t)){const a=o.data[Je()];if(ZC(a,i)&&!$C(o,r)){let l=i?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(t=Kc(l,t||"")),rh(o,a,s,t,i)}else!function lk(e,n,t,i,o,r,s,a){o===Y&&(o=le);let l=0,c=0,u=0(hn(!0),ul(i,o,function tm(){return W.lFrame.currentNamespace}()));function K(e,n,t){const i=D(),o=G(),r=e+A,s=o.firstCreatePass?function kk(e,n,t,i,o){const r=n.consts,s=Bt(r,i),a=zo(n,e,8,"ng-container",s);null!==s&&If(a,s,!0);const l=Bt(r,o);return Au()&&Tf(n,t,a,l,Yd),a.mergedAttrs=Mo(a.mergedAttrs,a.attrs),null!==n.queries&&n.queries.elementStart(n,a),a}(r,o,i,n,t):o.data[r];Jt(s,!0);const a=eD(o,i,s,e);return i[r]=a,Ar()&&gl(o,i,a,s),Dt(a,i),Ia(s)&&(hl(o,i,s),Fd(o,s,i)),null!=t&&Qd(i,s),K}function X(){let e=ee();const n=G();return ku()?Fu():(e=e.parent,Jt(e,!1)),n.firstCreatePass&&(Bu(n,e),Du(e)&&n.queries.elementEnd(e)),X}let eD=(e,n,t,i)=>(hn(!0),zd(n[U],""));function me(){return D()}const jl="en-US";let rD=jl;function bD(e,n,t){return function i(o){if(o===Function)return t;rs(Xt(e)?lt(e.index,n):n,5);const s=n[8];let a=ED(n,s,t,o),l=i.__ngNextListenerFn__;for(;l;)a=ED(n,s,l,o)&&a,l=l.__ngNextListenerFn__;return a}}function ED(e,n,t,i){const o=J(null);try{return!1!==t(i)}catch(r){return function IF(e,n){const t=e[9],i=t?t.get(en,null):null;i&&i.handleError(n)}(e,r),!1}finally{J(o)}}function MD(e,n,t,i,o,r){const a=n[1],u=n[t][a.data[t].outputs[i]],d=a.firstCreatePass?xu(a):null,p=Su(n),h=u.subscribe(r),m=p.length;p.push(r,h),d&&d.push(o,e.index,m,-(m+1))}const fh=new Map;function z(e,n,t,i){const o=D(),r=G(),s=ee();return hh(r,o,o[U],s,e,n,i),z}function hh(e,n,t,i,o,r,s){const a=Ia(i),c=e.firstCreatePass?xu(e):null,u=Su(n);let d=!0;if(3&i.type||s){const p=at(i,n),h=s?s(p):p,m=u.length,C=s?M=>s(se(M[i.index])):i.index;let E=null;if(!s&&a&&(E=function xF(e,n,t,i){const o=e.cleanup;if(null!=o)for(let r=0;rl?a[l]:null}"string"==typeof s&&(r+=2)}return null}(e,n,o,i.index)),null!==E)(E.__ngLastListenerFn__||E).__ngNextListenerFn__=r,E.__ngLastListenerFn__=r,d=!1;else{r=bD(i,n,r);const M=n[9].get(Pn);fh.get(M)?.(h,o,r);const $=t.listen(h,o,r);u.push(r,$),c&&c.push(o,C,m,m+1)}}else r=bD(i,n,r);if(d){const p=i.outputs?.[o],h=i.hostDirectiveOutputs?.[o];if(h&&h.length)for(let m=0;m0;)n=n[14],e--;return n}(e,W.lFrame.contextLView))[8]}(e)}function bn(e,n,t){return ph(e,"",n,"",t),bn}function ph(e,n,t,i,o){const r=D(),s=Jo(r,n,t,i);return s!==Y&&wt(G(),ve(),r,e,s,r[U],o,!1),ph}function RD(e,n,t,i){!function xy(e,n,t,i){const o=G();if(o.firstCreatePass){const r=ee();Ny(o,new My(n,t,i),r.index),function IN(e,n){const t=e.contentQueries||(e.contentQueries=[]);n!==(t.length?t[t.length-1]:-1)&&t.push(e.queries.length-1,n)}(o,e),!(2&~t)&&(o.staticContentQueries=!0)}return Ty(o,D(),t)}(e,n,t,i)}function Lt(e,n,t){!function Sy(e,n,t){const i=G();return i.firstCreatePass&&(Ny(i,new My(e,n,t),-1),!(2&~n)&&(i.staticViewQueries=!0)),Ty(i,D(),n)}(e,n,t)}function Mt(e){const n=D(),t=G(),i=Pu();Oa(i+1);const o=Lf(t,i);if(e.dirty&&function t0(e){return!(4&~e[2])}(n)===!(2&~o.metadata.flags)){if(null===o.matches)e.reset([]);else{const r=Oy(n,i);e.reset(r,km),e.notifyOnChanges()}return!0}return!1}function It(){return function Rf(e,n){return e[18].queries[n].queryList}(D(),Pu())}function w(e,n=""){const t=D(),i=G(),o=e+A,r=i.firstCreatePass?zo(i,o,1,n,null):i.data[o],s=GD(i,t,r,n,e);t[o]=s,Ar()&&gl(i,t,s,r),Jt(r,!1)}let GD=(e,n,t,i,o)=>(hn(!0),function $d(e,n){return e.createText(n)}(n[U],i));function O(e){return j("",e,""),O}function j(e,n,t){const i=D(),o=Jo(i,e,n,t);return o!==Y&&function $n(e,n,t){const i=wo(n,e);!function u_(e,n,t){e.setValue(n,t)}(e[U],i,t)}(i,Je(),o),j}function Ze(e,n,t){Rm(n)&&(n=n());const i=D();return Fe(i,jt(),n)&&wt(G(),ve(),i,e,n,i[U],t,!1),Ze}function be(e,n){const t=Rm(e);return t&&e.set(n),t}function Ke(e,n){const t=D(),i=G(),o=ee();return hh(i,t,t[U],o,e,n),Ke}function mh(e,n,t,i,o){if(e=q(e),Array.isArray(e))for(let r=0;r>20;if(Ii(e)||!e.multi){const h=new kr(c,o,T),m=_h(l,n,o?u:u+p,d);-1===m?(Wu(Ra(a,s),r,l),vh(r,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(h),s.push(h)):(t[m]=h,s[m]=h)}else{const h=_h(l,n,u+p,d),m=_h(l,n,u,u+p),E=m>=0&&t[m];if(o&&!E||!o&&!(h>=0&&t[h])){Wu(Ra(a,s),r,l);const M=function tR(e,n,t,i,o){const r=new kr(e,t,T);return r.multi=[],r.index=n,r.componentProviders=0,nw(r,o,i&&!t),r}(o?eR:JF,t.length,o,i,c);!o&&E&&(t[m].providerFactory=M),vh(r,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(M),s.push(M)}else vh(r,e,h>-1?h:m,nw(t[o?m:h],c,!o&&i));!o&&i&&E&&t[m].componentProviders++}}}function vh(e,n,t,i){const o=Ii(n),r=function AI(e){return!!e.useClass}(n);if(o||r){const l=(r?q(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!o&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[i,l]):c[u+1].push(i,l)}else c.push(t,l)}}}function nw(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function _h(e,n,t,i){for(let o=t;o{t.providersResolver=(i,o)=>function XF(e,n,t){const i=G();if(i.firstCreatePass){const o=Ft(e);mh(t,i.data,i.blueprint,o,!0),mh(n,i.data,i.blueprint,o,!1)}}(i,o?o(e):e,n)}}function ur(e,n,t,i){return function ow(e,n,t,i,o,r){const s=n+t;return Fe(e,s,o)?Cn(e,s+1,r?i.call(r,o):i(o)):xs(e,s+1)}(D(),ct(),e,n,t,i)}function Ch(e,n,t,i,o){return function rw(e,n,t,i,o,r,s){const a=n+t;return zi(e,a,o,r)?Cn(e,a+2,s?i.call(s,o,r):i(o,r)):xs(e,a+2)}(D(),ct(),e,n,t,i,o)}function Le(e,n,t,i,o,r){return sw(D(),ct(),e,n,t,i,o,r)}function xs(e,n){const t=e[n];return t===Y?void 0:t}function sw(e,n,t,i,o,r,s,a){const l=n+t;return function xl(e,n,t,i,o){const r=zi(e,n,t,i);return Fe(e,n+2,o)||r}(e,l,o,r,s)?Cn(e,l+3,a?i.call(a,o,r,s):i(o,r,s)):xs(e,l+3)}let WR=(()=>{class e{zone=k(he);changeDetectionScheduler=k(Ln);applicationRef=k(zt);_onMicrotaskEmptySubscription;initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static \u0275fac=function(i){return new(i||e)};static \u0275prov=te({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Mh({ngZoneFactory:e,ignoreChangesOutsideZone:n,scheduleInRootZone:t}){return e??=()=>new he({...Ih(),scheduleInRootZone:t}),[{provide:he,useFactory:e},{provide:Qt,multi:!0,useFactory:()=>{const i=k(WR,{optional:!0});return()=>i.initialize()}},{provide:Qt,multi:!0,useFactory:()=>{const i=k(QR);return()=>{i.initialize()}}},!0===n?{provide:Im,useValue:!0}:[],{provide:Yu,useValue:t??Em}]}function Ih(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}let QR=(()=>{class e{subscription=new Tt;initialized=!1;zone=k(he);pendingTasks=k(Li);initialize(){if(this.initialized)return;this.initialized=!0;let t=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(t=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{he.assertNotInAngularZone(),queueMicrotask(()=>{null!==t&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(t),t=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{he.assertInAngularZone(),t??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static \u0275fac=function(i){return new(i||e)};static \u0275prov=te({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),As=(()=>{class e{appRef=k(zt);taskService=k(Li);ngZone=k(he);zonelessEnabled=k(Pr);tracing=k(So,{optional:!0});disableScheduling=k(Im,{optional:!0})??!1;zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new Tt;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(Ba):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(k(Yu,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()})),this.disableScheduling||=!this.zonelessEnabled&&(this.ngZone instanceof ed||!this.zoneIsDefined)}notify(t){if(!this.zonelessEnabled&&5===t)return;let i=!1;switch(t){case 0:this.appRef.dirtyFlags|=2;break;case 3:case 2:case 4:case 5:case 1:this.appRef.dirtyFlags|=4;break;case 6:case 13:this.appRef.dirtyFlags|=2,i=!0;break;case 12:this.appRef.dirtyFlags|=16,i=!0;break;case 11:i=!0;break;default:this.appRef.dirtyFlags|=8}if(this.appRef.tracingSnapshot=this.tracing?.snapshot(this.appRef.tracingSnapshot)??null,!this.shouldScheduleTick(i))return;const o=this.useMicrotaskScheduler?Sm:Tm;this.pendingRenderTaskId=this.taskService.add(),this.cancelScheduledCallback=this.scheduleInRootZone?Zone.root.run(()=>o(()=>this.tick())):this.ngZone.runOutsideAngular(()=>o(()=>this.tick()))}shouldScheduleTick(t){return!(this.disableScheduling&&!t||this.appRef.destroyed||null!==this.pendingRenderTaskId||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(Ba+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;if(0===this.appRef.dirtyFlags)return void this.cleanup();!this.zonelessEnabled&&7&this.appRef.dirtyFlags&&(this.appRef.dirtyFlags|=1);const t=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(i){throw this.taskService.remove(t),i}finally{this.cleanup()}this.useMicrotaskScheduler=!0,Sm(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(t)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,null!==this.pendingRenderTaskId){const t=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(t)}}static \u0275fac=function(i){return new(i||e)};static \u0275prov=te({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const ui=new R("",{providedIn:"root",factory:()=>k(ui,ie.Optional|ie.SkipSelf)||function YR(){return typeof $localize<"u"&&$localize.locale||jl}()}),Zl=new R(""),nL=new R("");function ks(e){return!e.moduleRef}let Fw=(()=>{class e{_injector;_modules=[];_destroyListeners=[];_destroyed=!1;constructor(t){this._injector=t}bootstrapModuleFactory(t,i){const o=i?.scheduleInRootZone,s=i?.ignoreChangesOutsideZone,a=[Mh({ngZoneFactory:()=>function X0(e="zone.js",n){return"noop"===e?new ed:"zone.js"===e?new he(n):e}(i?.ngZone,{...Ih({eventCoalescing:i?.ngZoneEventCoalescing,runCoalescing:i?.ngZoneRunCoalescing}),scheduleInRootZone:o}),ignoreChangesOutsideZone:s}),{provide:Ln,useExisting:As}],l=function VN(e,n,t){return new Hf(e,n,t,!1)}(t.moduleType,this.injector,a);return function kw(e){const n=ks(e)?e.r3Injector:e.moduleRef.injector,t=n.get(he);return t.run(()=>{ks(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();const i=n.get(en,null);let o;if(t.runOutsideAngular(()=>{o=t.onError.subscribe({next:r=>{i.handleError(r)}})}),ks(e)){const r=()=>n.destroy(),s=e.platformInjector.get(Zl);s.add(r),n.onDestroy(()=>{o.unsubscribe(),s.delete(r)})}else{const r=()=>e.moduleRef.destroy(),s=e.platformInjector.get(Zl);s.add(r),e.moduleRef.onDestroy(()=>{Ll(e.allPlatformModules,e.moduleRef),o.unsubscribe(),s.delete(r)})}return function oL(e,n,t){try{const i=t();return Fl(i)?i.catch(o=>{throw n.runOutsideAngular(()=>e.handleError(o)),o}):i}catch(i){throw n.runOutsideAngular(()=>e.handleError(i)),i}}(i,t,()=>{const r=n.get(mC);return r.runInitializers(),r.donePromise.then(()=>{if(function Uk(e){"string"==typeof e&&(rD=e.toLowerCase().replace(/_/g,"-"))}(n.get(ui,jl)||jl),!n.get(nL,!0))return ks(e)?n.get(zt):(e.allPlatformModules.push(e.moduleRef),e.moduleRef);if(ks(e)){const l=n.get(zt);return void 0!==e.rootComponent&&l.bootstrap(e.rootComponent),l}return function iL(e,n){const t=e.injector.get(zt);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(i=>t.bootstrap(i));else{if(!e.instance.ngDoBootstrap)throw new x(-403,!1);e.instance.ngDoBootstrap(t)}n.push(e)}(e.moduleRef,e.allPlatformModules),e.moduleRef})})})}({moduleRef:l,allPlatformModules:this._modules,platformInjector:this.injector})}bootstrapModule(t,i=[]){const o=_C({},i);return function qR(e,n,t){const i=new Bf(t);return Promise.resolve(i)}(0,0,t).then(r=>this.bootstrapModuleFactory(r,o))}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new x(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const t=this._injector.get(Zl,null);t&&(t.forEach(i=>i()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static \u0275fac=function(i){return new(i||e)(re(et))};static \u0275prov=te({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),di=null;const Rw=new R("");function Lw(e,n,t=[]){const i=`Platform: ${n}`,o=new R(i);return(r=[])=>{let s=Sh();if(!s||s.injector.get(Rw,!1)){const a=[...t,...r,{provide:o,useValue:!0}];e?e(a):function rL(e){if(di&&!di.get(Rw,!1))throw new x(400,!1);(function vC(){!function HM(e){Up=e}(()=>{throw new x(600,!1)})})(),di=e;const n=e.get(Fw);(function Vw(e){const n=e.get(ad,null);Ig(e,()=>{n?.forEach(t=>t())})})(e)}(function Pw(e=[],n){return et.create({name:n,providers:[{provide:gu,useValue:"platform"},{provide:Zl,useValue:new Set([()=>di=null])},...e]})}(a,i))}return function sL(){const n=Sh();if(!n)throw new x(401,!1);return n}()}}function Sh(){return di?.get(Fw)??null}let Zi=(()=>class e{static __NG_ELEMENT_ID__=lL})();function lL(e){return function cL(e,n,t){if(Xt(e)&&!t){const i=lt(e.index,n);return new as(i,i)}return 175&e.type?new as(n[15],n):null}(ee(),D(),!(16&~e))}class $w{constructor(){}supports(n){return Sl(n)}create(n){return new pL(n)}}const hL=(e,n)=>n;class pL{length=0;collection;_linkedRecords=null;_unlinkedRecords=null;_previousItHead=null;_itHead=null;_itTail=null;_additionsHead=null;_additionsTail=null;_movesHead=null;_movesTail=null;_removalsHead=null;_removalsTail=null;_identityChangesHead=null;_identityChangesTail=null;_trackByFn;constructor(n){this._trackByFn=n||hL}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,i=this._removalsHead,o=0,r=null;for(;t||i;){const s=!i||t&&t.currentIndex{s=this._trackByFn(o,a),null!==t&&Object.is(t.trackById,s)?(i&&(t=this._verifyReinsertion(t,a,s,o)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,o),i=!0),t=t._next,o++}),this.length=o;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,i,o){let r;return null===n?r=this._itTail:(r=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,r,o)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(i,o))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,r,o)):n=this._addAfter(new gL(t,i),r,o),n}_verifyReinsertion(n,t,i,o){let r=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==r?n=this._reinsertAfter(r,n._prev,o):n.currentIndex!=o&&(n.currentIndex=o,this._addToMoves(n,o)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const o=n._prevRemoved,r=n._nextRemoved;return null===o?this._removalsHead=r:o._nextRemoved=r,null===r?this._removalsTail=o:r._prevRemoved=o,this._insertAfter(n,t,i),this._addToMoves(n,i),n}_moveAfter(n,t,i){return this._unlink(n),this._insertAfter(n,t,i),this._addToMoves(n,i),n}_addAfter(n,t,i){return this._insertAfter(n,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,i){const o=null===t?this._itHead:t._next;return n._next=o,n._prev=t,null===o?this._itTail=n:o._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new zw),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,i=n._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new zw),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class gL{item;trackById;currentIndex=null;previousIndex=null;_nextPrevious=null;_prev=null;_next=null;_prevDup=null;_nextDup=null;_prevRemoved=null;_nextRemoved=null;_nextAdded=null;_nextMoved=null;_nextIdentityChange=null;constructor(n,t){this.item=n,this.trackById=t}}class mL{_head=null;_tail=null;add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){const t=n._prevDup,i=n._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class zw{map=new Map;put(n){const t=n.trackById;let i=this.map.get(t);i||(i=new mL,this.map.set(t,i)),i.add(n)}get(n,t){const o=this.map.get(n);return o?o.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Gw(e,n,t){const i=e.previousIndex;if(null===i)return i;let o=0;return t&&i{if(t&&t.key===o)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const r=this._getOrCreateRecordForKey(o,i);t=this._insertBeforeOrAppend(t,r)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const i=n._prev;return t._next=n,t._prev=i,n._prev=t,i&&(i._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const o=this._records.get(n);this._maybeAddToChanges(o,t);const r=o._prev,s=o._next;return r&&(r._next=s),s&&(s._prev=r),o._next=null,o._prev=null,o}const i=new _L(n);return this._records.set(n,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(i=>t(n[i],i))}}class _L{key;previousValue=null;currentValue=null;_nextPrevious=null;_next=null;_prev=null;_nextAdded=null;_nextRemoved=null;_nextChanged=null;constructor(n){this.key=n}}function Ww(){return new Ah([new $w])}let Ah=(()=>{class e{factories;static \u0275prov=te({token:e,providedIn:"root",factory:Ww});constructor(t){this.factories=t}static create(t,i){if(null!=i){const o=i.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:i=>e.create(t,i||Ww()),deps:[[e,new cu,new lu]]}}find(t){const i=this.factories.find(o=>o.supports(t));if(null!=i)return i;throw new x(901,!1)}}return e})();function Zw(){return new Kl([new qw])}let Kl=(()=>{class e{static \u0275prov=te({token:e,providedIn:"root",factory:Zw});factories;constructor(t){this.factories=t}static create(t,i){if(i){const o=i.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:i=>e.create(t,i||Zw()),deps:[[e,new cu,new lu]]}}find(t){const i=this.factories.find(o=>o.supports(t));if(i)return i;throw new x(901,!1)}}return e})();const DL=Lw(null,"core",[]);let wL=(()=>{class e{constructor(t){}static \u0275fac=function(i){return new(i||e)(re(zt))};static \u0275mod=si({type:e});static \u0275inj=Tn({})}return e})();function je(e){return function GM(e){const n=J(null);try{return e()}finally{J(n)}}(e)}function zn(e,n){return function LM(e,n){const t=Object.create(PM);t.computation=e,void 0!==n&&(t.equal=n);const i=()=>{if(Dr(t),Qs(t),t.value===Zn)throw t.error;return t.value};return i[tt]=t,i}(e,n?.equal)}let pb=null;function Rs(){return pb}class dP{}function mb(e){return"server"===e}const Yi=new R(""),qh=/\s+/,Mb=[];let hr=(()=>{class e{_ngEl;_renderer;initialClasses=Mb;rawClass;stateMap=new Map;constructor(t,i){this._ngEl=t,this._renderer=i}set klass(t){this.initialClasses=null!=t?t.trim().split(qh):Mb}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(qh):t}ngDoCheck(){for(const i of this.initialClasses)this._updateState(i,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const i of t)this._updateState(i,!0);else if(null!=t)for(const i of Object.keys(t))this._updateState(i,!!t[i]);this._applyStateDiff()}_updateState(t,i){const o=this.stateMap.get(t);void 0!==o?(o.enabled!==i&&(o.changed=!0,o.enabled=i),o.touched=!0):this.stateMap.set(t,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const i=t[0],o=t[1];o.changed?(this._toggleClass(i,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(i,!1),this.stateMap.delete(i)),o.touched=!1}}_toggleClass(t,i){(t=t.trim()).length>0&&t.split(qh).forEach(o=>{i?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}static \u0275fac=function(i){return new(i||e)(T(ut),T(nn))};static \u0275dir=Z({type:e,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"}})}return e})();class tV{$implicit;ngForOf;index;count;constructor(n,t,i,o){this.$implicit=n,this.ngForOf=t,this.index=i,this.count=o}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Ki=(()=>{class e{_viewContainer;_template;_differs;set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}_ngForOf=null;_ngForOfDirty=!0;_differ=null;_trackByFn;constructor(t,i,o){this._viewContainer=t,this._template=i,this._differs=o}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=this._viewContainer;t.forEachOperation((o,r,s)=>{if(null==o.previousIndex)i.createEmbeddedView(this._template,new tV(o.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)i.remove(null===r?void 0:r);else if(null!==r){const a=i.get(r);i.move(a,s),Tb(a,o)}});for(let o=0,r=i.length;o{Tb(i.get(o.currentIndex),o)})}static ngTemplateContextGuard(t,i){return!0}static \u0275fac=function(i){return new(i||e)(T(yn),T(jn),T(Ah))};static \u0275dir=Z({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}})}return e})();function Tb(e,n){e.context.$implicit=n.item}let qn=(()=>{class e{_viewContainer;_context=new nV;_thenTemplateRef=null;_elseTemplateRef=null;_thenViewRef=null;_elseViewRef=null;constructor(t,i){this._viewContainer=t,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Sb(t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Sb(t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngIfUseIfTypeGuard;static ngTemplateGuard_ngIf;static ngTemplateContextGuard(t,i){return!0}static \u0275fac=function(i){return new(i||e)(T(yn),T(jn))};static \u0275dir=Z({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}})}return e})();class nV{$implicit=null;ngIf=null}function Sb(e,n){if(e&&!e.createEmbeddedView)throw new x(2020,!1)}let Nb=(()=>{class e{_ngEl;_differs;_renderer;_ngStyle=null;_differ=null;constructor(t,i,o){this._ngEl=t,this._differs=i,this._renderer=o}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,i){const[o,r]=t.split("."),s=-1===o.indexOf("-")?void 0:ii.DashCase;null!=i?this._renderer.setStyle(this._ngEl.nativeElement,o,r?`${i}${r}`:i,s):this._renderer.removeStyle(this._ngEl.nativeElement,o,s)}_applyChanges(t){t.forEachRemovedItem(i=>this._setStyle(i.key,null)),t.forEachAddedItem(i=>this._setStyle(i.key,i.currentValue)),t.forEachChangedItem(i=>this._setStyle(i.key,i.currentValue))}static \u0275fac=function(i){return new(i||e)(T(ut),T(Kl),T(nn))};static \u0275dir=Z({type:e,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}})}return e})(),Ob=(()=>{class e{_viewContainerRef;_viewRef=null;ngTemplateOutletContext=null;ngTemplateOutlet=null;ngTemplateOutletInjector=null;constructor(t){this._viewContainerRef=t}ngOnChanges(t){if(this._shouldRecreateView(t)){const i=this._viewContainerRef;if(this._viewRef&&i.remove(i.indexOf(this._viewRef)),!this.ngTemplateOutlet)return void(this._viewRef=null);const o=this._createContextForwardProxy();this._viewRef=i.createEmbeddedView(this.ngTemplateOutlet,o,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(t){return!!t.ngTemplateOutlet||!!t.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(t,i,o)=>!!this.ngTemplateOutletContext&&Reflect.set(this.ngTemplateOutletContext,i,o),get:(t,i,o)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,i,o)}})}static \u0275fac=function(i){return new(i||e)(T(yn))};static \u0275dir=Z({type:e,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},features:[An]})}return e})();let kb=(()=>{class e{transform(t,i,o){if(null==t)return null;if("string"!=typeof t&&!Array.isArray(t))throw function ln(e,n){return new x(2100,!1)}();return t.slice(i,o)}static \u0275fac=function(i){return new(i||e)};static \u0275pipe=bt({name:"slice",type:e,pure:!1})}return e})(),Fb=(()=>{class e{static \u0275fac=function(i){return new(i||e)};static \u0275mod=si({type:e});static \u0275inj=Tn({})}return e})();const Kh=new R("");let Rb=(()=>{class e{_zone;_plugins;_eventNameToPlugin=new Map;constructor(t,i){this._zone=i,t.forEach(o=>{o.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,i,o,r){return this._findPluginFor(i).addEventListener(t,i,o,r)}getZone(){return this._zone}_findPluginFor(t){let i=this._eventNameToPlugin.get(t);if(i)return i;if(i=this._plugins.find(r=>r.supports(t)),!i)throw new x(5101,!1);return this._eventNameToPlugin.set(t,i),i}static \u0275fac=function(i){return new(i||e)(re(Kh),re(he))};static \u0275prov=te({token:e,factory:e.\u0275fac})}return e})();class Lb{_doc;constructor(n){this._doc=n}manager}const hc="ng-app-id";function Pb(e){for(const n of e)n.remove()}function Vb(e,n){const t=n.createElement("style");return t.textContent=e,t}function Xh(e,n){const t=n.createElement("link");return t.setAttribute("rel","stylesheet"),t.setAttribute("href",e),t}let Hb=(()=>{class e{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;isServer;constructor(t,i,o,r={}){this.doc=t,this.appId=i,this.nonce=o,this.isServer=mb(r),function SV(e,n,t,i){const o=e.head?.querySelectorAll(`style[${hc}="${n}"],link[${hc}="${n}"]`);if(o)for(const r of o)r.removeAttribute(hc),r instanceof HTMLLinkElement?i.set(r.href.slice(r.href.lastIndexOf("/")+1),{usage:0,elements:[r]}):r.textContent&&t.set(r.textContent,{usage:0,elements:[r]})}(t,i,this.inline,this.external),this.hosts.add(t.head)}addStyles(t,i){for(const o of t)this.addUsage(o,this.inline,Vb);i?.forEach(o=>this.addUsage(o,this.external,Xh))}removeStyles(t,i){for(const o of t)this.removeUsage(o,this.inline);i?.forEach(o=>this.removeUsage(o,this.external))}addUsage(t,i,o){const r=i.get(t);r?r.usage++:i.set(t,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,o(t,this.doc)))})}removeUsage(t,i){const o=i.get(t);o&&(o.usage--,o.usage<=0&&(Pb(o.elements),i.delete(t)))}ngOnDestroy(){for(const[,{elements:t}]of[...this.inline,...this.external])Pb(t);this.hosts.clear()}addHost(t){this.hosts.add(t);for(const[i,{elements:o}]of this.inline)o.push(this.addElement(t,Vb(i,this.doc)));for(const[i,{elements:o}]of this.external)o.push(this.addElement(t,Xh(i,this.doc)))}removeHost(t){this.hosts.delete(t)}addElement(t,i){return this.nonce&&i.setAttribute("nonce",this.nonce),this.isServer&&i.setAttribute(hc,this.appId),t.appendChild(i)}static \u0275fac=function(i){return new(i||e)(re(Yi),re(Pn),re(Jm,8),re(ld))};static \u0275prov=te({token:e,factory:e.\u0275fac})}return e})();const Jh={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},ep=/%COMP%/g,FV=new R("",{providedIn:"root",factory:()=>!0});function jb(e,n){return n.map(t=>t.replace(ep,e))}let Ub=(()=>{class e{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;platformId;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;platformIsServer;constructor(t,i,o,r,s,a,l,c=null,u=null){this.eventManager=t,this.sharedStylesHost=i,this.appId=o,this.removeStylesOnCompDestroy=r,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.tracingService=u,this.platformIsServer=mb(a),this.defaultRenderer=new tp(t,s,l,this.platformIsServer,this.tracingService)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===Ut.ShadowDom&&(i={...i,encapsulation:Ut.Emulated});const o=this.getOrCreateRenderer(t,i);return o instanceof zb?o.applyToHost(t):o instanceof np&&o.applyStyles(),o}getOrCreateRenderer(t,i){const o=this.rendererByCompId;let r=o.get(i.id);if(!r){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,d=this.platformIsServer,p=this.tracingService;switch(i.encapsulation){case Ut.Emulated:r=new zb(l,c,i,this.appId,u,s,a,d,p);break;case Ut.ShadowDom:return new VV(l,c,t,i,s,a,this.nonce,d,p);default:r=new np(l,c,i,u,s,a,d,p)}o.set(i.id,r)}return r}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(t){this.rendererByCompId.delete(t)}static \u0275fac=function(i){return new(i||e)(re(Rb),re(Hb),re(Pn),re(FV),re(Yi),re(ld),re(he),re(Jm),re(So,8))};static \u0275prov=te({token:e,factory:e.\u0275fac})}return e})();class tp{eventManager;doc;ngZone;platformIsServer;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(n,t,i,o,r){this.eventManager=n,this.doc=t,this.ngZone=i,this.platformIsServer=o,this.tracingService=r}destroy(){}destroyNode=null;createElement(n,t){return t?this.doc.createElementNS(Jh[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){($b(n)?n.content:n).appendChild(t)}insertBefore(n,t,i){n&&($b(n)?n.content:n).insertBefore(t,i)}removeChild(n,t){t.remove()}selectRootElement(n,t){let i="string"==typeof n?this.doc.querySelector(n):n;if(!i)throw new x(-5104,!1);return t||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,i,o){if(o){t=o+":"+t;const r=Jh[o];r?n.setAttributeNS(r,t,i):n.setAttribute(t,i)}else n.setAttribute(t,i)}removeAttribute(n,t,i){if(i){const o=Jh[i];o?n.removeAttributeNS(o,t):n.removeAttribute(`${i}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,i,o){o&(ii.DashCase|ii.Important)?n.style.setProperty(t,i,o&ii.Important?"important":""):n.style[t]=i}removeStyle(n,t,i){i&ii.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,i){null!=n&&(n[t]=i)}setValue(n,t){n.nodeValue=t}listen(n,t,i,o){if("string"==typeof n&&!(n=Rs().getGlobalEventTarget(this.doc,n)))throw new x(5102,!1);let r=this.decoratePreventDefault(i);return this.tracingService?.wrapEventListener&&(r=this.tracingService.wrapEventListener(n,t,r)),this.eventManager.addEventListener(n,t,r,o)}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function $b(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class VV extends tp{sharedStylesHost;hostEl;shadowRoot;constructor(n,t,i,o,r,s,a,l,c){super(n,r,s,l,c),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let u=o.styles;u=jb(o.id,u);for(const p of u){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=p,this.shadowRoot.appendChild(h)}const d=o.getExternalStyles?.();if(d)for(const p of d){const h=Xh(p,r);a&&h.setAttribute("nonce",a),this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,i){return super.insertBefore(this.nodeOrShadowRoot(n),t,i)}removeChild(n,t){return super.removeChild(null,t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class np extends tp{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(n,t,i,o,r,s,a,l,c){super(n,r,s,a,l),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=o;let u=i.styles;this.styles=c?jb(c,u):u,this.styleUrls=i.getExternalStyles?.(c)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}}class zb extends np{contentAttr;hostAttr;constructor(n,t,i,o,r,s,a,l,c){const u=o+"-"+i.id;super(n,t,i,r,s,a,l,c,u),this.contentAttr=function RV(e){return"_ngcontent-%COMP%".replace(ep,e)}(u),this.hostAttr=function LV(e){return"_nghost-%COMP%".replace(ep,e)}(u)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const i=super.createElement(n,t);return super.setAttribute(i,this.contentAttr,""),i}}class ip extends dP{supportsDOMEvents=!0;static makeCurrent(){!function uP(e){pb??=e}(new ip)}onAndCancel(n,t,i,o){return n.addEventListener(t,i,o),()=>{n.removeEventListener(t,i,o)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.remove()}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function HV(){return Ps=Ps||document.querySelector("base"),Ps?Ps.getAttribute("href"):null}();return null==t?null:function BV(e){return new URL(e,document.baseURI).pathname}(t)}resetBaseElement(){Ps=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return function pP(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const i=t.indexOf("="),[o,r]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(o.trim()===n)return decodeURIComponent(r)}return null}(document.cookie,n)}}let Ps=null,UV=(()=>{class e{build(){return new XMLHttpRequest}static \u0275fac=function(i){return new(i||e)};static \u0275prov=te({token:e,factory:e.\u0275fac})}return e})(),$V=(()=>{class e extends Lb{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,o,r){return t.addEventListener(i,o,r),()=>this.removeEventListener(t,i,o,r)}removeEventListener(t,i,o,r){return t.removeEventListener(i,o,r)}static \u0275fac=function(i){return new(i||e)(re(Yi))};static \u0275prov=te({token:e,factory:e.\u0275fac})}return e})();const Gb=["alt","control","meta","shift"],zV={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},GV={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let qV=(()=>{class e extends Lb{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,i,o,r){const s=e.parseEventName(i),a=e.eventCallback(s.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Rs().onAndCancel(t,s.domEventName,a,r))}static parseEventName(t){const i=t.toLowerCase().split("."),o=i.shift();if(0===i.length||"keydown"!==o&&"keyup"!==o)return null;const r=e._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),Gb.forEach(c=>{const u=i.indexOf(c);u>-1&&(i.splice(u,1),s+=c+".")}),s+=r,0!=i.length||0===r.length)return null;const l={};return l.domEventName=o,l.fullKey=s,l}static matchEventFullKeyCode(t,i){let o=zV[t.key]||t.key,r="";return i.indexOf("code.")>-1&&(o=t.code,r="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),Gb.forEach(s=>{s!==o&&(0,GV[s])(t)&&(r+=s+".")}),r+=o,r===i)}static eventCallback(t,i,o){return r=>{e.matchEventFullKeyCode(r,t)&&o.runGuarded(()=>i(r))}}static _normalizeKey(t){return"esc"===t?"escape":t}static \u0275fac=function(i){return new(i||e)(re(Yi))};static \u0275prov=te({token:e,factory:e.\u0275fac})}return e})();const YV=Lw(DL,"browser",[{provide:ld,useValue:"browser"},{provide:ad,useValue:function WV(){ip.makeCurrent()},multi:!0},{provide:Yi,useFactory:function QV(){return function ET(e){sd=e}(document),document}}]),Zb=[{provide:kl,useClass:class jV{addToWindow(n){Oe.getAngularTestability=(i,o=!0)=>{const r=n.findTestabilityInTree(i,o);if(null==r)throw new x(5103,!1);return r},Oe.getAllAngularTestabilities=()=>n.getAllTestabilities(),Oe.getAllAngularRootElements=()=>n.getAllRootElements(),Oe.frameworkStabilizers||(Oe.frameworkStabilizers=[]),Oe.frameworkStabilizers.push(i=>{const o=Oe.getAllAngularTestabilities();let r=o.length;const s=function(){r--,0==r&&i()};o.forEach(a=>{a.whenStable(s)})})}findTestabilityInTree(n,t,i){return null==t?null:n.getTestability(t)??(i?Rs().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}}},{provide:fC,useClass:Qf,deps:[he,Yf,kl]},{provide:Qf,useClass:Qf,deps:[he,Yf,kl]}],Qb=[{provide:gu,useValue:"root"},{provide:en,useFactory:function ZV(){return new en}},{provide:Kh,useClass:$V,multi:!0,deps:[Yi]},{provide:Kh,useClass:qV,multi:!0,deps:[Yi]},Ub,Hb,Rb,{provide:bf,useExisting:Ub},{provide:class mP{},useClass:UV},[]];let KV=(()=>{class e{constructor(){}static \u0275fac=function(i){return new(i||e)};static \u0275mod=si({type:e});static \u0275inj=Tn({providers:[...Qb,...Zb],imports:[Fb,wL]})}return e})();function fi(e){return this instanceof fi?(this.v=e,this):new fi(e)}function Jb(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function ap(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],i=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(r){t[r]=e[r]&&function(s){return new Promise(function(a,l){!function o(r,s,a,l){Promise.resolve(l).then(function(c){r({value:c,done:a})},s)}(a,l,(s=e[r](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const eE=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function tE(e){return Be(e?.then)}function nE(e){return Be(e[Wc])}function iE(e){return Symbol.asyncIterator&&Be(e?.[Symbol.asyncIterator])}function oE(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const rE=function E2(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function sE(e){return Be(e?.[rE])}function aE(e){return function Xb(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,i=t.apply(e,n||[]),r=[];return o=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",function s(h){return function(m){return Promise.resolve(m).then(h,d)}}),o[Symbol.asyncIterator]=function(){return this},o;function a(h,m){i[h]&&(o[h]=function(C){return new Promise(function(E,M){r.push([h,C,E,M])>1||l(h,C)})},m&&(o[h]=m(o[h])))}function l(h,m){try{!function c(h){h.value instanceof fi?Promise.resolve(h.value.v).then(u,d):p(r[0][2],h)}(i[h](m))}catch(C){p(r[0][3],C)}}function u(h){l("next",h)}function d(h){l("throw",h)}function p(h,m){h(m),r.shift(),r.length&&l(r[0][0],r[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:i,done:o}=yield fi(t.read());if(o)return yield fi(void 0);yield yield fi(i)}}finally{t.releaseLock()}})}function lE(e){return Be(e?.getReader)}function Vs(e){if(e instanceof St)return e;if(null!=e){if(nE(e))return function M2(e){return new St(n=>{const t=e[Wc]();if(Be(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(eE(e))return function I2(e){return new St(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Kp)})}(e);if(iE(e))return cE(e);if(sE(e))return function S2(e){return new St(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(lE(e))return function x2(e){return cE(aE(e))}(e)}throw oE(e)}function cE(e){return new St(n=>{(function N2(e,n){var t,i,o,r;return function Yb(e,n,t,i){return new(t||(t=Promise))(function(r,s){function a(u){try{c(i.next(u))}catch(d){s(d)}}function l(u){try{c(i.throw(u))}catch(d){s(d)}}function c(u){u.done?r(u.value):function o(r){return r instanceof t?r:new t(function(s){s(r)})}(u.value).then(a,l)}c((i=i.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=Jb(e);!(i=yield t.next()).done;)if(n.next(i.value),n.closed)return}catch(s){o={error:s}}finally{try{i&&!i.done&&(r=t.return)&&(yield r.call(t))}finally{if(o)throw o.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function Xi(e,n,t,i=0,o=!1){const r=n.schedule(function(){t(),o?e.add(this.schedule(null,i)):this.unsubscribe()},i);if(e.add(r),!o)return r}function uE(e,n=0){return Di((t,i)=>{t.subscribe(Yn(i,o=>Xi(i,e,()=>i.next(o),n),()=>Xi(i,e,()=>i.complete(),n),o=>Xi(i,e,()=>i.error(o),n)))})}function dE(e,n=0){return Di((t,i)=>{i.add(e.schedule(()=>t.subscribe(i),n))})}function fE(e,n){if(!e)throw new Error("Iterable cannot be null");return new St(t=>{Xi(t,n,()=>{const i=e[Symbol.asyncIterator]();Xi(t,n,()=>{i.next().then(o=>{o.done?t.complete():t.next(o.value)})},0,!0)})})}const{isArray:V2}=Array,{getPrototypeOf:H2,prototype:B2,keys:j2}=Object;const{isArray:G2}=Array;function Z2(e,n){return e.reduce((t,i,o)=>(t[i]=n[o],t),{})}function Q2(...e){const n=function z2(e){return Be(function cp(e){return e[e.length-1]}(e))?e.pop():void 0}(e),{args:t,keys:i}=function U2(e){if(1===e.length){const n=e[0];if(V2(n))return{args:n,keys:null};if(function $2(e){return e&&"object"==typeof e&&H2(e)===B2}(n)){const t=j2(n);return{args:t.map(i=>n[i]),keys:t}}}return{args:e,keys:null}}(e),o=new St(r=>{const{length:s}=t;if(!s)return void r.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=p},()=>l--,void 0,()=>{(!l||!d)&&(c||r.next(i?Z2(i,a):a),r.complete())}))}});return n?o.pipe(function W2(e){return Qc(n=>function q2(e,n){return G2(n)?e(...n):e(n)}(e,n))}(n)):o}let hE=(()=>{class e{_renderer;_elementRef;onChange=t=>{};onTouched=()=>{};constructor(t,i){this._renderer=t,this._elementRef=i}setProperty(t,i){this._renderer.setProperty(this._elementRef.nativeElement,t,i)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static \u0275fac=function(i){return new(i||e)(T(nn),T(ut))};static \u0275dir=Z({type:e})}return e})(),Ji=(()=>{class e extends hE{static \u0275fac=(()=>{let t;return function(o){return(t||(t=it(e)))(o||e)}})();static \u0275dir=Z({type:e,features:[ue]})}return e})();const cn=new R(""),Y2={provide:cn,useExisting:ye(()=>up),multi:!0};let up=(()=>{class e extends Ji{writeValue(t){this.setProperty("checked",t)}static \u0275fac=(()=>{let t;return function(o){return(t||(t=it(e)))(o||e)}})();static \u0275dir=Z({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(i,o){1&i&&z("change",function(s){return o.onChange(s.target.checked)})("blur",function(){return o.onTouched()})},standalone:!1,features:[Me([Y2]),ue]})}return e})();const K2={provide:cn,useExisting:ye(()=>Hs),multi:!0},J2=new R("");let Hs=(()=>{class e extends hE{_compositionMode;_composing=!1;constructor(t,i,o){super(t,i),this._compositionMode=o,null==this._compositionMode&&(this._compositionMode=!function X2(){const e=Rs()?Rs().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static \u0275fac=function(i){return new(i||e)(T(nn),T(ut),T(J2,8))};static \u0275dir=Z({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(i,o){1&i&&z("input",function(s){return o._handleInput(s.target.value)})("blur",function(){return o.onTouched()})("compositionstart",function(){return o._compositionStart()})("compositionend",function(s){return o._compositionEnd(s.target.value)})},standalone:!1,features:[Me([K2]),ue]})}return e})();const ot=new R(""),hi=new R("");function wE(e){return null!=e}function bE(e){return Fl(e)?function P2(e,n){return n?function L2(e,n){if(null!=e){if(nE(e))return function O2(e,n){return Vs(e).pipe(dE(n),uE(n))}(e,n);if(eE(e))return function k2(e,n){return new St(t=>{let i=0;return n.schedule(function(){i===e.length?t.complete():(t.next(e[i++]),t.closed||this.schedule())})})}(e,n);if(tE(e))return function A2(e,n){return Vs(e).pipe(dE(n),uE(n))}(e,n);if(iE(e))return fE(e,n);if(sE(e))return function F2(e,n){return new St(t=>{let i;return Xi(t,n,()=>{i=e[rE](),Xi(t,n,()=>{let o,r;try{({value:o,done:r}=i.next())}catch(s){return void t.error(s)}r?t.complete():t.next(o)},0,!0)}),()=>Be(i?.return)&&i.return()})}(e,n);if(lE(e))return function R2(e,n){return fE(aE(e),n)}(e,n)}throw oE(e)}(e,n):Vs(e)}(e):e}function EE(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function ME(e,n){return n.map(t=>t(e))}function IE(e){return e.map(n=>function tH(e){return!e.validate}(n)?n:t=>n.validate(t))}function hp(e){return null!=e?function TE(e){if(!e)return null;const n=e.filter(wE);return 0==n.length?null:function(t){return EE(ME(t,n))}}(IE(e)):null}function pp(e){return null!=e?function SE(e){if(!e)return null;const n=e.filter(wE);return 0==n.length?null:function(t){return Q2(ME(t,n).map(bE)).pipe(Qc(EE))}}(IE(e)):null}function xE(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function gp(e){return e?Array.isArray(e)?e:[e]:[]}function gc(e,n){return Array.isArray(e)?e.includes(n):e===n}function AE(e,n){const t=gp(n);return gp(e).forEach(o=>{gc(t,o)||t.push(o)}),t}function kE(e,n){return gp(n).filter(t=>!gc(e,t))}class FE{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=hp(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=pp(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class mt extends FE{name;get formDirective(){return null}get path(){return null}}class pi extends FE{_parent=null;name=null;valueAccessor=null}class RE{_cd;constructor(n){this._cd=n}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}}let mc=(()=>{class e extends RE{constructor(t){super(t)}static \u0275fac=function(i){return new(i||e)(T(pi,2))};static \u0275dir=Z({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,o){2&i&&Un("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)},standalone:!1,features:[ue]})}return e})();const Bs="VALID",_c="INVALID",pr="PENDING",js="DISABLED";class gr{}class PE extends gr{value;source;constructor(n,t){super(),this.value=n,this.source=t}}class _p extends gr{pristine;source;constructor(n,t){super(),this.pristine=n,this.source=t}}class yp extends gr{touched;source;constructor(n,t){super(),this.touched=n,this.source=t}}class yc extends gr{status;source;constructor(n,t){super(),this.status=n,this.source=t}}function Cc(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class wp{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(n,t){this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get status(){return je(this.statusReactive)}set status(n){je(()=>this.statusReactive.set(n))}_status=zn(()=>this.statusReactive());statusReactive=gn(void 0);get valid(){return this.status===Bs}get invalid(){return this.status===_c}get pending(){return this.status==pr}get disabled(){return this.status===js}get enabled(){return this.status!==js}errors;get pristine(){return je(this.pristineReactive)}set pristine(n){je(()=>this.pristineReactive.set(n))}_pristine=zn(()=>this.pristineReactive());pristineReactive=gn(!0);get dirty(){return!this.pristine}get touched(){return je(this.touchedReactive)}set touched(n){je(()=>this.touchedReactive.set(n))}_touched=zn(()=>this.touchedReactive());touchedReactive=gn(!1);get untouched(){return!this.touched}_events=new un;events=this._events.asObservable();valueChanges;statusChanges;get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(AE(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(AE(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(kE(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(kE(n,this._rawAsyncValidators))}hasValidator(n){return gc(this._rawValidators,n)}hasAsyncValidator(n){return gc(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){const t=!1===this.touched;this.touched=!0;const i=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsTouched({...n,sourceControl:i}),t&&!1!==n.emitEvent&&this._events.next(new yp(!0,i))}markAllAsTouched(n={}){this.markAsTouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:this}),this._forEachChild(t=>t.markAllAsTouched(n))}markAsUntouched(n={}){const t=!0===this.touched;this.touched=!1,this._pendingTouched=!1;const i=n.sourceControl??this;this._forEachChild(o=>{o.markAsUntouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:i})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,i),t&&!1!==n.emitEvent&&this._events.next(new yp(!1,i))}markAsDirty(n={}){const t=!0===this.pristine;this.pristine=!1;const i=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsDirty({...n,sourceControl:i}),t&&!1!==n.emitEvent&&this._events.next(new _p(!1,i))}markAsPristine(n={}){const t=!1===this.pristine;this.pristine=!0,this._pendingDirty=!1;const i=n.sourceControl??this;this._forEachChild(o=>{o.markAsPristine({onlySelf:!0,emitEvent:n.emitEvent})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n,i),t&&!1!==n.emitEvent&&this._events.next(new _p(!0,i))}markAsPending(n={}){this.status=pr;const t=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new yc(this.status,t)),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.markAsPending({...n,sourceControl:t})}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=js,this.errors=null,this._forEachChild(o=>{o.disable({...n,onlySelf:!0})}),this._updateValue();const i=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new PE(this.value,i)),this._events.next(new yc(this.status,i)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t},this),this._onDisabledChange.forEach(o=>o(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Bs,this._forEachChild(i=>{i.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t},this),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n,t){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine({},t),this._parent._updateTouched({},t))}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){const i=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Bs||this.status===pr)&&this._runAsyncValidator(i,n.emitEvent)}const t=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new PE(this.value,t)),this._events.next(new yc(this.status,t)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity({...n,sourceControl:t})}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?js:Bs}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n,t){if(this.asyncValidator){this.status=pr,this._hasOwnPendingAsyncValidator={emitEvent:!1!==t};const i=bE(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(o=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(o,{emitEvent:t,shouldHaveEmitted:n})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();const n=this._hasOwnPendingAsyncValidator?.emitEvent??!1;return this._hasOwnPendingAsyncValidator=null,n}return!1}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent,this,t.shouldHaveEmitted)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((i,o)=>i&&i._find(o),this)}getError(n,t){const i=t?this.get(t):this;return i&&i.errors?i.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n,t,i){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),(n||i)&&this._events.next(new yc(this.status,t)),this._parent&&this._parent._updateControlsErrors(n,t,i)}_initObservables(){this.valueChanges=new De,this.statusChanges=new De}_calculateStatus(){return this._allControlsDisabled()?js:this.errors?_c:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(pr)?pr:this._anyControlsHaveStatus(_c)?_c:Bs}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n,t){const i=!this._anyControlsDirty(),o=this.pristine!==i;this.pristine=i,this._parent&&!n.onlySelf&&this._parent._updatePristine(n,t),o&&this._events.next(new _p(this.pristine,t))}_updateTouched(n={},t){this.touched=this._anyControlsTouched(),this._events.next(new yp(this.touched,t)),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,t)}_onDisabledChange=[];_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Cc(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function cH(e){return Array.isArray(e)?hp(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function uH(e){return Array.isArray(e)?pp(e):e||null}(this._rawAsyncValidators)}}const mr=new R("",{providedIn:"root",factory:()=>Dc}),Dc="always";function Us(e,n,t=Dc){(function Ep(e,n){const t=function NE(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(xE(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const i=function OE(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(xE(i,n.asyncValidator)):"function"==typeof i&&e.setAsyncValidators([i]);const o=()=>e.updateValueAndValidity();Ec(n._rawValidators,o),Ec(n._rawAsyncValidators,o)})(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function hH(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&UE(e,n)})}(e,n),function gH(e,n){const t=(i,o)=>{n.valueAccessor.writeValue(i),o&&n.viewToModelUpdate(i)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function pH(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&UE(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function fH(e,n){if(n.valueAccessor.setDisabledState){const t=i=>{n.valueAccessor.setDisabledState(i)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function Ec(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function UE(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function GE(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function qE(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}Promise.resolve();const WE=class extends wp{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(n=null,t,i){super(function Cp(e){return(Cc(e)?e.validators:e)||null}(t),function Dp(e,n){return(Cc(n)?n.asyncValidators:e)||null}(i,t)),this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Cc(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=qE(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){GE(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){GE(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){qE(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},MH={provide:pi,useExisting:ye(()=>zs)},ZE=Promise.resolve();let zs=(()=>{class e extends pi{_changeDetectorRef;callSetDisabledState;control=new WE;static ngAcceptInputType_isDisabled;_registered=!1;viewModel;name="";isDisabled;model;options;update=new De;constructor(t,i,o,r,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this._parent=t,this._setValidators(i),this._setAsyncValidators(o),this.valueAccessor=function Tp(e,n){if(!n)return null;let t,i,o;return Array.isArray(n),n.forEach(r=>{r.constructor===Hs?t=r:function _H(e){return Object.getPrototypeOf(e.constructor)===Ji}(r)?i=r:o=r}),o||i||t||null}(0,r)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const i=t.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function Ip(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){Us(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._checkName()}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){ZE.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const i=t.isDisabled.currentValue,o=0!==i&&function Fh(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(i);ZE.then(()=>{o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function wc(e,n){return[...n.path,e]}(t,this._parent):[t]}static \u0275fac=function(i){return new(i||e)(T(mt,9),T(ot,10),T(hi,10),T(cn,10),T(Zi,8),T(mr,8))};static \u0275dir=Z({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:!1,features:[Me([MH]),ue,An]})}return e})();const NH={provide:cn,useExisting:ye(()=>Sp),multi:!0};let Sp=(()=>{class e extends Ji{writeValue(t){this.setProperty("value",parseFloat(t))}registerOnChange(t){this.onChange=i=>{t(""==i?null:parseFloat(i))}}static \u0275fac=(()=>{let t;return function(o){return(t||(t=it(e)))(o||e)}})();static \u0275dir=Z({type:e,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function(i,o){1&i&&z("change",function(s){return o.onChange(s.target.value)})("input",function(s){return o.onChange(s.target.value)})("blur",function(){return o.onTouched()})},standalone:!1,features:[Me([NH]),ue]})}return e})();const LH={provide:cn,useExisting:ye(()=>qs),multi:!0};function tM(e,n){return null==e?`${n}`:(n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let qs=(()=>{class e extends Ji{value;_optionMap=new Map;_idCounter=0;set compareWith(t){this._compareWith=t}_compareWith=Object.is;writeValue(t){this.value=t;const o=tM(this._getOptionId(t),t);this.setProperty("value",o)}registerOnChange(t){this.onChange=i=>{this.value=this._getOptionValue(i),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const i of this._optionMap.keys())if(this._compareWith(this._optionMap.get(i),t))return i;return null}_getOptionValue(t){const i=function PH(e){return e.split(":")[0]}(t);return this._optionMap.has(i)?this._optionMap.get(i):t}static \u0275fac=(()=>{let t;return function(o){return(t||(t=it(e)))(o||e)}})();static \u0275dir=Z({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(i,o){1&i&&z("change",function(s){return o.onChange(s.target.value)})("blur",function(){return o.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[Me([LH]),ue]})}return e})(),xp=(()=>{class e{_element;_renderer;_select;id;constructor(t,i,o){this._element=t,this._renderer=i,this._select=o,this._select&&(this.id=this._select._registerOption())}set ngValue(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(tM(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._setElementValue(t),this._select&&this._select.writeValue(this._select.value)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(i){return new(i||e)(T(ut),T(nn),T(qs,9))};static \u0275dir=Z({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return e})();const VH={provide:cn,useExisting:ye(()=>Np),multi:!0};function nM(e,n){return null==e?`${n}`:("string"==typeof n&&(n=`'${n}'`),n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let Np=(()=>{class e extends Ji{value;_optionMap=new Map;_idCounter=0;set compareWith(t){this._compareWith=t}_compareWith=Object.is;writeValue(t){let i;if(this.value=t,Array.isArray(t)){const o=t.map(r=>this._getOptionId(r));i=(r,s)=>{r._setSelected(o.indexOf(s.toString())>-1)}}else i=(o,r)=>{o._setSelected(!1)};this._optionMap.forEach(i)}registerOnChange(t){this.onChange=i=>{const o=[],r=i.selectedOptions;if(void 0!==r){const s=r;for(let a=0;a{let t;return function(o){return(t||(t=it(e)))(o||e)}})();static \u0275dir=Z({type:e,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(i,o){1&i&&z("change",function(s){return o.onChange(s.target)})("blur",function(){return o.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[Me([VH]),ue]})}return e})(),Op=(()=>{class e{_element;_renderer;_select;id;_value;constructor(t,i,o){this._element=t,this._renderer=i,this._select=o,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(nM(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(nM(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}_setSelected(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(i){return new(i||e)(T(ut),T(nn),T(Np,9))};static \u0275dir=Z({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return e})(),ZH=(()=>{class e{static \u0275fac=function(i){return new(i||e)};static \u0275mod=si({type:e});static \u0275inj=Tn({})}return e})(),YH=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:mr,useValue:t.callSetDisabledState??Dc}]}}static \u0275fac=function(i){return new(i||e)};static \u0275mod=si({type:e});static \u0275inj=Tn({imports:[ZH]})}return e})();class KH extends Tt{constructor(n,t){super()}schedule(n,t=0){return this}}const Oc={setInterval(e,n,...t){const{delegate:i}=Oc;return i?.setInterval?i.setInterval(e,n,...t):setInterval(e,n,...t)},clearInterval(e){const{delegate:n}=Oc;return(n?.clearInterval||clearInterval)(e)},delegate:void 0},fM={now:()=>(fM.delegate||Date).now(),delegate:void 0};class Ws{constructor(n,t=Ws.now){this.schedulerActionCtor=n,this.now=t}schedule(n,t=0,i){return new this.schedulerActionCtor(this,n).schedule(i,t)}}Ws.now=fM.now;const hM=new class JH extends Ws{constructor(n,t=Ws.now){super(n,t),this.actions=[],this._active=!1}flush(n){const{actions:t}=this;if(this._active)return void t.push(n);let i;this._active=!0;do{if(i=n.execute(n.state,n.delay))break}while(n=t.shift());if(this._active=!1,i){for(;n=t.shift();)n.unsubscribe();throw i}}}(class XH extends KH{constructor(n,t){super(n,t),this.scheduler=n,this.work=t,this.pending=!1}schedule(n,t=0){var i;if(this.closed)return this;this.state=n;const o=this.id,r=this.scheduler;return null!=o&&(this.id=this.recycleAsyncId(r,o,t)),this.pending=!0,this.delay=t,this.id=null!==(i=this.id)&&void 0!==i?i:this.requestAsyncId(r,this.id,t),this}requestAsyncId(n,t,i=0){return Oc.setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,t,i=0){if(null!=i&&this.delay===i&&!1===this.pending)return t;null!=t&&Oc.clearInterval(t)}execute(n,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(n,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,t){let o,i=!1;try{this.work(n)}catch(r){i=!0,o=r||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),o}unsubscribe(){if(!this.closed){const{id:n,scheduler:t}=this,{actions:i}=t;this.work=this.state=this.scheduler=null,this.pending=!1,ia(i,this),null!=n&&(this.id=this.recycleAsyncId(t,n,null)),this.delay=null,super.unsubscribe()}}}),eB=hM;function pM(e,n=hM,t){const i=function oB(e=0,n,t=eB){let i=-1;return null!=n&&(function nB(e){return e&&Be(e.schedule)}(n)?t=n:i=n),new St(o=>{let r=function iB(e){return e instanceof Date&&!isNaN(e)}(e)?+e-t.now():e;r<0&&(r=0);let s=0;return t.schedule(function(){o.closed||(o.next(s++),0<=i?this.schedule(void 0,i):o.complete())},r)})}(e,n);return function tB(e,n){return Di((t,i)=>{const{leading:o=!0,trailing:r=!1}=n??{};let s=!1,a=null,l=null,c=!1;const u=()=>{l?.unsubscribe(),l=null,r&&(h(),c&&i.complete())},d=()=>{l=null,c&&i.complete()},p=m=>l=Vs(e(m)).subscribe(Yn(i,u,d)),h=()=>{if(s){s=!1;const m=a;a=null,i.next(m),!c&&p(m)}};t.subscribe(Yn(i,m=>{s=!0,a=m,(!l||l.closed)&&(o?h():p(m))},()=>{c=!0,(!(r&&s&&l)||l.closed)&&i.complete()}))})}(()=>i,t)}function gM(e,n,t){const i=Be(e)||n||t?{next:e,error:n,complete:t}:e;return i?Di((o,r)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;o.subscribe(Yn(r,l=>{var c;null===(c=i.next)||void 0===c||c.call(i,l),r.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),r.complete()},l=>{var c;a=!1,null===(c=i.error)||void 0===c||c.call(i,l),r.error(l)},()=>{var l,c;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(c=i.finalize)||void 0===c||c.call(i)}))}):Zc}function mM(e,n=Zc){return e=e??rB,Di((t,i)=>{let o,r=!0;t.subscribe(Yn(i,s=>{const a=n(s);(r||!e(o,a))&&(r=!1,o=a,i.next(s))}))})}function rB(e,n){return e===n}var Vt=typeof window<"u"?window:{screen:{},navigator:{}},vr=(Vt.matchMedia||function(){return{matches:!1}}).bind(Vt),vM=!1,_M=function(){};Vt.addEventListener&&Vt.addEventListener("p",_M,{get passive(){return vM=!0}}),Vt.removeEventListener&&Vt.removeEventListener("p",_M,!1);var yM=vM,kp="ontouchstart"in Vt,DM=(kp||"TouchEvent"in Vt&&vr("(any-pointer: coarse)"),Vt.navigator.userAgent||"");vr("(pointer: coarse)").matches&&/iPad|Macintosh/.test(DM)&&Math.min(Vt.screen.width||0,Vt.screen.height||0);(vr("(pointer: coarse)").matches||!vr("(pointer: fine)").matches&&kp)&&/Windows.*Firefox/.test(DM),vr("(any-pointer: fine)").matches||vr("(any-hover: hover)");const fB=(e,n,t)=>({tooltip:e,placement:n,content:t});function hB(e,n){}function pB(e,n){1&e&&L(0,hB,0,0,"ng-template")}function gB(e,n){if(1&e&&(K(0),L(1,pB,1,0,null,1),X()),2&e){const t=v();f(),g("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Le(2,fB,t.tooltip,t.placement,t.content))}}function mB(e,n){if(1&e&&(K(0),y(1,"div",2),w(2),_(),X()),2&e){const t=v();f(),ft("title",t.tooltip)("data-tooltip-placement",t.placement),f(),j(" ",t.content," ")}}const vB=["tooltipTemplate"],_B=["leftOuterSelectionBar"],yB=["rightOuterSelectionBar"],CB=["fullBar"],DB=["selectionBar"],wB=["minHandle"],bB=["maxHandle"],EB=["floorLabel"],MB=["ceilLabel"],IB=["minHandleLabel"],TB=["maxHandleLabel"],SB=["combinedLabel"],xB=["ticksElement"],NB=e=>({"ngx-slider-selected":e});function OB(e,n){if(1&e&&N(0,"ngx-slider-tooltip-wrapper",32),2&e){const t=v().$implicit;g("template",v().tooltipTemplate)("tooltip",t.valueTooltip)("placement",t.valueTooltipPlacement)("content",t.value)}}function AB(e,n){1&e&&N(0,"span",33),2&e&&g("innerText",v().$implicit.legend)}function kB(e,n){1&e&&N(0,"span",34),2&e&&g("innerHTML",v().$implicit.legend,Kv)}function FB(e,n){if(1&e&&(y(0,"span",27),N(1,"ngx-slider-tooltip-wrapper",28),L(2,OB,1,4,"ngx-slider-tooltip-wrapper",29)(3,AB,1,1,"span",30)(4,kB,1,1,"span",31),_()),2&e){const t=n.$implicit,i=v();g("ngClass",ur(8,NB,t.selected))("ngStyle",t.style),f(),g("template",i.tooltipTemplate)("tooltip",t.tooltip)("placement",t.tooltipPlacement),f(),g("ngIf",null!=t.value),f(),g("ngIf",null!=t.legend&&!1===i.allowUnsafeHtmlInSlider),f(),g("ngIf",null!=t.legend&&(null==i.allowUnsafeHtmlInSlider||i.allowUnsafeHtmlInSlider))}}var En=function(e){return e[e.Low=0]="Low",e[e.High=1]="High",e[e.Floor=2]="Floor",e[e.Ceil=3]="Ceil",e[e.TickValue=4]="TickValue",e}(En||{});class Ac{floor=0;ceil=null;step=1;minRange=null;maxRange=null;pushRange=!1;minLimit=null;maxLimit=null;translate=null;combineLabels=null;getLegend=null;getStepLegend=null;stepsArray=null;bindIndexForStepsArray=!1;draggableRange=!1;draggableRangeOnly=!1;showSelectionBar=!1;showSelectionBarEnd=!1;showSelectionBarFromValue=null;showOuterSelectionBars=!1;hidePointerLabels=!1;hideLimitLabels=!1;autoHideLimitLabels=!0;readOnly=!1;disabled=!1;showTicks=!1;showTicksValues=!1;tickStep=null;tickValueStep=null;ticksArray=null;ticksTooltip=null;ticksValuesTooltip=null;vertical=!1;getSelectionBarColor=null;getTickColor=null;getPointerColor=null;keyboardSupport=!0;scale=1;rotate=0;enforceStep=!0;enforceRange=!0;enforceStepsArray=!0;noSwitching=!1;onlyBindHandles=!1;rightToLeft=!1;reversedControls=!1;boundPointerLabels=!0;logScale=!1;customValueToPosition=null;customPositionToValue=null;precisionLimit=12;selectionBarGradient=null;ariaLabel="ngx-slider";ariaLabelledBy=null;ariaLabelHigh="ngx-slider-max";ariaLabelledByHigh=null;handleDimension=null;barDimension=null;animate=!0;animateOnMove=!1}const EM=new R("AllowUnsafeHtmlInSlider");var F=function(e){return e[e.Min=0]="Min",e[e.Max=1]="Max",e}(F||{});class RB{value;highValue;pointerType}class I{static isNullOrUndefined(n){return null==n}static areArraysEqual(n,t){if(n.length!==t.length)return!1;for(let i=0;iMath.abs(n-r.value));let o=0;for(let r=0;r{r.events.next(a)};return n.addEventListener(t,s,{passive:!0,capture:!1}),r.teardownCallback=()=>{n.removeEventListener(t,s,{passive:!0,capture:!1})},r.eventsSubscription=r.events.pipe(I.isNullOrUndefined(o)?gM(()=>{}):pM(o,void 0,{leading:!0,trailing:!0})).subscribe(a=>{i(a)}),r}detachEventListener(n){I.isNullOrUndefined(n.eventsSubscription)||(n.eventsSubscription.unsubscribe(),n.eventsSubscription=null),I.isNullOrUndefined(n.events)||(n.events.complete(),n.events=null),I.isNullOrUndefined(n.teardownCallback)||(n.teardownCallback(),n.teardownCallback=null)}attachEventListener(n,t,i,o){const r=new MM;return r.eventName=t,r.events=new un,r.teardownCallback=this.renderer.listen(n,t,a=>{r.events.next(a)}),r.eventsSubscription=r.events.pipe(I.isNullOrUndefined(o)?gM(()=>{}):pM(o,void 0,{leading:!0,trailing:!0})).subscribe(a=>{i(a)}),r}}let mi=(()=>{class e{elemRef;renderer;changeDetectionRef;_position=0;get position(){return this._position}_dimension=0;get dimension(){return this._dimension}_alwaysHide=!1;get alwaysHide(){return this._alwaysHide}_vertical=!1;get vertical(){return this._vertical}_scale=1;get scale(){return this._scale}_rotate=0;get rotate(){return this._rotate}opacity=1;visibility="visible";left="";bottom="";height="";width="";transform="";eventListenerHelper;eventListeners=[];constructor(t,i,o){this.elemRef=t,this.renderer=i,this.changeDetectionRef=o,this.eventListenerHelper=new IM(this.renderer)}setAlwaysHide(t){this._alwaysHide=t,this.visibility=t?"hidden":"visible"}hide(){this.opacity=0}show(){this.alwaysHide||(this.opacity=1)}isVisible(){return!this.alwaysHide&&0!==this.opacity}setVertical(t){this._vertical=t,this._vertical?(this.left="",this.width=""):(this.bottom="",this.height="")}setScale(t){this._scale=t}setRotate(t){this._rotate=t,this.transform="rotate("+t+"deg)"}getRotate(){return this._rotate}setPosition(t){this._position!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._position=t,this._vertical?this.bottom=Math.round(t)+"px":this.left=Math.round(t)+"px"}calculateDimension(){const t=this.getBoundingClientRect();this._dimension=this.vertical?(t.bottom-t.top)*this.scale:(t.right-t.left)*this.scale}setDimension(t){this._dimension!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._dimension=t,this._vertical?this.height=Math.round(t)+"px":this.width=Math.round(t)+"px"}getBoundingClientRect(){return this.elemRef.nativeElement.getBoundingClientRect()}on(t,i,o){const r=this.eventListenerHelper.attachEventListener(this.elemRef.nativeElement,t,i,o);this.eventListeners.push(r)}onPassive(t,i,o){const r=this.eventListenerHelper.attachPassiveEventListener(this.elemRef.nativeElement,t,i,o);this.eventListeners.push(r)}off(t){let i,o;I.isNullOrUndefined(t)?(i=[],o=this.eventListeners):(i=this.eventListeners.filter(r=>r.eventName!==t),o=this.eventListeners.filter(r=>r.eventName===t));for(const r of o)this.eventListenerHelper.detachEventListener(r);this.eventListeners=i}isRefDestroyed(){return I.isNullOrUndefined(this.changeDetectionRef)||this.changeDetectionRef.destroyed}static \u0275fac=function(i){return new(i||e)(T(ut),T(nn),T(Zi))};static \u0275dir=Z({type:e,selectors:[["","ngxSliderElement",""]],hostVars:14,hostBindings:function(i,o){2&i&&Vl("opacity",o.opacity)("visibility",o.visibility)("left",o.left)("bottom",o.bottom)("height",o.height)("width",o.width)("transform",o.transform)},standalone:!1})}return e})(),Fp=(()=>{class e extends mi{active=!1;role="";tabindex="";ariaOrientation="";ariaLabel="";ariaLabelledBy="";ariaValueNow="";ariaValueText="";ariaValueMin="";ariaValueMax="";focus(){this.elemRef.nativeElement.focus()}focusIfNeeded(){document.activeElement!==this.elemRef.nativeElement&&this.elemRef.nativeElement.focus()}constructor(t,i,o){super(t,i,o)}static \u0275fac=function(i){return new(i||e)(T(ut),T(nn),T(Zi))};static \u0275dir=Z({type:e,selectors:[["","ngxSliderHandle",""]],hostVars:11,hostBindings:function(i,o){2&i&&(ft("role",o.role)("tabindex",o.tabindex)("aria-orientation",o.ariaOrientation)("aria-label",o.ariaLabel)("aria-labelledby",o.ariaLabelledBy)("aria-valuenow",o.ariaValueNow)("aria-valuetext",o.ariaValueText)("aria-valuemin",o.ariaValueMin)("aria-valuemax",o.ariaValueMax),Un("ngx-slider-active",o.active))},standalone:!1,features:[ue]})}return e})(),_r=(()=>{class e extends mi{allowUnsafeHtmlInSlider;_value=null;get value(){return this._value}constructor(t,i,o,r){super(t,i,o),this.allowUnsafeHtmlInSlider=r}setValue(t){let i=!1;!this.alwaysHide&&(I.isNullOrUndefined(this.value)||this.value.length!==t.length||this.value.length>0&&0===this.dimension)&&(i=!0),this._value=t,!1===this.allowUnsafeHtmlInSlider?this.elemRef.nativeElement.innerText=t:this.elemRef.nativeElement.innerHTML=t,i&&this.calculateDimension()}static \u0275fac=function(i){return new(i||e)(T(ut),T(nn),T(Zi),T(EM,8))};static \u0275dir=Z({type:e,selectors:[["","ngxSliderLabel",""]],standalone:!1,features:[ue]})}return e})(),LB=(()=>{class e{template;tooltip;placement;content;static \u0275fac=function(i){return new(i||e)};static \u0275cmp=on({type:e,selectors:[["ngx-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},standalone:!1,decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ngx-slider-inner-tooltip"]],template:function(i,o){1&i&&L(0,gB,2,6,"ng-container",0)(1,mB,3,3,"ng-container",0),2&i&&(g("ngIf",o.template),f(),g("ngIf",!o.template))},dependencies:[qn,Ob],styles:[".ngx-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]})}return e})();class PB{selected=!1;style={};tooltip=null;tooltipPlacement=null;value=null;valueTooltip=null;valueTooltipPlacement=null;legend=null}class TM{active=!1;value=0;difference=0;position=0;lowLimit=0;highLimit=0}class kc{value;highValue;static compare(n,t){return!(I.isNullOrUndefined(n)&&I.isNullOrUndefined(t)||I.isNullOrUndefined(n)!==I.isNullOrUndefined(t))&&n.value===t.value&&n.highValue===t.highValue}}class SM extends kc{forceChange;static compare(n,t){return!(I.isNullOrUndefined(n)&&I.isNullOrUndefined(t)||I.isNullOrUndefined(n)!==I.isNullOrUndefined(t))&&n.value===t.value&&n.highValue===t.highValue&&n.forceChange===t.forceChange}}const VB={provide:cn,useExisting:ye(()=>xM),multi:!0};let xM=(()=>{class e{renderer;elementRef;changeDetectionRef;zone;allowUnsafeHtmlInSlider;sliderElementNgxSliderClass=!0;value=null;valueChange=new De;highValue=null;highValueChange=new De;options=new Ac;userChangeStart=new De;userChange=new De;userChangeEnd=new De;manualRefreshSubscription;set manualRefresh(t){this.unsubscribeManualRefresh(),this.manualRefreshSubscription=t.subscribe(()=>{setTimeout(()=>this.calculateViewDimensionsAndDetectChanges())})}triggerFocusSubscription;set triggerFocus(t){this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=t.subscribe(i=>{this.focusPointer(i)})}cancelUserChangeSubscription;set cancelUserChange(t){this.unsubscribeCancelUserChange(),this.cancelUserChangeSubscription=t.subscribe(()=>{this.moving&&(this.positionTrackingHandle(this.preStartHandleValue),this.forceEnd(!0))})}get range(){return!I.isNullOrUndefined(this.value)&&!I.isNullOrUndefined(this.highValue)}initHasRun=!1;inputModelChangeSubject=new un;inputModelChangeSubscription=null;outputModelChangeSubject=new un;outputModelChangeSubscription=null;viewLowValue=null;viewHighValue=null;viewOptions=new Ac;handleHalfDimension=0;maxHandlePosition=0;currentTrackingPointer=null;currentFocusPointer=null;firstKeyDown=!1;touchId=null;dragging=new TM;preStartHandleValue=null;leftOuterSelectionBarElement;rightOuterSelectionBarElement;fullBarElement;selectionBarElement;minHandleElement;maxHandleElement;floorLabelElement;ceilLabelElement;minHandleLabelElement;maxHandleLabelElement;combinedLabelElement;ticksElement;tooltipTemplate;sliderElementVerticalClass=!1;sliderElementAnimateClass=!1;sliderElementWithLegendClass=!1;sliderElementDisabledAttr=null;sliderElementAriaLabel="ngx-slider";barStyle={};minPointerStyle={};maxPointerStyle={};fullBarTransparentClass=!1;selectionBarDraggableClass=!1;ticksUnderValuesClass=!1;get showTicks(){return this.viewOptions.showTicks}intermediateTicks=!1;ticks=[];eventListenerHelper=null;onMoveEventListener=null;onEndEventListener=null;moving=!1;resizeObserver=null;onTouchedCallback=null;onChangeCallback=null;constructor(t,i,o,r,s){this.renderer=t,this.elementRef=i,this.changeDetectionRef=o,this.zone=r,this.allowUnsafeHtmlInSlider=s,this.eventListenerHelper=new IM(this.renderer)}ngOnInit(){this.viewOptions=new Ac,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState(),this.updateAriaLabel()}ngAfterViewInit(){this.applyOptions(),this.subscribeInputModelChangeSubject(),this.subscribeOutputModelChangeSubject(),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.updateAriaLabel(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}ngOnChanges(t){!I.isNullOrUndefined(t.options)&&JSON.stringify(t.options.previousValue)!==JSON.stringify(t.options.currentValue)&&this.onChangeOptions(),(!I.isNullOrUndefined(t.value)||!I.isNullOrUndefined(t.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,forceChange:!1,internalChange:!1})}ngOnDestroy(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}writeValue(t){t instanceof Array?(this.value=t[0],this.highValue=t[1]):this.value=t,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1,controlAccessorChange:!0})}registerOnChange(t){this.onChangeCallback=t}registerOnTouched(t){this.onTouchedCallback=t}setDisabledState(t){this.viewOptions.disabled=t,this.updateDisabledState(),this.initHasRun&&this.manageEventsBindings()}setAriaLabel(t){this.viewOptions.ariaLabel=t,this.updateAriaLabel()}onResize(t){this.calculateViewDimensionsAndDetectChanges()}subscribeInputModelChangeSubject(){this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe(mM(SM.compare),function sB(e,n){return Di((t,i)=>{let o=0;t.subscribe(Yn(i,r=>e.call(n,r,o++)&&i.next(r)))})}(t=>!t.forceChange&&!t.internalChange)).subscribe(t=>this.applyInputModelChange(t))}subscribeOutputModelChangeSubject(){this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe(mM(SM.compare)).subscribe(t=>this.publishOutputModelChange(t))}subscribeResizeObserver(){gi.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(()=>this.calculateViewDimensionsAndDetectChanges()),this.resizeObserver.observe(this.elementRef.nativeElement))}unsubscribeResizeObserver(){gi.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}unsubscribeOnMove(){I.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}unsubscribeOnEnd(){I.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}unsubscribeInputModelChangeSubject(){I.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}unsubscribeOutputModelChangeSubject(){I.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}unsubscribeManualRefresh(){I.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}unsubscribeTriggerFocus(){I.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}unsubscribeCancelUserChange(){I.isNullOrUndefined(this.cancelUserChangeSubscription)||(this.cancelUserChangeSubscription.unsubscribe(),this.cancelUserChangeSubscription=null)}getPointerElement(t){return t===F.Min?this.minHandleElement:t===F.Max?this.maxHandleElement:null}getCurrentTrackingValue(){return this.currentTrackingPointer===F.Min?this.viewLowValue:this.currentTrackingPointer===F.Max?this.viewHighValue:null}modelValueToViewValue(t){return I.isNullOrUndefined(t)?NaN:I.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+t:I.findStepIndex(+t,this.viewOptions.stepsArray)}viewValueToModelValue(t){return I.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?t:this.getStepValue(t)}getStepValue(t){const i=this.viewOptions.stepsArray[t];return I.isNullOrUndefined(i)?NaN:i.value}applyViewChange(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,forceChange:!1,internalChange:!0})}applyInputModelChange(t){const i=this.normaliseModelValues(t),o=!kc.compare(t,i);o&&(this.value=i.value,this.highValue=i.highValue),this.viewLowValue=this.modelValueToViewValue(i.value),this.viewHighValue=this.range?this.modelValueToViewValue(i.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:i.value,highValue:i.highValue,controlAccessorChange:t.controlAccessorChange,forceChange:o,userEventInitiated:!1})}publishOutputModelChange(t){const i=()=>{this.valueChange.emit(t.value),this.range&&this.highValueChange.emit(t.highValue),!t.controlAccessorChange&&(I.isNullOrUndefined(this.onChangeCallback)||this.onChangeCallback(this.range?[t.value,t.highValue]:t.value),I.isNullOrUndefined(this.onTouchedCallback)||this.onTouchedCallback(this.range?[t.value,t.highValue]:t.value))};t.userEventInitiated?(i(),this.userChange.emit(this.getChangeContext())):setTimeout(()=>{i()})}normaliseModelValues(t){const i=new kc;if(i.value=t.value,i.highValue=t.highValue,!I.isNullOrUndefined(this.viewOptions.stepsArray)){if(this.viewOptions.enforceStepsArray){const o=I.findStepIndex(i.value,this.viewOptions.stepsArray);if(i.value=this.viewOptions.stepsArray[o].value,this.range){const r=I.findStepIndex(i.highValue,this.viewOptions.stepsArray);i.highValue=this.viewOptions.stepsArray[r].value}}return i}if(this.viewOptions.enforceStep&&(i.value=this.roundStep(i.value),this.range&&(i.highValue=this.roundStep(i.highValue))),this.viewOptions.enforceRange&&(i.value=He.clampToRange(i.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(i.highValue=He.clampToRange(i.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&t.value>t.highValue))if(this.viewOptions.noSwitching)i.value=i.highValue;else{const o=t.value;i.value=t.highValue,i.highValue=o}return i}renormaliseModelValues(){const t={value:this.value,highValue:this.highValue},i=this.normaliseModelValues(t);kc.compare(i,t)||(this.value=i.value,this.highValue=i.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,forceChange:!0,userEventInitiated:!1}))}onChangeOptions(){if(!this.initHasRun)return;const t=this.getOptionsInfluencingEventBindings(this.viewOptions);this.applyOptions();const i=this.getOptionsInfluencingEventBindings(this.viewOptions),o=!I.areArraysEqual(t,i);this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider(o)}applyOptions(){if(this.viewOptions=new Ac,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!I.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!I.isNullOrUndefined(this.viewOptions.tickStep)||!I.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!I.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),I.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),I.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=(t,i)=>t+" - "+i),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}applyStepsArrayOptions(){this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,I.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(this.viewOptions.bindIndexForStepsArray?this.getStepValue(t):t))}applyFloorCeilOptions(){if(I.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),I.isNullOrUndefined(this.viewOptions.ceil)||I.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,I.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(t))}resetSlider(t=!0){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),t&&(this.unbindEvents(),this.manageEventsBindings()),this.updateDisabledState(),this.updateAriaLabel(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}focusPointer(t){t!==F.Min&&t!==F.Max&&(t=F.Min),t===F.Min?this.minHandleElement.focus():this.range&&t===F.Max&&this.maxHandleElement.focus()}refocusPointerIfNeeded(){I.isNullOrUndefined(this.currentFocusPointer)||this.getPointerElement(this.currentFocusPointer).focusIfNeeded()}manageElementsStyle(){this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);const t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(()=>{this.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate}),this.updateRotate()}manageEventsBindings(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}updateDisabledState(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}updateAriaLabel(){this.sliderElementAriaLabel=this.viewOptions.ariaLabel||"nxg-slider"}updateVerticalState(){this.sliderElementVerticalClass=this.viewOptions.vertical;for(const t of this.getAllSliderElements())I.isNullOrUndefined(t)||t.setVertical(this.viewOptions.vertical)}updateScale(){for(const t of this.getAllSliderElements())t.setScale(this.viewOptions.scale)}updateRotate(){for(const t of this.getAllSliderElements())t.setRotate(this.viewOptions.rotate)}getAllSliderElements(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}initHandles(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}addAccessibility(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.minHandleElement.ariaOrientation=this.viewOptions.vertical||0!==this.viewOptions.rotate?"vertical":"horizontal",I.isNullOrUndefined(this.viewOptions.ariaLabel)?I.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical||0!==this.viewOptions.rotate?"vertical":"horizontal",I.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?I.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}updateAriaAttributes(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,En.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,En.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}calculateViewDimensions(){I.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);const t=this.minHandleElement.dimension;this.handleHalfDimension=t/2,I.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-t,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}calculateViewDimensionsAndDetectChanges(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}isRefDestroyed(){return this.changeDetectionRef.destroyed}updateTicksScale(){if(!this.viewOptions.showTicks&&this.sliderElementWithLegendClass)return void setTimeout(()=>{this.sliderElementWithLegendClass=!1});const t=I.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,i=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();const o=I.isNullOrUndefined(this.viewOptions.tickValueStep)?I.isNullOrUndefined(this.viewOptions.tickStep)?this.viewOptions.step:this.viewOptions.tickStep:this.viewOptions.tickValueStep;let r=!1;const s=t.map(a=>{let l=this.valueToPosition(a);this.viewOptions.vertical&&(l=this.maxHandlePosition-l);const c=i+"("+Math.round(l)+"px)",u=new PB;u.selected=this.isTickSelected(a),u.style={"-webkit-transform":c,"-moz-transform":c,"-o-transform":c,"-ms-transform":c,transform:c},u.selected&&!I.isNullOrUndefined(this.viewOptions.getSelectionBarColor)&&(u.style["background-color"]=this.getSelectionBarColor()),!u.selected&&!I.isNullOrUndefined(this.viewOptions.getTickColor)&&(u.style["background-color"]=this.getTickColor(a)),I.isNullOrUndefined(this.viewOptions.ticksTooltip)||(u.tooltip=this.viewOptions.ticksTooltip(a),u.tooltipPlacement=this.viewOptions.vertical?"right":"top"),this.viewOptions.showTicksValues&&!I.isNullOrUndefined(o)&&He.isModuloWithinPrecisionLimit(a,o,this.viewOptions.precisionLimit)&&(u.value=this.getDisplayValue(a,En.TickValue),I.isNullOrUndefined(this.viewOptions.ticksValuesTooltip)||(u.valueTooltip=this.viewOptions.ticksValuesTooltip(a),u.valueTooltipPlacement=this.viewOptions.vertical?"right":"top"));let d=null;if(I.isNullOrUndefined(this.viewOptions.stepsArray))I.isNullOrUndefined(this.viewOptions.getLegend)||(d=this.viewOptions.getLegend(a));else{const p=this.viewOptions.stepsArray[a];I.isNullOrUndefined(this.viewOptions.getStepLegend)?I.isNullOrUndefined(p)||(d=p.legend):d=this.viewOptions.getStepLegend(p)}return I.isNullOrUndefined(d)||(u.legend=d,r=!0),u});if(this.sliderElementWithLegendClass!==r&&setTimeout(()=>{this.sliderElementWithLegendClass=r}),I.isNullOrUndefined(this.ticks)||this.ticks.length!==s.length)this.ticks=s,this.isRefDestroyed()||this.changeDetectionRef.detectChanges();else for(let a=0;a=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&t<=this.viewLowValue)return!0}else{const i=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>i&&t>=i&&t<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&t>=this.viewLowValue&&t<=this.viewHighValue)}updateFloorLabel(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,En.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}updateCeilLabel(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,En.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}updateHandles(t,i){t===F.Min?this.updateLowHandle(i):t===F.Max&&this.updateHighHandle(i),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}getHandleLabelPos(t,i){const o=t===F.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,r=i-o/2+this.handleHalfDimension,s=this.fullBarElement.dimension-o;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&t===F.Min||!this.viewOptions.rightToLeft&&t===F.Max?Math.min(r,s):Math.min(Math.max(r,0),s):r}updateLowHandle(t){this.minHandleElement.setPosition(t),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,En.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(F.Min,t)),I.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(F.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateHighHandle(t){this.maxHandleElement.setPosition(t),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,En.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(F.Max,t)),I.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(F.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateFloorAndCeilLabelsVisibility(){if(this.viewOptions.hidePointerLabels)return;let t=!1,i=!1;const o=this.isLabelBelowFloorLabel(this.minHandleLabelElement),r=this.isLabelAboveCeilLabel(this.minHandleLabelElement),s=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),a=this.isLabelBelowFloorLabel(this.combinedLabelElement),l=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(o?(t=!0,this.floorLabelElement.hide()):(t=!1,this.floorLabelElement.show()),r?(i=!0,this.ceilLabelElement.hide()):(i=!1,this.ceilLabelElement.show()),this.range){const c=this.combinedLabelElement.isVisible()?l:s,u=this.combinedLabelElement.isVisible()?a:o;c?this.ceilLabelElement.hide():i||this.ceilLabelElement.show(),u?this.floorLabelElement.hide():t||this.floorLabelElement.show()}}isLabelBelowFloorLabel(t){const i=t.position,r=this.floorLabelElement.position;return this.viewOptions.rightToLeft?i+t.dimension>=r-2:i<=r+this.floorLabelElement.dimension+2}isLabelAboveCeilLabel(t){const i=t.position,r=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?i<=r+this.ceilLabelElement.dimension+2:i+t.dimension>=r-2}updateSelectionBar(){let t=0,i=0;const o=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,r=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)i=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),t=r;else if(I.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))o?(i=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),t=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(i=this.minHandleElement.position+this.handleHalfDimension,t=0);else{const s=this.viewOptions.showSelectionBarFromValue,a=this.valueToPosition(s);(this.viewOptions.rightToLeft?this.viewLowValue<=s:this.viewLowValue>s)?(i=this.minHandleElement.position-a,t=a+this.handleHalfDimension):(i=a-this.minHandleElement.position,t=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(i),this.selectionBarElement.setPosition(t),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(t),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+i)),this.leftOuterSelectionBarElement.setPosition(t+i)):(this.leftOuterSelectionBarElement.setDimension(t),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+i)),this.rightOuterSelectionBarElement.setPosition(t+i))),I.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!I.isNullOrUndefined(this.viewOptions.selectionBarGradient)){const s=I.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),a=s-t>0&&!o||s-t<=0&&o;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?a?"bottom":"top":a?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(s+i+t+(a?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=s-t+(a?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{const s=this.getSelectionBarColor();this.barStyle={backgroundColor:s}}}getSelectionBarColor(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}getPointerColor(t){return this.viewOptions.getPointerColor(t===F.Max?this.highValue:this.value,t)}getTickColor(t){return this.viewOptions.getTickColor(t)}updateCombinedLabel(){let t=null;if(t=this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position,t){const i=this.getDisplayValue(this.viewLowValue,En.Low),o=this.getDisplayValue(this.viewHighValue,En.High),r=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(o,i):this.viewOptions.combineLabels(i,o);this.combinedLabelElement.setValue(r);const s=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(s),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}getDisplayValue(t,i){return!I.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(t=this.getStepValue(t)),this.viewOptions.translate(t,i)}roundStep(t,i){const o=I.isNullOrUndefined(i)?this.viewOptions.step:i;let r=He.roundToPrecisionLimit((t-this.viewOptions.floor)/o,this.viewOptions.precisionLimit);return r=Math.round(r)*o,He.roundToPrecisionLimit(this.viewOptions.floor+r,this.viewOptions.precisionLimit)}valueToPosition(t){let i=I.linearValueToPosition;I.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(i=I.logValueToPosition):i=this.viewOptions.customValueToPosition;let o=i(t=He.clampToRange(t,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return I.isNullOrUndefined(o)&&(o=0),this.viewOptions.rightToLeft&&(o=1-o),o*this.maxHandlePosition}positionToValue(t){let i=t/this.maxHandlePosition;this.viewOptions.rightToLeft&&(i=1-i);let o=I.linearPositionToValue;I.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(o=I.logPositionToValue):o=this.viewOptions.customPositionToValue;const r=o(i,this.viewOptions.floor,this.viewOptions.ceil);return I.isNullOrUndefined(r)?0:r}getEventXY(t,i){if(t instanceof MouseEvent)return this.viewOptions.vertical||0!==this.viewOptions.rotate?t.clientY:t.clientX;let o=0;const r=t.touches;if(!I.isNullOrUndefined(i))for(let s=0;sr?F.Max:this.viewOptions.rightToLeft?i>this.minHandleElement.position?F.Min:F.Max:ithis.onBarStart(null,t,i,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.on("mousedown",i=>this.onBarStart(F.Min,t,i,!0,!0)),this.maxHandleElement.on("mousedown",i=>this.onBarStart(F.Max,t,i,!0,!0))):(this.minHandleElement.on("mousedown",i=>this.onStart(F.Min,i,!0,!0)),this.range&&this.maxHandleElement.on("mousedown",i=>this.onStart(F.Max,i,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.on("mousedown",i=>this.onStart(null,i,!0,!0,!0)),this.ticksElement.on("mousedown",i=>this.onStart(null,i,!0,!0,!0,!0)))),this.viewOptions.onlyBindHandles||this.selectionBarElement.onPassive("touchstart",i=>this.onBarStart(null,t,i,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.onPassive("touchstart",i=>this.onBarStart(F.Min,t,i,!0,!0)),this.maxHandleElement.onPassive("touchstart",i=>this.onBarStart(F.Max,t,i,!0,!0))):(this.minHandleElement.onPassive("touchstart",i=>this.onStart(F.Min,i,!0,!0)),this.range&&this.maxHandleElement.onPassive("touchstart",i=>this.onStart(F.Max,i,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.onPassive("touchstart",i=>this.onStart(null,i,!0,!0,!0)),this.ticksElement.onPassive("touchstart",i=>this.onStart(null,i,!1,!1,!0,!0)))),this.viewOptions.keyboardSupport&&(this.minHandleElement.on("focus",()=>this.onPointerFocus(F.Min)),this.range&&this.maxHandleElement.on("focus",()=>this.onPointerFocus(F.Max)))}getOptionsInfluencingEventBindings(t){return[t.disabled,t.readOnly,t.draggableRange,t.draggableRangeOnly,t.onlyBindHandles,t.keyboardSupport]}unbindEvents(){this.unsubscribeOnMove(),this.unsubscribeOnEnd();for(const t of this.getAllSliderElements())I.isNullOrUndefined(t)||t.off()}onBarStart(t,i,o,r,s,a,l){i?this.onDragStart(t,o,r,s):this.onStart(t,o,r,s,a,l)}onStart(t,i,o,r,s,a){i.stopPropagation(),!gi.isTouchEvent(i)&&!yM&&i.preventDefault(),this.moving=!1,this.calculateViewDimensions(),I.isNullOrUndefined(t)&&(t=this.getNearestHandle(i)),this.currentTrackingPointer=t;const l=this.getPointerElement(t);if(l.active=!0,this.preStartHandleValue=this.getCurrentTrackingValue(),this.viewOptions.keyboardSupport&&l.focus(),o){this.unsubscribeOnMove();const c=u=>this.dragging.active?this.onDragMove(u):this.onMove(u);this.onMoveEventListener=gi.isTouchEvent(i)?this.eventListenerHelper.attachPassiveEventListener(document,"touchmove",c):this.eventListenerHelper.attachEventListener(document,"mousemove",c)}if(r){this.unsubscribeOnEnd();const c=u=>this.onEnd(u);this.onEndEventListener=gi.isTouchEvent(i)?this.eventListenerHelper.attachPassiveEventListener(document,"touchend",c):this.eventListenerHelper.attachEventListener(document,"mouseup",c)}this.userChangeStart.emit(this.getChangeContext()),gi.isTouchEvent(i)&&!I.isNullOrUndefined(i.changedTouches)&&I.isNullOrUndefined(this.touchId)&&(this.touchId=i.changedTouches[0].identifier),s&&this.onMove(i,!0),a&&this.onEnd(i)}onMove(t,i){let o=null;if(gi.isTouchEvent(t)){const c=t.changedTouches;for(let u=0;u=this.maxHandlePosition?s=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(s=this.positionToValue(r),s=i&&!I.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(s,this.viewOptions.tickStep):this.roundStep(s)),this.positionTrackingHandle(s)}forceEnd(t=!1){this.moving=!1,this.viewOptions.animate&&(this.sliderElementAnimateClass=!0),t&&(this.sliderElementAnimateClass=!1,setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate})),this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext())}onEnd(t){gi.isTouchEvent(t)&&t.changedTouches[0].identifier!==this.touchId||this.forceEnd()}onPointerFocus(t){const i=this.getPointerElement(t);i.on("blur",()=>this.onPointerBlur(i)),i.on("keydown",o=>this.onKeyboardEvent(o)),i.on("keyup",()=>this.onKeyUp()),i.active=!0,this.currentTrackingPointer=t,this.currentFocusPointer=t,this.firstKeyDown=!0}onKeyUp(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}onPointerBlur(t){t.off("blur"),t.off("keydown"),t.off("keyup"),t.active=!1,I.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}getKeyActions(t){const i=this.viewOptions.ceil-this.viewOptions.floor;let o=t+this.viewOptions.step,r=t-this.viewOptions.step,s=t+i/10,a=t-i/10;this.viewOptions.reversedControls&&(o=t-this.viewOptions.step,r=t+this.viewOptions.step,s=t-i/10,a=t+i/10);const l={UP:o,DOWN:r,LEFT:r,RIGHT:o,PAGEUP:s,PAGEDOWN:a,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(l.LEFT=o,l.RIGHT=r,(this.viewOptions.vertical||0!==this.viewOptions.rotate)&&(l.UP=r,l.DOWN=o)),l}onKeyboardEvent(t){const i=this.getCurrentTrackingValue(),o=I.isNullOrUndefined(t.keyCode)?t.which:t.keyCode,l=this.getKeyActions(i)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[o]];if(I.isNullOrUndefined(l)||I.isNullOrUndefined(this.currentTrackingPointer))return;t.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));const c=He.clampToRange(l,this.viewOptions.floor,this.viewOptions.ceil),u=this.roundStep(c);if(this.viewOptions.draggableRangeOnly){const d=this.viewHighValue-this.viewLowValue;let p,h;this.currentTrackingPointer===F.Min?(p=u,h=u+d,h>this.viewOptions.ceil&&(h=this.viewOptions.ceil,p=h-d)):this.currentTrackingPointer===F.Max&&(h=u,p=u-d,p=this.maxHandlePosition-o;let u,d;if(i<=r){if(0===s.position)return;u=this.getMinValue(i,!0,!1),d=this.getMaxValue(i,!0,!1)}else if(c){if(a.position===this.maxHandlePosition)return;d=this.getMaxValue(i,!0,!0),u=this.getMinValue(i,!0,!0)}else u=this.getMinValue(i,!1,!1),d=this.getMaxValue(i,!1,!1);this.positionTrackingBar(u,d)}positionTrackingBar(t,i){!I.isNullOrUndefined(this.viewOptions.minLimit)&&tthis.viewOptions.maxLimit&&(t=He.roundToPrecisionLimit((i=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=t,this.viewHighValue=i,this.applyViewChange(),this.updateHandles(F.Min,this.valueToPosition(t)),this.updateHandles(F.Max,this.valueToPosition(i))}positionTrackingHandle(t){t=this.applyMinMaxLimit(t),this.range&&(this.viewOptions.pushRange?t=this.applyPushRange(t):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===F.Min&&t>this.viewHighValue?t=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===F.Max&&tthis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(F.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=F.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===F.Max&&tthis.viewOptions.maxLimit?this.viewOptions.maxLimit:t}applyMinMaxRange(t){const o=Math.abs(t-(this.currentTrackingPointer===F.Min?this.viewHighValue:this.viewLowValue));if(!I.isNullOrUndefined(this.viewOptions.minRange)&&othis.viewOptions.maxRange){if(this.currentTrackingPointer===F.Min)return He.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===F.Max)return He.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return t}applyPushRange(t){const i=this.currentTrackingPointer===F.Min?this.viewHighValue-t:t-this.viewLowValue,o=I.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,r=this.viewOptions.maxRange;return ir&&(this.currentTrackingPointer===F.Min?(this.viewHighValue=He.roundToPrecisionLimit(t+r,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(F.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===F.Max&&(this.viewLowValue=He.roundToPrecisionLimit(t-r,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(F.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),t}getChangeContext(){const t=new RB;return t.pointerType=this.currentTrackingPointer,t.value=+this.value,this.range&&(t.highValue=+this.highValue),t}static \u0275fac=function(i){return new(i||e)(T(nn),T(ut),T(Zi),T(he),T(EM,8))};static \u0275cmp=on({type:e,selectors:[["ngx-slider"]],contentQueries:function(i,o,r){if(1&i&&RD(r,vB,5),2&i){let s;Mt(s=It())&&(o.tooltipTemplate=s.first)}},viewQuery:function(i,o){if(1&i&&(Lt(_B,5,mi),Lt(yB,5,mi),Lt(CB,5,mi),Lt(DB,5,mi),Lt(wB,5,Fp),Lt(bB,5,Fp),Lt(EB,5,_r),Lt(MB,5,_r),Lt(IB,5,_r),Lt(TB,5,_r),Lt(SB,5,_r),Lt(xB,5,mi)),2&i){let r;Mt(r=It())&&(o.leftOuterSelectionBarElement=r.first),Mt(r=It())&&(o.rightOuterSelectionBarElement=r.first),Mt(r=It())&&(o.fullBarElement=r.first),Mt(r=It())&&(o.selectionBarElement=r.first),Mt(r=It())&&(o.minHandleElement=r.first),Mt(r=It())&&(o.maxHandleElement=r.first),Mt(r=It())&&(o.floorLabelElement=r.first),Mt(r=It())&&(o.ceilLabelElement=r.first),Mt(r=It())&&(o.minHandleLabelElement=r.first),Mt(r=It())&&(o.maxHandleLabelElement=r.first),Mt(r=It())&&(o.combinedLabelElement=r.first),Mt(r=It())&&(o.ticksElement=r.first)}},hostVars:10,hostBindings:function(i,o){1&i&&z("resize",function(s){return o.onResize(s)},0,cl),2&i&&(ft("disabled",o.sliderElementDisabledAttr)("aria-label",o.sliderElementAriaLabel),Un("ngx-slider",o.sliderElementNgxSliderClass)("vertical",o.sliderElementVerticalClass)("animate",o.sliderElementAnimateClass)("with-legend",o.sliderElementWithLegendClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus",cancelUserChange:"cancelUserChange"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},standalone:!1,features:[Me([VB]),An],decls:29,vars:13,consts:[["leftOuterSelectionBar",""],["rightOuterSelectionBar",""],["fullBar",""],["selectionBar",""],["minHandle",""],["maxHandle",""],["floorLabel",""],["ceilLabel",""],["minHandleLabel",""],["maxHandleLabel",""],["combinedLabel",""],["ticksElement",""],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-left-out-selection"],[1,"ngx-slider-span","ngx-slider-bar"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-right-out-selection"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-full-bar"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-selection-bar"],[1,"ngx-slider-span","ngx-slider-bar","ngx-slider-selection",3,"ngStyle"],["ngxSliderHandle","",1,"ngx-slider-span","ngx-slider-pointer","ngx-slider-pointer-min",3,"ngStyle"],["ngxSliderHandle","",1,"ngx-slider-span","ngx-slider-pointer","ngx-slider-pointer-max",3,"ngStyle"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-limit","ngx-slider-floor"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-limit","ngx-slider-ceil"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-model-value"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-model-high"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-combined"],["ngxSliderElement","",1,"ngx-slider-ticks",3,"hidden"],["class","ngx-slider-tick",3,"ngClass","ngStyle",4,"ngFor","ngForOf"],[1,"ngx-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],["class","ngx-slider-span ngx-slider-tick-value",3,"template","tooltip","placement","content",4,"ngIf"],["class","ngx-slider-span ngx-slider-tick-legend",3,"innerText",4,"ngIf"],["class","ngx-slider-span ngx-slider-tick-legend",3,"innerHTML",4,"ngIf"],[1,"ngx-slider-span","ngx-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ngx-slider-span","ngx-slider-tick-legend",3,"innerText"],[1,"ngx-slider-span","ngx-slider-tick-legend",3,"innerHTML"]],template:function(i,o){1&i&&(y(0,"span",12,0),N(2,"span",13),_(),y(3,"span",14,1),N(5,"span",13),_(),y(6,"span",15,2),N(8,"span",13),_(),y(9,"span",16,3),N(11,"span",17),_(),N(12,"span",18,4)(14,"span",19,5)(16,"span",20,6)(18,"span",21,7)(20,"span",22,8)(22,"span",23,9)(24,"span",24,10),y(26,"span",25,11),L(28,FB,5,10,"span",26),_()),2&i&&(f(6),Un("ngx-slider-transparent",o.fullBarTransparentClass),f(3),Un("ngx-slider-draggable",o.selectionBarDraggableClass),f(2),g("ngStyle",o.barStyle),f(),g("ngStyle",o.minPointerStyle),f(2),Vl("display",o.range?"inherit":"none"),g("ngStyle",o.maxPointerStyle),f(12),Un("ngx-slider-ticks-values-under",o.ticksUnderValuesClass),g("hidden",!o.showTicks),f(2),g("ngForOf",o.ticks))},dependencies:[hr,Ki,qn,Nb,mi,Fp,_r,LB],styles:['.ngx-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;user-select:none;touch-action:pan-y} .ngx-slider.with-legend{margin-bottom:40px} .ngx-slider[disabled]{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ngx-slider[disabled] .ngx-slider-draggable{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-selection{background:#8b91a2} .ngx-slider[disabled] .ngx-slider-tick{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-tick.ngx-slider-selected{background:#8b91a2} .ngx-slider .ngx-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ngx-slider .ngx-slider-base{width:100%;height:100%;padding:0} .ngx-slider .ngx-slider-bar-wrapper{left:0;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ngx-slider .ngx-slider-draggable{cursor:move} .ngx-slider .ngx-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-transparent .ngx-slider-bar{background:transparent} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-left-out-selection .ngx-slider-bar{background:#df002d} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-right-out-selection .ngx-slider-bar{background:#03a688} .ngx-slider .ngx-slider-selection{z-index:2;background:#0db9f0;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} .ngx-slider .ngx-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px} .ngx-slider .ngx-slider-pointer:after{content:"";width:8px;height:8px;position:absolute;top:12px;left:12px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;background:#fff} .ngx-slider .ngx-slider-pointer:hover:after{background-color:#fff} .ngx-slider .ngx-slider-pointer.ngx-slider-active{z-index:4} .ngx-slider .ngx-slider-pointer.ngx-slider-active:after{background-color:#451aff} .ngx-slider .ngx-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:#55637d} .ngx-slider .ngx-slider-ticks{box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ngx-slider .ngx-slider-ticks-values-under .ngx-slider-tick-value{top:auto;bottom:-36px} .ngx-slider .ngx-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ngx-slider .ngx-slider-tick.ngx-slider-selected{background:#0db9f0} .ngx-slider .ngx-slider-tick-value{position:absolute;top:-34px;transform:translate(-50%)} .ngx-slider .ngx-slider-tick-legend{position:absolute;top:24px;transform:translate(-50%);max-width:50px;white-space:normal} .ngx-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;touch-action:pan-x} .ngx-slider.vertical .ngx-slider-base{width:100%;height:100%;padding:0} .ngx-slider.vertical .ngx-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ngx-slider.vertical .ngx-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ngx-slider.vertical .ngx-slider-pointer{left:-14px!important;top:auto;bottom:0} .ngx-slider.vertical .ngx-slider-bubble{left:16px!important;bottom:0} .ngx-slider.vertical .ngx-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ngx-slider.vertical .ngx-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ngx-slider.vertical .ngx-slider-tick-value{left:24px;top:auto;transform:translateY(-28%)} .ngx-slider.vertical .ngx-slider-tick-legend{top:auto;right:24px;transform:translateY(-28%);max-width:none;white-space:nowrap} .ngx-slider.vertical .ngx-slider-ticks-values-under .ngx-slider-tick-value{bottom:auto;left:auto;right:24px} .ngx-slider *{transition:none} .ngx-slider.animate .ngx-slider-bar-wrapper{transition:all linear .3s} .ngx-slider.animate .ngx-slider-selection{transition:background-color linear .3s} .ngx-slider.animate .ngx-slider-pointer{transition:all linear .3s} .ngx-slider.animate .ngx-slider-pointer:after{transition:all linear .3s} .ngx-slider.animate .ngx-slider-bubble{transition:all linear .3s} .ngx-slider.animate .ngx-slider-bubble.ngx-slider-limit{transition:opacity linear .3s} .ngx-slider.animate .ngx-slider-bubble.ngx-slider-combined{transition:opacity linear .3s} .ngx-slider.animate .ngx-slider-tick{transition:background-color linear .3s}']})}return e})(),HB=(()=>{class e{static \u0275fac=function(i){return new(i||e)};static \u0275mod=si({type:e});static \u0275inj=Tn({imports:[Fb]})}return e})();class NM{constructor(){this.riskHotspotsSettings=null,this.coverageInfoSettings=null}}class BB{constructor(){this.showLineCoverage=!0,this.showBranchCoverage=!0,this.showMethodCoverage=!0,this.showFullMethodCoverage=!0,this.visibleMetrics=[],this.groupingMaximum=0,this.grouping=0,this.historyComparisionDate="",this.historyComparisionType="",this.filter="",this.lineCoverageMin=0,this.lineCoverageMax=100,this.branchCoverageMin=0,this.branchCoverageMax=100,this.methodCoverageMin=0,this.methodCoverageMax=100,this.methodFullCoverageMin=0,this.methodFullCoverageMax=100,this.sortBy="name",this.sortOrder="asc",this.collapseStates=[]}}class jB{constructor(n){this.et="",this.et=n.et,this.cl=n.cl,this.ucl=n.ucl,this.cal=n.cal,this.tl=n.tl,this.lcq=n.lcq,this.cb=n.cb,this.tb=n.tb,this.bcq=n.bcq,this.cm=n.cm,this.fcm=n.fcm,this.tm=n.tm,this.mcq=n.mcq,this.mfcq=n.mfcq}get coverageRatioText(){return 0===this.tl?"-":this.cl+"/"+this.cal}get branchCoverageRatioText(){return 0===this.tb?"-":this.cb+"/"+this.tb}get methodCoverageRatioText(){return 0===this.tm?"-":this.cm+"/"+this.tm}get methodFullCoverageRatioText(){return 0===this.tm?"-":this.fcm+"/"+this.tm}}class Ht{static roundNumber(n){return Math.floor(n*Math.pow(10,Ht.maximumDecimalPlacesForCoverageQuotas))/Math.pow(10,Ht.maximumDecimalPlacesForCoverageQuotas)}static getNthOrLastIndexOf(n,t,i){let o=0,r=-1,s=-1;for(;o{this.historicCoverages.push(new jB(i))}),this.metrics=n.metrics}get coverage(){return 0===this.coverableLines?NaN:Ht.roundNumber(100*this.coveredLines/this.coverableLines)}visible(n){if(""!==n.filter&&-1===this.name.toLowerCase().indexOf(n.filter.toLowerCase()))return!1;let t=this.coverage,i=t;if(t=Number.isNaN(t)?0:t,i=Number.isNaN(i)?100:i,n.lineCoverageMin>t||n.lineCoverageMaxo||n.branchCoverageMaxs||n.methodCoverageMaxl||n.methodFullCoverageMax=this.currentHistoricCoverage.lcq)return!1}else if("branchCoverageIncreaseOnly"===n.historyComparisionType){let u=this.branchCoverage;if(isNaN(u)||u<=this.currentHistoricCoverage.bcq)return!1}else if("branchCoverageDecreaseOnly"===n.historyComparisionType){let u=this.branchCoverage;if(isNaN(u)||u>=this.currentHistoricCoverage.bcq)return!1}else if("methodCoverageIncreaseOnly"===n.historyComparisionType){let u=this.methodCoverage;if(isNaN(u)||u<=this.currentHistoricCoverage.mcq)return!1}else if("methodCoverageDecreaseOnly"===n.historyComparisionType){let u=this.methodCoverage;if(isNaN(u)||u>=this.currentHistoricCoverage.mcq)return!1}else if("fullMethodCoverageIncreaseOnly"===n.historyComparisionType){let u=this.methodFullCoverage;if(isNaN(u)||u<=this.currentHistoricCoverage.mfcq)return!1}else if("fullMethodCoverageDecreaseOnly"===n.historyComparisionType){let u=this.methodFullCoverage;if(isNaN(u)||u>=this.currentHistoricCoverage.mfcq)return!1}return!0}updateCurrentHistoricCoverage(n){if(this.currentHistoricCoverage=null,""!==n)for(let t=0;t-1&&null===t}visible(n){if(""!==n.filter&&this.name.toLowerCase().indexOf(n.filter.toLowerCase())>-1)return!0;for(let t=0;t{class e{get nativeWindow(){return function UB(){return window}()}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=te({token:e,factory:e.\u0275fac})}}return e})(),$B=(()=>{class e{constructor(){this.translations={}}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=on({type:e,selectors:[["pro-button"]],inputs:{translations:"translations"},standalone:!1,decls:3,vars:1,consts:[["href","https://reportgenerator.io/pro","target","_blank",1,"pro-button","pro-button-tiny",3,"title"]],template:function(i,o){1&i&&(w(0,"\xa0"),y(1,"a",0),w(2,"PRO"),_()),2&i&&(f(),bn("title",o.translations.methodCoverageProVersion))},encapsulation:2})}}return e})();function zB(e,n){if(1&e){const t=me();y(0,"div",3)(1,"label")(2,"input",4),Ke("ngModelChange",function(o){H(t);const r=v();return be(r.showBranchCoverage,o)||(r.showBranchCoverage=o),B(o)}),z("change",function(){H(t);const o=v();return B(o.showBranchCoverageChange.emit(o.showBranchCoverage))}),_(),w(3),_()()}if(2&e){const t=v();f(2),Ze("ngModel",t.showBranchCoverage),f(),j(" ",t.translations.branchCoverage,"")}}function GB(e,n){1&e&&N(0,"pro-button",9),2&e&&g("translations",v().translations)}function qB(e,n){1&e&&N(0,"pro-button",9),2&e&&g("translations",v().translations)}function WB(e,n){1&e&&N(0,"pro-button",9),2&e&&g("translations",v(2).translations)}function ZB(e,n){1&e&&(y(0,"a",13),N(1,"i",14),_()),2&e&&g("href",v().$implicit.explanationUrl,ni)}function QB(e,n){if(1&e){const t=me();y(0,"div",3)(1,"label")(2,"input",11),z("change",function(){const o=H(t).$implicit;return B(v(2).toggleMetric(o))}),_(),w(3),_(),w(4,"\xa0"),L(5,ZB,2,1,"a",12),_()}if(2&e){const t=n.$implicit,i=v(2);f(2),g("checked",i.isMetricSelected(t))("disabled",!i.methodCoverageAvailable),f(),j(" ",t.name,""),f(2),g("ngIf",t.explanationUrl)}}function YB(e,n){if(1&e&&(K(0),N(1,"br")(2,"br"),y(3,"b"),w(4),_(),L(5,WB,1,1,"pro-button",7)(6,QB,6,4,"div",10),X()),2&e){const t=v();f(4),O(t.translations.metrics),f(),g("ngIf",!t.methodCoverageAvailable),f(),g("ngForOf",t.metrics)}}let KB=(()=>{class e{constructor(){this.visible=!1,this.visibleChange=new De,this.translations={},this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.metrics=[],this.showLineCoverage=!1,this.showLineCoverageChange=new De,this.showBranchCoverage=!1,this.showBranchCoverageChange=new De,this.showMethodCoverage=!1,this.showMethodCoverageChange=new De,this.showMethodFullCoverage=!1,this.showMethodFullCoverageChange=new De,this.visibleMetrics=[],this.visibleMetricsChange=new De}isMetricSelected(t){return void 0!==this.visibleMetrics.find(i=>i.name===t.name)}toggleMetric(t){let i=this.visibleMetrics.find(o=>o.name===t.name);i?this.visibleMetrics.splice(this.visibleMetrics.indexOf(i),1):this.visibleMetrics.push(t),this.visibleMetrics=[...this.visibleMetrics],this.visibleMetricsChange.emit(this.visibleMetrics)}close(){this.visible=!1,this.visibleChange.emit(this.visible)}cancelEvent(t){t.stopPropagation()}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=on({type:e,selectors:[["popup"]],inputs:{visible:"visible",translations:"translations",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",metrics:"metrics",showLineCoverage:"showLineCoverage",showBranchCoverage:"showBranchCoverage",showMethodCoverage:"showMethodCoverage",showMethodFullCoverage:"showMethodFullCoverage",visibleMetrics:"visibleMetrics"},outputs:{visibleChange:"visibleChange",showLineCoverageChange:"showLineCoverageChange",showBranchCoverageChange:"showBranchCoverageChange",showMethodCoverageChange:"showMethodCoverageChange",showMethodFullCoverageChange:"showMethodFullCoverageChange",visibleMetricsChange:"visibleMetricsChange"},standalone:!1,decls:22,vars:13,consts:[[1,"popup-container",3,"click"],[1,"popup",3,"click"],[1,"close",3,"click"],[1,"mt-1"],["type","checkbox",3,"ngModelChange","change","ngModel"],["class","mt-1",4,"ngIf"],["type","checkbox",3,"ngModelChange","change","ngModel","disabled"],[3,"translations",4,"ngIf"],[4,"ngIf"],[3,"translations"],["class","mt-1",4,"ngFor","ngForOf"],["type","checkbox",3,"change","checked","disabled"],["target","_blank",3,"href",4,"ngIf"],["target","_blank",3,"href"],[1,"icon-info-circled"]],template:function(i,o){1&i&&(y(0,"div",0),z("click",function(){return o.close()}),y(1,"div",1),z("click",function(s){return o.cancelEvent(s)}),y(2,"div",2),z("click",function(){return o.close()}),w(3,"X"),_(),y(4,"b"),w(5),_(),y(6,"div",3)(7,"label")(8,"input",4),Ke("ngModelChange",function(s){return be(o.showLineCoverage,s)||(o.showLineCoverage=s),s}),z("change",function(){return o.showLineCoverageChange.emit(o.showLineCoverage)}),_(),w(9),_()(),L(10,zB,4,2,"div",5),y(11,"div",3)(12,"label")(13,"input",6),Ke("ngModelChange",function(s){return be(o.showMethodCoverage,s)||(o.showMethodCoverage=s),s}),z("change",function(){return o.showMethodCoverageChange.emit(o.showMethodCoverage)}),_(),w(14),_(),L(15,GB,1,1,"pro-button",7),_(),y(16,"div",3)(17,"label")(18,"input",6),Ke("ngModelChange",function(s){return be(o.showMethodFullCoverage,s)||(o.showMethodFullCoverage=s),s}),z("change",function(){return o.showMethodFullCoverageChange.emit(o.showMethodFullCoverage)}),_(),w(19),_(),L(20,qB,1,1,"pro-button",7),_(),L(21,YB,7,3,"ng-container",8),_()()),2&i&&(f(5),O(o.translations.coverageTypes),f(3),Ze("ngModel",o.showLineCoverage),f(),j(" ",o.translations.coverage,""),f(),g("ngIf",o.branchCoverageAvailable),f(3),Ze("ngModel",o.showMethodCoverage),g("disabled",!o.methodCoverageAvailable),f(),j(" ",o.translations.methodCoverage,""),f(),g("ngIf",!o.methodCoverageAvailable),f(3),Ze("ngModel",o.showMethodFullCoverage),g("disabled",!o.methodCoverageAvailable),f(),j(" ",o.translations.fullMethodCoverage,""),f(),g("ngIf",!o.methodCoverageAvailable),f(),g("ngIf",o.metrics.length>0))},dependencies:[Ki,qn,up,mc,zs,$B],encapsulation:2})}}return e})();function XB(e,n){1&e&&N(0,"td",3)}function JB(e,n){1&e&&N(0,"td"),2&e&&Gt("green ",v().greenClass,"")}function ej(e,n){1&e&&N(0,"td"),2&e&&Gt("red ",v().redClass,"")}let AM=(()=>{class e{constructor(){this.grayVisible=!0,this.greenVisible=!1,this.redVisible=!1,this.greenClass="",this.redClass="",this._percentage=NaN}get percentage(){return this._percentage}set percentage(t){this._percentage=t,this.grayVisible=isNaN(t),this.greenVisible=!isNaN(t)&&Math.round(t)>0,this.redVisible=!isNaN(t)&&100-Math.round(t)>0,this.greenClass="covered"+Math.round(t),this.redClass="covered"+(100-Math.round(t))}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=on({type:e,selectors:[["coverage-bar"]],inputs:{percentage:"percentage"},standalone:!1,decls:4,vars:3,consts:[[1,"coverage"],["class","gray covered100",4,"ngIf"],[3,"class",4,"ngIf"],[1,"gray","covered100"]],template:function(i,o){1&i&&(y(0,"table",0),L(1,XB,1,0,"td",1)(2,JB,1,3,"td",2)(3,ej,1,3,"td",2),_()),2&i&&(f(),g("ngIf",o.grayVisible),f(),g("ngIf",o.greenVisible),f(),g("ngIf",o.redVisible))},dependencies:[qn],encapsulation:2,changeDetection:0})}}return e})();const tj=["codeelement-row",""],nj=(e,n)=>({"icon-plus":e,"icon-minus":n});function ij(e,n){if(1&e&&(y(0,"th",5),w(1),_()),2&e){const t=v();f(),O(t.element.coveredLines)}}function oj(e,n){if(1&e&&(y(0,"th",5),w(1),_()),2&e){const t=v();f(),O(t.element.uncoveredLines)}}function rj(e,n){if(1&e&&(y(0,"th",5),w(1),_()),2&e){const t=v();f(),O(t.element.coverableLines)}}function sj(e,n){if(1&e&&(y(0,"th",5),w(1),_()),2&e){const t=v();f(),O(t.element.totalLines)}}function aj(e,n){if(1&e&&(y(0,"th",6),w(1),_()),2&e){const t=v();g("title",t.element.coverageRatioText),f(),O(t.element.coveragePercentage)}}function lj(e,n){if(1&e&&(y(0,"th",5),N(1,"coverage-bar",7),_()),2&e){const t=v();f(),g("percentage",t.element.coverage)}}function cj(e,n){if(1&e&&(y(0,"th",5),w(1),_()),2&e){const t=v();f(),O(t.element.coveredBranches)}}function uj(e,n){if(1&e&&(y(0,"th",5),w(1),_()),2&e){const t=v();f(),O(t.element.totalBranches)}}function dj(e,n){if(1&e&&(y(0,"th",6),w(1),_()),2&e){const t=v();g("title",t.element.branchCoverageRatioText),f(),O(t.element.branchCoveragePercentage)}}function fj(e,n){if(1&e&&(y(0,"th",5),N(1,"coverage-bar",7),_()),2&e){const t=v();f(),g("percentage",t.element.branchCoverage)}}function hj(e,n){if(1&e&&(y(0,"th",5),w(1),_()),2&e){const t=v();f(),O(t.element.coveredMethods)}}function pj(e,n){if(1&e&&(y(0,"th",5),w(1),_()),2&e){const t=v();f(),O(t.element.totalMethods)}}function gj(e,n){if(1&e&&(y(0,"th",6),w(1),_()),2&e){const t=v();g("title",t.element.methodCoverageRatioText),f(),O(t.element.methodCoveragePercentage)}}function mj(e,n){if(1&e&&(y(0,"th",5),N(1,"coverage-bar",7),_()),2&e){const t=v();f(),g("percentage",t.element.methodCoverage)}}function vj(e,n){if(1&e&&(y(0,"th",5),w(1),_()),2&e){const t=v();f(),O(t.element.fullyCoveredMethods)}}function _j(e,n){if(1&e&&(y(0,"th",5),w(1),_()),2&e){const t=v();f(),O(t.element.totalMethods)}}function yj(e,n){if(1&e&&(y(0,"th",6),w(1),_()),2&e){const t=v();g("title",t.element.methodFullCoverageRatioText),f(),O(t.element.methodFullCoveragePercentage)}}function Cj(e,n){if(1&e&&(y(0,"th",5),N(1,"coverage-bar",7),_()),2&e){const t=v();f(),g("percentage",t.element.methodFullCoverage)}}function Dj(e,n){1&e&&N(0,"th",5)}let wj=(()=>{class e{constructor(){this.collapsed=!1,this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.methodFullCoverageAvailable=!1,this.visibleMetrics=[]}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=on({type:e,selectors:[["","codeelement-row",""]],inputs:{element:"element",collapsed:"collapsed",lineCoverageAvailable:"lineCoverageAvailable",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",methodFullCoverageAvailable:"methodFullCoverageAvailable",visibleMetrics:"visibleMetrics"},standalone:!1,attrs:tj,decls:23,vars:24,consts:[["href","#",3,"click"],[3,"ngClass"],["class","right",4,"ngIf"],["class","right",3,"title",4,"ngIf"],["class","right",4,"ngFor","ngForOf"],[1,"right"],[1,"right",3,"title"],[3,"percentage"]],template:function(i,o){1&i&&(y(0,"th")(1,"a",0),z("click",function(s){return o.element.toggleCollapse(s)}),N(2,"i",1),w(3),_()(),L(4,ij,2,1,"th",2)(5,oj,2,1,"th",2)(6,rj,2,1,"th",2)(7,sj,2,1,"th",2)(8,aj,2,2,"th",3)(9,lj,2,1,"th",2)(10,cj,2,1,"th",2)(11,uj,2,1,"th",2)(12,dj,2,2,"th",3)(13,fj,2,1,"th",2)(14,hj,2,1,"th",2)(15,pj,2,1,"th",2)(16,gj,2,2,"th",3)(17,mj,2,1,"th",2)(18,vj,2,1,"th",2)(19,_j,2,1,"th",2)(20,yj,2,2,"th",3)(21,Cj,2,1,"th",2)(22,Dj,1,0,"th",4)),2&i&&(f(2),g("ngClass",Ch(21,nj,o.element.collapsed,!o.element.collapsed)),f(),j(" ",o.element.name,""),f(),g("ngIf",o.lineCoverageAvailable),f(),g("ngIf",o.lineCoverageAvailable),f(),g("ngIf",o.lineCoverageAvailable),f(),g("ngIf",o.lineCoverageAvailable),f(),g("ngIf",o.lineCoverageAvailable),f(),g("ngIf",o.lineCoverageAvailable),f(),g("ngIf",o.branchCoverageAvailable),f(),g("ngIf",o.branchCoverageAvailable),f(),g("ngIf",o.branchCoverageAvailable),f(),g("ngIf",o.branchCoverageAvailable),f(),g("ngIf",o.methodCoverageAvailable),f(),g("ngIf",o.methodCoverageAvailable),f(),g("ngIf",o.methodCoverageAvailable),f(),g("ngIf",o.methodCoverageAvailable),f(),g("ngIf",o.methodFullCoverageAvailable),f(),g("ngIf",o.methodFullCoverageAvailable),f(),g("ngIf",o.methodFullCoverageAvailable),f(),g("ngIf",o.methodFullCoverageAvailable),f(),g("ngForOf",o.visibleMetrics))},dependencies:[hr,Ki,qn,AM],encapsulation:2,changeDetection:0})}}return e})();const bj=["coverage-history-chart",""];let Ej=(()=>{class e{constructor(){this.path=null,this._historicCoverages=[]}get historicCoverages(){return this._historicCoverages}set historicCoverages(t){if(this._historicCoverages=t,t.length>1){let i="";for(let o=0;o({historiccoverageoffset:e});function Ij(e,n){if(1&e&&(y(0,"a",5),w(1),_()),2&e){const t=v();g("href",t.clazz.reportPath,ni),f(),O(t.clazz.name)}}function Tj(e,n){if(1&e&&(K(0),w(1),X()),2&e){const t=v();f(),O(t.clazz.name)}}function Sj(e,n){if(1&e&&(K(0),y(1,"div"),w(2),_(),y(3,"div",7),w(4),_(),X()),2&e){const t=v(2);f(),Gt("currenthistory ",t.getClassName(t.clazz.coveredLines,t.clazz.currentHistoricCoverage.cl),""),f(),j(" ",t.clazz.coveredLines," "),f(),g("title",t.clazz.currentHistoricCoverage.et),f(),j(" ",t.clazz.currentHistoricCoverage.cl," ")}}function xj(e,n){if(1&e&&(K(0),w(1),X()),2&e){const t=v(2);f(),j(" ",t.clazz.coveredLines," ")}}function Nj(e,n){if(1&e&&(y(0,"td",6),L(1,Sj,5,6,"ng-container",1)(2,xj,2,1,"ng-container",1),_()),2&e){const t=v();f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function Oj(e,n){if(1&e&&(K(0),y(1,"div"),w(2),_(),y(3,"div",7),w(4),_(),X()),2&e){const t=v(2);f(),Gt("currenthistory ",t.getClassName(t.clazz.currentHistoricCoverage.ucl,t.clazz.uncoveredLines),""),f(),j(" ",t.clazz.uncoveredLines," "),f(),g("title",t.clazz.currentHistoricCoverage.et),f(),j(" ",t.clazz.currentHistoricCoverage.ucl," ")}}function Aj(e,n){if(1&e&&(K(0),w(1),X()),2&e){const t=v(2);f(),j(" ",t.clazz.uncoveredLines," ")}}function kj(e,n){if(1&e&&(y(0,"td",6),L(1,Oj,5,6,"ng-container",1)(2,Aj,2,1,"ng-container",1),_()),2&e){const t=v();f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function Fj(e,n){if(1&e&&(K(0),y(1,"div",8),w(2),_(),y(3,"div",7),w(4),_(),X()),2&e){const t=v(2);f(2),O(t.clazz.coverableLines),f(),g("title",t.clazz.currentHistoricCoverage.et),f(),O(t.clazz.currentHistoricCoverage.cal)}}function Rj(e,n){if(1&e&&(K(0),w(1),X()),2&e){const t=v(2);f(),j(" ",t.clazz.coverableLines," ")}}function Lj(e,n){if(1&e&&(y(0,"td",6),L(1,Fj,5,3,"ng-container",1)(2,Rj,2,1,"ng-container",1),_()),2&e){const t=v();f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function Pj(e,n){if(1&e&&(K(0),y(1,"div",8),w(2),_(),y(3,"div",7),w(4),_(),X()),2&e){const t=v(2);f(2),O(t.clazz.totalLines),f(),g("title",t.clazz.currentHistoricCoverage.et),f(),O(t.clazz.currentHistoricCoverage.tl)}}function Vj(e,n){if(1&e&&(K(0),w(1),X()),2&e){const t=v(2);f(),j(" ",t.clazz.totalLines," ")}}function Hj(e,n){if(1&e&&(y(0,"td",6),L(1,Pj,5,3,"ng-container",1)(2,Vj,2,1,"ng-container",1),_()),2&e){const t=v();f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function Bj(e,n){if(1&e&&N(0,"div",11),2&e){const t=v(2);bn("title",t.translations.history+": "+t.translations.coverage),g("historicCoverages",t.clazz.lineCoverageHistory)("ngClass",ur(3,Fc,null!==t.clazz.currentHistoricCoverage))}}function jj(e,n){if(1&e&&(K(0),y(1,"div"),w(2),_(),y(3,"div",7),w(4),_(),X()),2&e){const t=v(2);f(),Gt("currenthistory ",t.getClassName(t.clazz.coverage,t.clazz.currentHistoricCoverage.lcq),""),f(),j(" ",t.clazz.coveragePercentage," "),f(),g("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.coverageRatioText),f(),j("",t.clazz.currentHistoricCoverage.lcq,"%")}}function Uj(e,n){if(1&e&&(K(0),w(1),X()),2&e){const t=v(2);f(),j(" ",t.clazz.coveragePercentage," ")}}function $j(e,n){if(1&e&&(y(0,"td",9),L(1,Bj,1,5,"div",10)(2,jj,5,6,"ng-container",1)(3,Uj,2,1,"ng-container",1),_()),2&e){const t=v();g("title",t.clazz.coverageRatioText),f(),g("ngIf",t.clazz.lineCoverageHistory.length>1),f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function zj(e,n){if(1&e&&(y(0,"td",6),N(1,"coverage-bar",12),_()),2&e){const t=v();f(),g("percentage",t.clazz.coverage)}}function Gj(e,n){if(1&e&&(K(0),y(1,"div"),w(2),_(),y(3,"div",7),w(4),_(),X()),2&e){const t=v(2);f(),Gt("currenthistory ",t.getClassName(t.clazz.coveredBranches,t.clazz.currentHistoricCoverage.cb),""),f(),j(" ",t.clazz.coveredBranches," "),f(),g("title",t.clazz.currentHistoricCoverage.et),f(),j(" ",t.clazz.currentHistoricCoverage.cb," ")}}function qj(e,n){if(1&e&&(K(0),w(1),X()),2&e){const t=v(2);f(),j(" ",t.clazz.coveredBranches," ")}}function Wj(e,n){if(1&e&&(y(0,"td",6),L(1,Gj,5,6,"ng-container",1)(2,qj,2,1,"ng-container",1),_()),2&e){const t=v();f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function Zj(e,n){if(1&e&&(K(0),y(1,"div",8),w(2),_(),y(3,"div",7),w(4),_(),X()),2&e){const t=v(2);f(2),O(t.clazz.totalBranches),f(),g("title",t.clazz.currentHistoricCoverage.et),f(),O(t.clazz.currentHistoricCoverage.tb)}}function Qj(e,n){if(1&e&&(K(0),w(1),X()),2&e){const t=v(2);f(),j(" ",t.clazz.totalBranches," ")}}function Yj(e,n){if(1&e&&(y(0,"td",6),L(1,Zj,5,3,"ng-container",1)(2,Qj,2,1,"ng-container",1),_()),2&e){const t=v();f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function Kj(e,n){if(1&e&&N(0,"div",14),2&e){const t=v(2);bn("title",t.translations.history+": "+t.translations.branchCoverage),g("historicCoverages",t.clazz.branchCoverageHistory)("ngClass",ur(3,Fc,null!==t.clazz.currentHistoricCoverage))}}function Xj(e,n){if(1&e&&(K(0),y(1,"div"),w(2),_(),y(3,"div",7),w(4),_(),X()),2&e){const t=v(2);f(),Gt("currenthistory ",t.getClassName(t.clazz.branchCoverage,t.clazz.currentHistoricCoverage.bcq),""),f(),j(" ",t.clazz.branchCoveragePercentage," "),f(),g("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.branchCoverageRatioText),f(),j("",t.clazz.currentHistoricCoverage.bcq,"%")}}function Jj(e,n){if(1&e&&(K(0),w(1),X()),2&e){const t=v(2);f(),j(" ",t.clazz.branchCoveragePercentage," ")}}function e3(e,n){if(1&e&&(y(0,"td",9),L(1,Kj,1,5,"div",13)(2,Xj,5,6,"ng-container",1)(3,Jj,2,1,"ng-container",1),_()),2&e){const t=v();g("title",t.clazz.branchCoverageRatioText),f(),g("ngIf",t.clazz.branchCoverageHistory.length>1),f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function t3(e,n){if(1&e&&(y(0,"td",6),N(1,"coverage-bar",12),_()),2&e){const t=v();f(),g("percentage",t.clazz.branchCoverage)}}function n3(e,n){if(1&e&&(K(0),y(1,"div"),w(2),_(),y(3,"div",7),w(4),_(),X()),2&e){const t=v(2);f(),Gt("currenthistory ",t.getClassName(t.clazz.coveredMethods,t.clazz.currentHistoricCoverage.cm),""),f(),j(" ",t.clazz.coveredMethods," "),f(),g("title",t.clazz.currentHistoricCoverage.et),f(),j(" ",t.clazz.currentHistoricCoverage.cm," ")}}function i3(e,n){if(1&e&&(K(0),w(1),X()),2&e){const t=v(2);f(),j(" ",t.clazz.coveredMethods," ")}}function o3(e,n){if(1&e&&(y(0,"td",6),L(1,n3,5,6,"ng-container",1)(2,i3,2,1,"ng-container",1),_()),2&e){const t=v();f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function r3(e,n){if(1&e&&(K(0),y(1,"div",8),w(2),_(),y(3,"div",7),w(4),_(),X()),2&e){const t=v(2);f(2),O(t.clazz.totalMethods),f(),g("title",t.clazz.currentHistoricCoverage.et),f(),O(t.clazz.currentHistoricCoverage.tm)}}function s3(e,n){if(1&e&&(K(0),w(1),X()),2&e){const t=v(2);f(),j(" ",t.clazz.totalMethods," ")}}function a3(e,n){if(1&e&&(y(0,"td",6),L(1,r3,5,3,"ng-container",1)(2,s3,2,1,"ng-container",1),_()),2&e){const t=v();f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function l3(e,n){if(1&e&&N(0,"div",16),2&e){const t=v(2);bn("title",t.translations.history+": "+t.translations.methodCoverage),g("historicCoverages",t.clazz.methodCoverageHistory)("ngClass",ur(3,Fc,null!==t.clazz.currentHistoricCoverage))}}function c3(e,n){if(1&e&&(K(0),y(1,"div"),w(2),_(),y(3,"div",7),w(4),_(),X()),2&e){const t=v(2);f(),Gt("currenthistory ",t.getClassName(t.clazz.methodCoverage,t.clazz.currentHistoricCoverage.mcq),""),f(),j(" ",t.clazz.methodCoveragePercentage," "),f(),g("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.methodCoverageRatioText),f(),j("",t.clazz.currentHistoricCoverage.mcq,"%")}}function u3(e,n){if(1&e&&(K(0),w(1),X()),2&e){const t=v(2);f(),j(" ",t.clazz.methodCoveragePercentage," ")}}function d3(e,n){if(1&e&&(y(0,"td",9),L(1,l3,1,5,"div",15)(2,c3,5,6,"ng-container",1)(3,u3,2,1,"ng-container",1),_()),2&e){const t=v();g("title",t.clazz.methodCoverageRatioText),f(),g("ngIf",t.clazz.methodCoverageHistory.length>1),f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function f3(e,n){if(1&e&&(y(0,"td",6),N(1,"coverage-bar",12),_()),2&e){const t=v();f(),g("percentage",t.clazz.methodCoverage)}}function h3(e,n){if(1&e&&(K(0),y(1,"div"),w(2),_(),y(3,"div",7),w(4),_(),X()),2&e){const t=v(2);f(),Gt("currenthistory ",t.getClassName(t.clazz.fullyCoveredMethods,t.clazz.currentHistoricCoverage.fcm),""),f(),j(" ",t.clazz.fullyCoveredMethods," "),f(),g("title",t.clazz.currentHistoricCoverage.et),f(),j(" ",t.clazz.currentHistoricCoverage.fcm," ")}}function p3(e,n){if(1&e&&(K(0),w(1),X()),2&e){const t=v(2);f(),j(" ",t.clazz.fullyCoveredMethods," ")}}function g3(e,n){if(1&e&&(y(0,"td",6),L(1,h3,5,6,"ng-container",1)(2,p3,2,1,"ng-container",1),_()),2&e){const t=v();f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function m3(e,n){if(1&e&&(K(0),y(1,"div",8),w(2),_(),y(3,"div",7),w(4),_(),X()),2&e){const t=v(2);f(2),O(t.clazz.totalMethods),f(),g("title",t.clazz.currentHistoricCoverage.et),f(),O(t.clazz.currentHistoricCoverage.tm)}}function v3(e,n){if(1&e&&(K(0),w(1),X()),2&e){const t=v(2);f(),j(" ",t.clazz.totalMethods," ")}}function _3(e,n){if(1&e&&(y(0,"td",6),L(1,m3,5,3,"ng-container",1)(2,v3,2,1,"ng-container",1),_()),2&e){const t=v();f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function y3(e,n){if(1&e&&N(0,"div",18),2&e){const t=v(2);bn("title",t.translations.history+": "+t.translations.fullMethodCoverage),g("historicCoverages",t.clazz.methodFullCoverageHistory)("ngClass",ur(3,Fc,null!==t.clazz.currentHistoricCoverage))}}function C3(e,n){if(1&e&&(K(0),y(1,"div"),w(2),_(),y(3,"div",7),w(4),_(),X()),2&e){const t=v(2);f(),Gt("currenthistory ",t.getClassName(t.clazz.methodFullCoverage,t.clazz.currentHistoricCoverage.mfcq),""),f(),j(" ",t.clazz.methodFullCoveragePercentage," "),f(),g("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.methodFullCoverageRatioText),f(),j("",t.clazz.currentHistoricCoverage.mfcq,"%")}}function D3(e,n){if(1&e&&(K(0),w(1),X()),2&e){const t=v(2);f(),j(" ",t.clazz.methodFullCoveragePercentage," ")}}function w3(e,n){if(1&e&&(y(0,"td",9),L(1,y3,1,5,"div",17)(2,C3,5,6,"ng-container",1)(3,D3,2,1,"ng-container",1),_()),2&e){const t=v();g("title",t.clazz.methodFullCoverageRatioText),f(),g("ngIf",t.clazz.methodFullCoverageHistory.length>1),f(),g("ngIf",null!==t.clazz.currentHistoricCoverage),f(),g("ngIf",null===t.clazz.currentHistoricCoverage)}}function b3(e,n){if(1&e&&(y(0,"td",6),N(1,"coverage-bar",12),_()),2&e){const t=v();f(),g("percentage",t.clazz.methodFullCoverage)}}function E3(e,n){if(1&e&&(y(0,"td",6),w(1),_()),2&e){const t=n.$implicit,i=v();f(),O(i.clazz.metrics[t.abbreviation])}}let M3=(()=>{class e{constructor(){this.translations={},this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.methodFullCoverageAvailable=!1,this.visibleMetrics=[],this.historyComparisionDate=""}getClassName(t,i){return t>i?"lightgreen":t({"icon-up-dir_active":e,"icon-down-dir_active":n,"icon-up-down-dir":t});function I3(e,n){if(1&e){const t=me();y(0,"popup",30),Ke("visibleChange",function(o){H(t);const r=v(2);return be(r.popupVisible,o)||(r.popupVisible=o),B(o)})("showLineCoverageChange",function(o){H(t);const r=v(2);return be(r.settings.showLineCoverage,o)||(r.settings.showLineCoverage=o),B(o)})("showBranchCoverageChange",function(o){H(t);const r=v(2);return be(r.settings.showBranchCoverage,o)||(r.settings.showBranchCoverage=o),B(o)})("showMethodCoverageChange",function(o){H(t);const r=v(2);return be(r.settings.showMethodCoverage,o)||(r.settings.showMethodCoverage=o),B(o)})("showMethodFullCoverageChange",function(o){H(t);const r=v(2);return be(r.settings.showFullMethodCoverage,o)||(r.settings.showFullMethodCoverage=o),B(o)})("visibleMetricsChange",function(o){H(t);const r=v(2);return be(r.settings.visibleMetrics,o)||(r.settings.visibleMetrics=o),B(o)}),_()}if(2&e){const t=v(2);Ze("visible",t.popupVisible),g("translations",t.translations)("branchCoverageAvailable",t.branchCoverageAvailable)("methodCoverageAvailable",t.methodCoverageAvailable)("metrics",t.metrics),Ze("showLineCoverage",t.settings.showLineCoverage)("showBranchCoverage",t.settings.showBranchCoverage)("showMethodCoverage",t.settings.showMethodCoverage)("showMethodFullCoverage",t.settings.showFullMethodCoverage)("visibleMetrics",t.settings.visibleMetrics)}}function T3(e,n){if(1&e&&(K(0),w(1),X()),2&e){const t=v(2);f(),O(t.translations.noGrouping)}}function S3(e,n){if(1&e&&(K(0),w(1),X()),2&e){const t=v(2);f(),O(t.translations.byAssembly)}}function x3(e,n){if(1&e&&(K(0),w(1),X()),2&e){const t=v(2);f(),O(t.translations.byNamespace+" "+t.settings.grouping)}}function N3(e,n){if(1&e&&(y(0,"option",34),w(1),_()),2&e){const t=n.$implicit;g("value",t),f(),O(t)}}function O3(e,n){1&e&&N(0,"br")}function A3(e,n){if(1&e&&(y(0,"option",44),w(1),_()),2&e){const t=v(4);f(),j(" ",t.translations.branchCoverageIncreaseOnly," ")}}function k3(e,n){if(1&e&&(y(0,"option",45),w(1),_()),2&e){const t=v(4);f(),j(" ",t.translations.branchCoverageDecreaseOnly," ")}}function F3(e,n){if(1&e&&(y(0,"option",46),w(1),_()),2&e){const t=v(4);f(),j(" ",t.translations.methodCoverageIncreaseOnly," ")}}function R3(e,n){if(1&e&&(y(0,"option",47),w(1),_()),2&e){const t=v(4);f(),j(" ",t.translations.methodCoverageDecreaseOnly," ")}}function L3(e,n){if(1&e&&(y(0,"option",48),w(1),_()),2&e){const t=v(4);f(),j(" ",t.translations.fullMethodCoverageIncreaseOnly," ")}}function P3(e,n){if(1&e&&(y(0,"option",49),w(1),_()),2&e){const t=v(4);f(),j(" ",t.translations.fullMethodCoverageDecreaseOnly," ")}}function V3(e,n){if(1&e){const t=me();y(0,"div")(1,"select",31),Ke("ngModelChange",function(o){H(t);const r=v(3);return be(r.settings.historyComparisionType,o)||(r.settings.historyComparisionType=o),B(o)}),y(2,"option",32),w(3),_(),y(4,"option",35),w(5),_(),y(6,"option",36),w(7),_(),y(8,"option",37),w(9),_(),L(10,A3,2,1,"option",38)(11,k3,2,1,"option",39)(12,F3,2,1,"option",40)(13,R3,2,1,"option",41)(14,L3,2,1,"option",42)(15,P3,2,1,"option",43),_()()}if(2&e){const t=v(3);f(),Ze("ngModel",t.settings.historyComparisionType),f(2),O(t.translations.filter),f(2),O(t.translations.allChanges),f(2),O(t.translations.lineCoverageIncreaseOnly),f(2),O(t.translations.lineCoverageDecreaseOnly),f(),g("ngIf",t.branchCoverageAvailable),f(),g("ngIf",t.branchCoverageAvailable),f(),g("ngIf",t.methodCoverageAvailable),f(),g("ngIf",t.methodCoverageAvailable),f(),g("ngIf",t.methodCoverageAvailable),f(),g("ngIf",t.methodCoverageAvailable)}}function H3(e,n){if(1&e){const t=me();K(0),y(1,"div"),w(2),y(3,"select",31),Ke("ngModelChange",function(o){H(t);const r=v(2);return be(r.settings.historyComparisionDate,o)||(r.settings.historyComparisionDate=o),B(o)}),z("ngModelChange",function(){return H(t),B(v(2).updateCurrentHistoricCoverage())}),y(4,"option",32),w(5),_(),L(6,N3,2,2,"option",33),_()(),L(7,O3,1,0,"br",0)(8,V3,16,11,"div",0),X()}if(2&e){const t=v(2);f(2),j(" ",t.translations.compareHistory," "),f(),Ze("ngModel",t.settings.historyComparisionDate),f(2),O(t.translations.date),f(),g("ngForOf",t.historicCoverageExecutionTimes),f(),g("ngIf",""!==t.settings.historyComparisionDate),f(),g("ngIf",""!==t.settings.historyComparisionDate)}}function B3(e,n){1&e&&N(0,"col",50)}function j3(e,n){1&e&&N(0,"col",51)}function U3(e,n){1&e&&N(0,"col",52)}function $3(e,n){1&e&&N(0,"col",53)}function z3(e,n){1&e&&N(0,"col",54)}function G3(e,n){1&e&&N(0,"col",55)}function q3(e,n){1&e&&N(0,"col",50)}function W3(e,n){1&e&&N(0,"col",53)}function Z3(e,n){1&e&&N(0,"col",54)}function Q3(e,n){1&e&&N(0,"col",55)}function Y3(e,n){1&e&&N(0,"col",50)}function K3(e,n){1&e&&N(0,"col",53)}function X3(e,n){1&e&&N(0,"col",54)}function J3(e,n){1&e&&N(0,"col",55)}function eU(e,n){1&e&&N(0,"col",50)}function tU(e,n){1&e&&N(0,"col",53)}function nU(e,n){1&e&&N(0,"col",54)}function iU(e,n){1&e&&N(0,"col",55)}function oU(e,n){1&e&&N(0,"col",55)}function rU(e,n){if(1&e&&(y(0,"th",56),w(1),_()),2&e){const t=v(2);f(),O(t.translations.coverage)}}function sU(e,n){if(1&e&&(y(0,"th",57),w(1),_()),2&e){const t=v(2);f(),O(t.translations.branchCoverage)}}function aU(e,n){if(1&e&&(y(0,"th",57),w(1),_()),2&e){const t=v(2);f(),O(t.translations.methodCoverage)}}function lU(e,n){if(1&e&&(y(0,"th",57),w(1),_()),2&e){const t=v(2);f(),O(t.translations.fullMethodCoverage)}}function cU(e,n){if(1&e&&(y(0,"th",58),w(1),_()),2&e){const t=v(2);ft("colspan",t.settings.visibleMetrics.length),f(),O(t.translations.metrics)}}function uU(e,n){if(1&e){const t=me();y(0,"td",56)(1,"ngx-slider",59),Ke("valueChange",function(o){H(t);const r=v(2);return be(r.settings.lineCoverageMin,o)||(r.settings.lineCoverageMin=o),B(o)})("highValueChange",function(o){H(t);const r=v(2);return be(r.settings.lineCoverageMax,o)||(r.settings.lineCoverageMax=o),B(o)}),_()()}if(2&e){const t=v(2);f(),Ze("value",t.settings.lineCoverageMin)("highValue",t.settings.lineCoverageMax),g("options",t.sliderOptions)}}function dU(e,n){if(1&e){const t=me();y(0,"td",57)(1,"ngx-slider",59),Ke("valueChange",function(o){H(t);const r=v(2);return be(r.settings.branchCoverageMin,o)||(r.settings.branchCoverageMin=o),B(o)})("highValueChange",function(o){H(t);const r=v(2);return be(r.settings.branchCoverageMax,o)||(r.settings.branchCoverageMax=o),B(o)}),_()()}if(2&e){const t=v(2);f(),Ze("value",t.settings.branchCoverageMin)("highValue",t.settings.branchCoverageMax),g("options",t.sliderOptions)}}function fU(e,n){if(1&e){const t=me();y(0,"td",57)(1,"ngx-slider",59),Ke("valueChange",function(o){H(t);const r=v(2);return be(r.settings.methodCoverageMin,o)||(r.settings.methodCoverageMin=o),B(o)})("highValueChange",function(o){H(t);const r=v(2);return be(r.settings.methodCoverageMax,o)||(r.settings.methodCoverageMax=o),B(o)}),_()()}if(2&e){const t=v(2);f(),Ze("value",t.settings.methodCoverageMin)("highValue",t.settings.methodCoverageMax),g("options",t.sliderOptions)}}function hU(e,n){if(1&e){const t=me();y(0,"td",57)(1,"ngx-slider",59),Ke("valueChange",function(o){H(t);const r=v(2);return be(r.settings.methodFullCoverageMin,o)||(r.settings.methodFullCoverageMin=o),B(o)})("highValueChange",function(o){H(t);const r=v(2);return be(r.settings.methodFullCoverageMax,o)||(r.settings.methodFullCoverageMax=o),B(o)}),_()()}if(2&e){const t=v(2);f(),Ze("value",t.settings.methodFullCoverageMin)("highValue",t.settings.methodFullCoverageMax),g("options",t.sliderOptions)}}function pU(e,n){1&e&&N(0,"td",58),2&e&&ft("colspan",v(2).settings.visibleMetrics.length)}function gU(e,n){if(1&e){const t=me();y(0,"th",60)(1,"a",3),z("click",function(o){return H(t),B(v(2).updateSorting("covered",o))}),N(2,"i",26),w(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Le(2,rt,"covered"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered"!==t.settings.sortBy)),f(),O(t.translations.covered)}}function mU(e,n){if(1&e){const t=me();y(0,"th",60)(1,"a",3),z("click",function(o){return H(t),B(v(2).updateSorting("uncovered",o))}),N(2,"i",26),w(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Le(2,rt,"uncovered"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"uncovered"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"uncovered"!==t.settings.sortBy)),f(),O(t.translations.uncovered)}}function vU(e,n){if(1&e){const t=me();y(0,"th",60)(1,"a",3),z("click",function(o){return H(t),B(v(2).updateSorting("coverable",o))}),N(2,"i",26),w(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Le(2,rt,"coverable"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"coverable"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"coverable"!==t.settings.sortBy)),f(),O(t.translations.coverable)}}function _U(e,n){if(1&e){const t=me();y(0,"th",60)(1,"a",3),z("click",function(o){return H(t),B(v(2).updateSorting("total",o))}),N(2,"i",26),w(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Le(2,rt,"total"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total"!==t.settings.sortBy)),f(),O(t.translations.total)}}function yU(e,n){if(1&e){const t=me();y(0,"th",61)(1,"a",3),z("click",function(o){return H(t),B(v(2).updateSorting("coverage",o))}),N(2,"i",26),w(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Le(2,rt,"coverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"coverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"coverage"!==t.settings.sortBy)),f(),O(t.translations.percentage)}}function CU(e,n){if(1&e){const t=me();y(0,"th",60)(1,"a",3),z("click",function(o){return H(t),B(v(2).updateSorting("covered_branches",o))}),N(2,"i",26),w(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Le(2,rt,"covered_branches"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered_branches"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered_branches"!==t.settings.sortBy)),f(),O(t.translations.covered)}}function DU(e,n){if(1&e){const t=me();y(0,"th",60)(1,"a",3),z("click",function(o){return H(t),B(v(2).updateSorting("total_branches",o))}),N(2,"i",26),w(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Le(2,rt,"total_branches"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_branches"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_branches"!==t.settings.sortBy)),f(),O(t.translations.total)}}function wU(e,n){if(1&e){const t=me();y(0,"th",61)(1,"a",3),z("click",function(o){return H(t),B(v(2).updateSorting("branchcoverage",o))}),N(2,"i",26),w(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Le(2,rt,"branchcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"branchcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"branchcoverage"!==t.settings.sortBy)),f(),O(t.translations.percentage)}}function bU(e,n){if(1&e){const t=me();y(0,"th",60)(1,"a",3),z("click",function(o){return H(t),B(v(2).updateSorting("covered_methods",o))}),N(2,"i",26),w(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Le(2,rt,"covered_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered_methods"!==t.settings.sortBy)),f(),O(t.translations.covered)}}function EU(e,n){if(1&e){const t=me();y(0,"th",60)(1,"a",3),z("click",function(o){return H(t),B(v(2).updateSorting("total_methods",o))}),N(2,"i",26),w(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Le(2,rt,"total_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_methods"!==t.settings.sortBy)),f(),O(t.translations.total)}}function MU(e,n){if(1&e){const t=me();y(0,"th",61)(1,"a",3),z("click",function(o){return H(t),B(v(2).updateSorting("methodcoverage",o))}),N(2,"i",26),w(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Le(2,rt,"methodcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"methodcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"methodcoverage"!==t.settings.sortBy)),f(),O(t.translations.percentage)}}function IU(e,n){if(1&e){const t=me();y(0,"th",60)(1,"a",3),z("click",function(o){return H(t),B(v(2).updateSorting("fullycovered_methods",o))}),N(2,"i",26),w(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Le(2,rt,"fullycovered_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"fullycovered_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"fullycovered_methods"!==t.settings.sortBy)),f(),O(t.translations.covered)}}function TU(e,n){if(1&e){const t=me();y(0,"th",60)(1,"a",3),z("click",function(o){return H(t),B(v(2).updateSorting("total_methods",o))}),N(2,"i",26),w(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Le(2,rt,"total_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_methods"!==t.settings.sortBy)),f(),O(t.translations.total)}}function SU(e,n){if(1&e){const t=me();y(0,"th",61)(1,"a",3),z("click",function(o){return H(t),B(v(2).updateSorting("methodfullcoverage",o))}),N(2,"i",26),w(3),_()()}if(2&e){const t=v(2);f(2),g("ngClass",Le(2,rt,"methodfullcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"methodfullcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"methodfullcoverage"!==t.settings.sortBy)),f(),O(t.translations.percentage)}}function xU(e,n){if(1&e){const t=me();y(0,"th")(1,"a",3),z("click",function(o){const r=H(t).$implicit;return B(v(2).updateSorting(r.abbreviation,o))}),N(2,"i",26),w(3),_(),y(4,"a",62),N(5,"i",63),_()()}if(2&e){const t=n.$implicit,i=v(2);f(2),g("ngClass",Le(3,rt,i.settings.sortBy===t.abbreviation&&"asc"===i.settings.sortOrder,i.settings.sortBy===t.abbreviation&&"desc"===i.settings.sortOrder,i.settings.sortBy!==t.abbreviation)),f(),O(t.name),f(),bn("href",t.explanationUrl,ni)}}function NU(e,n){if(1&e&&N(0,"tr",65),2&e){const t=v().$implicit,i=v(2);g("element",t)("collapsed",t.collapsed)("lineCoverageAvailable",i.settings.showLineCoverage)("branchCoverageAvailable",i.branchCoverageAvailable&&i.settings.showBranchCoverage)("methodCoverageAvailable",i.methodCoverageAvailable&&i.settings.showMethodCoverage)("methodFullCoverageAvailable",i.methodCoverageAvailable&&i.settings.showFullMethodCoverage)("visibleMetrics",i.settings.visibleMetrics)}}function OU(e,n){if(1&e&&N(0,"tr",67),2&e){const t=v().$implicit,i=v(3);g("clazz",t)("translations",i.translations)("lineCoverageAvailable",i.settings.showLineCoverage)("branchCoverageAvailable",i.branchCoverageAvailable&&i.settings.showBranchCoverage)("methodCoverageAvailable",i.methodCoverageAvailable&&i.settings.showMethodCoverage)("methodFullCoverageAvailable",i.methodCoverageAvailable&&i.settings.showFullMethodCoverage)("visibleMetrics",i.settings.visibleMetrics)("historyComparisionDate",i.settings.historyComparisionDate)}}function AU(e,n){if(1&e&&(K(0),L(1,OU,1,8,"tr",66),X()),2&e){const t=n.$implicit,i=v().$implicit,o=v(2);f(),g("ngIf",!i.collapsed&&t.visible(o.settings))}}function kU(e,n){if(1&e&&N(0,"tr",70),2&e){const t=v().$implicit,i=v(5);g("clazz",t)("translations",i.translations)("lineCoverageAvailable",i.settings.showLineCoverage)("branchCoverageAvailable",i.branchCoverageAvailable&&i.settings.showBranchCoverage)("methodCoverageAvailable",i.methodCoverageAvailable&&i.settings.showMethodCoverage)("methodFullCoverageAvailable",i.methodCoverageAvailable&&i.settings.showFullMethodCoverage)("visibleMetrics",i.settings.visibleMetrics)("historyComparisionDate",i.settings.historyComparisionDate)}}function FU(e,n){if(1&e&&(K(0),L(1,kU,1,8,"tr",69),X()),2&e){const t=n.$implicit,i=v(2).$implicit,o=v(3);f(),g("ngIf",!i.collapsed&&t.visible(o.settings))}}function RU(e,n){if(1&e&&(K(0),N(1,"tr",68),L(2,FU,2,1,"ng-container",29),X()),2&e){const t=v().$implicit,i=v(3);f(),g("element",t)("collapsed",t.collapsed)("lineCoverageAvailable",i.settings.showLineCoverage)("branchCoverageAvailable",i.branchCoverageAvailable&&i.settings.showBranchCoverage)("methodCoverageAvailable",i.methodCoverageAvailable&&i.settings.showMethodCoverage)("methodFullCoverageAvailable",i.methodCoverageAvailable&&i.settings.showFullMethodCoverage)("visibleMetrics",i.settings.visibleMetrics),f(),g("ngForOf",t.classes)}}function LU(e,n){if(1&e&&(K(0),L(1,RU,3,8,"ng-container",0),X()),2&e){const t=n.$implicit,i=v().$implicit,o=v(2);f(),g("ngIf",!i.collapsed&&t.visible(o.settings))}}function PU(e,n){if(1&e&&(K(0),L(1,NU,1,7,"tr",64)(2,AU,2,1,"ng-container",29)(3,LU,2,1,"ng-container",29),X()),2&e){const t=n.$implicit,i=v(2);f(),g("ngIf",t.visible(i.settings)),f(),g("ngForOf",t.classes),f(),g("ngForOf",t.subElements)}}function VU(e,n){if(1&e){const t=me();y(0,"div"),L(1,I3,1,10,"popup",1),y(2,"div",2)(3,"div")(4,"a",3),z("click",function(o){return H(t),B(v().collapseAll(o))}),w(5),_(),w(6," | "),y(7,"a",3),z("click",function(o){return H(t),B(v().expandAll(o))}),w(8),_()(),y(9,"div",4)(10,"span",5),L(11,T3,2,1,"ng-container",0)(12,S3,2,1,"ng-container",0)(13,x3,2,1,"ng-container",0),_(),N(14,"br"),w(15),y(16,"input",6),Ke("ngModelChange",function(o){H(t);const r=v();return be(r.settings.grouping,o)||(r.settings.grouping=o),B(o)}),z("ngModelChange",function(){return H(t),B(v().updateCoverageInfo())}),_()(),y(17,"div",4),L(18,H3,9,6,"ng-container",0),_(),y(19,"div",7)(20,"button",8),z("click",function(){return H(t),B(v().popupVisible=!0)}),N(21,"i",9),w(22),_()()(),y(23,"div",10)(24,"table",11)(25,"colgroup"),N(26,"col",12),L(27,B3,1,0,"col",13)(28,j3,1,0,"col",14)(29,U3,1,0,"col",15)(30,$3,1,0,"col",16)(31,z3,1,0,"col",17)(32,G3,1,0,"col",18)(33,q3,1,0,"col",13)(34,W3,1,0,"col",16)(35,Z3,1,0,"col",17)(36,Q3,1,0,"col",18)(37,Y3,1,0,"col",13)(38,K3,1,0,"col",16)(39,X3,1,0,"col",17)(40,J3,1,0,"col",18)(41,eU,1,0,"col",13)(42,tU,1,0,"col",16)(43,nU,1,0,"col",17)(44,iU,1,0,"col",18)(45,oU,1,0,"col",19),_(),y(46,"thead")(47,"tr",20),N(48,"th"),L(49,rU,2,1,"th",21)(50,sU,2,1,"th",22)(51,aU,2,1,"th",22)(52,lU,2,1,"th",22)(53,cU,2,2,"th",23),_(),y(54,"tr",24)(55,"td")(56,"input",25),Ke("ngModelChange",function(o){H(t);const r=v();return be(r.settings.filter,o)||(r.settings.filter=o),B(o)}),_()(),L(57,uU,2,3,"td",21)(58,dU,2,3,"td",22)(59,fU,2,3,"td",22)(60,hU,2,3,"td",22)(61,pU,1,1,"td",23),_(),y(62,"tr")(63,"th")(64,"a",3),z("click",function(o){return H(t),B(v().updateSorting("name",o))}),N(65,"i",26),w(66),_()(),L(67,gU,4,6,"th",27)(68,mU,4,6,"th",27)(69,vU,4,6,"th",27)(70,_U,4,6,"th",27)(71,yU,4,6,"th",28)(72,CU,4,6,"th",27)(73,DU,4,6,"th",27)(74,wU,4,6,"th",28)(75,bU,4,6,"th",27)(76,EU,4,6,"th",27)(77,MU,4,6,"th",28)(78,IU,4,6,"th",27)(79,TU,4,6,"th",27)(80,SU,4,6,"th",28)(81,xU,6,7,"th",29),_()(),y(82,"tbody"),L(83,PU,4,3,"ng-container",29),_()()()()}if(2&e){const t=v();f(),g("ngIf",t.popupVisible),f(4),O(t.translations.collapseAll),f(3),O(t.translations.expandAll),f(3),g("ngIf",-1===t.settings.grouping),f(),g("ngIf",0===t.settings.grouping),f(),g("ngIf",t.settings.grouping>0),f(2),j(" ",t.translations.grouping," "),f(),g("max",t.settings.groupingMaximum),Ze("ngModel",t.settings.grouping),f(2),g("ngIf",t.historicCoverageExecutionTimes.length>0),f(4),O(t.metrics.length>0?t.translations.selectCoverageTypesAndMetrics:t.translations.selectCoverageTypes),f(5),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),g("ngForOf",t.settings.visibleMetrics),f(4),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),g("ngIf",t.settings.visibleMetrics.length>0),f(3),bn("placeholder",t.translations.filter),Ze("ngModel",t.settings.filter),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),g("ngIf",t.settings.visibleMetrics.length>0),f(4),g("ngClass",Le(60,rt,"name"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"name"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"name"!==t.settings.sortBy)),f(),O(t.translations.name),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.settings.showLineCoverage),f(),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),g("ngIf",t.branchCoverageAvailable&&t.settings.showBranchCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showMethodCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),g("ngIf",t.methodCoverageAvailable&&t.settings.showFullMethodCoverage),f(),g("ngForOf",t.settings.visibleMetrics),f(2),g("ngForOf",t.codeElements)}}let HU=(()=>{class e{constructor(t){this.queryString="",this.historicCoverageExecutionTimes=[],this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.metrics=[],this.codeElements=[],this.translations={},this.popupVisible=!1,this.settings=new BB,this.sliderOptions={floor:0,ceil:100,step:1,ticksArray:[0,10,20,30,40,50,60,70,80,90,100],showTicks:!0},this.window=t.nativeWindow}ngOnInit(){this.historicCoverageExecutionTimes=this.window.historicCoverageExecutionTimes,this.branchCoverageAvailable=this.window.branchCoverageAvailable,this.methodCoverageAvailable=this.window.methodCoverageAvailable,this.metrics=this.window.metrics,this.translations=this.window.translations,Ht.maximumDecimalPlacesForCoverageQuotas=this.window.maximumDecimalPlacesForCoverageQuotas;let t=!1;if(void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.coverageInfoSettings)console.log("Coverage info: Restoring from history",this.window.history.state.coverageInfoSettings),t=!0,this.settings=JSON.parse(JSON.stringify(this.window.history.state.coverageInfoSettings));else{let o=0,r=this.window.assemblies;for(let s=0;s-1&&(this.queryString=window.location.href.substring(i)),this.updateCoverageInfo(),t&&this.restoreCollapseState()}onBeforeUnload(){if(this.saveCollapseState(),void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Coverage info: Updating history",this.settings);let t=new NM;null!==window.history.state&&(t=JSON.parse(JSON.stringify(this.window.history.state))),t.coverageInfoSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(t,"")}}updateCoverageInfo(){let t=(new Date).getTime(),i=this.window.assemblies,o=[],r=0;if(0===this.settings.grouping)for(let l=0;l{for(let o=0;o{for(let r=0;rt&&(o[r].collapsed=this.settings.collapseStates[t]),t++,i(o[r].subElements)};i(this.codeElements)}static{this.\u0275fac=function(i){return new(i||e)(T(Lp))}}static{this.\u0275cmp=on({type:e,selectors:[["coverage-info"]],hostBindings:function(i,o){1&i&&z("beforeunload",function(){return o.onBeforeUnload()},0,cl)},standalone:!1,decls:1,vars:1,consts:[[4,"ngIf"],[3,"visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","showMethodFullCoverage","visibleMetrics","visibleChange","showLineCoverageChange","showBranchCoverageChange","showMethodCoverageChange","showMethodFullCoverageChange","visibleMetricsChange",4,"ngIf"],[1,"customizebox"],["href","#",3,"click"],[1,"col-center"],[1,"slider-label"],["type","range","step","1","min","-1",3,"ngModelChange","max","ngModel"],[1,"col-right","right"],["type","button",3,"click"],[1,"icon-cog"],[1,"table-responsive"],[1,"overview","table-fixed","stripped"],[1,"column-min-200"],["class","column90",4,"ngIf"],["class","column105",4,"ngIf"],["class","column100",4,"ngIf"],["class","column70",4,"ngIf"],["class","column98",4,"ngIf"],["class","column112",4,"ngIf"],["class","column112",4,"ngFor","ngForOf"],[1,"header"],["class","center","colspan","6",4,"ngIf"],["class","center","colspan","4",4,"ngIf"],["class","center",4,"ngIf"],[1,"filterbar"],["type","text",3,"ngModelChange","ngModel","placeholder"],[3,"ngClass"],["class","right",4,"ngIf"],["class","center","colspan","2",4,"ngIf"],[4,"ngFor","ngForOf"],[3,"visibleChange","showLineCoverageChange","showBranchCoverageChange","showMethodCoverageChange","showMethodFullCoverageChange","visibleMetricsChange","visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","showMethodFullCoverage","visibleMetrics"],[3,"ngModelChange","ngModel"],["value",""],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["value","allChanges"],["value","lineCoverageIncreaseOnly"],["value","lineCoverageDecreaseOnly"],["value","branchCoverageIncreaseOnly",4,"ngIf"],["value","branchCoverageDecreaseOnly",4,"ngIf"],["value","methodCoverageIncreaseOnly",4,"ngIf"],["value","methodCoverageDecreaseOnly",4,"ngIf"],["value","fullMethodCoverageIncreaseOnly",4,"ngIf"],["value","fullMethodCoverageDecreaseOnly",4,"ngIf"],["value","branchCoverageIncreaseOnly"],["value","branchCoverageDecreaseOnly"],["value","methodCoverageIncreaseOnly"],["value","methodCoverageDecreaseOnly"],["value","fullMethodCoverageIncreaseOnly"],["value","fullMethodCoverageDecreaseOnly"],[1,"column90"],[1,"column105"],[1,"column100"],[1,"column70"],[1,"column98"],[1,"column112"],["colspan","6",1,"center"],["colspan","4",1,"center"],[1,"center"],[3,"valueChange","highValueChange","value","highValue","options"],[1,"right"],["colspan","2",1,"center"],["target","_blank",3,"href"],[1,"icon-info-circled"],["codeelement-row","",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics",4,"ngIf"],["codeelement-row","",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics"],["class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics","historyComparisionDate",4,"ngIf"],["class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics","historyComparisionDate"],["codeelement-row","",1,"namespace",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics"],["class","namespace","class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics","historyComparisionDate",4,"ngIf"],["class-row","",1,"namespace",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics","historyComparisionDate"]],template:function(i,o){1&i&&L(0,VU,84,64,"div",0),2&i&&g("ngIf",o.codeElements.length>0)},dependencies:[hr,Ki,qn,xp,Op,Hs,Sp,qs,mc,zs,xM,KB,wj,M3],encapsulation:2})}}return e})();class BU{constructor(){this.assembly="",this.numberOfRiskHotspots=10,this.filter="",this.sortBy="",this.sortOrder="asc"}}const Rc=(e,n,t)=>({"icon-up-dir_active":e,"icon-down-dir_active":n,"icon-up-down-dir":t}),jU=(e,n)=>({lightred:e,lightgreen:n});function UU(e,n){if(1&e&&(y(0,"option",16),w(1),_()),2&e){const t=n.$implicit;g("value",t),f(),O(t)}}function $U(e,n){if(1&e&&(y(0,"span"),w(1),_()),2&e){const t=v(2);f(),O(t.translations.top)}}function zU(e,n){1&e&&(y(0,"option",23),w(1,"20"),_())}function GU(e,n){1&e&&(y(0,"option",24),w(1,"50"),_())}function qU(e,n){1&e&&(y(0,"option",25),w(1,"100"),_())}function WU(e,n){if(1&e&&(y(0,"option",16),w(1),_()),2&e){const t=v(3);g("value",t.totalNumberOfRiskHotspots),f(),O(t.translations.all)}}function ZU(e,n){if(1&e){const t=me();y(0,"select",17),Ke("ngModelChange",function(o){H(t);const r=v(2);return be(r.settings.numberOfRiskHotspots,o)||(r.settings.numberOfRiskHotspots=o),B(o)}),y(1,"option",18),w(2,"10"),_(),L(3,zU,2,0,"option",19)(4,GU,2,0,"option",20)(5,qU,2,0,"option",21)(6,WU,2,2,"option",22),_()}if(2&e){const t=v(2);Ze("ngModel",t.settings.numberOfRiskHotspots),f(3),g("ngIf",t.totalNumberOfRiskHotspots>10),f(),g("ngIf",t.totalNumberOfRiskHotspots>20),f(),g("ngIf",t.totalNumberOfRiskHotspots>50),f(),g("ngIf",t.totalNumberOfRiskHotspots>100)}}function QU(e,n){1&e&&N(0,"col",26)}function YU(e,n){if(1&e){const t=me();y(0,"th")(1,"a",13),z("click",function(o){const r=H(t).index;return B(v(2).updateSorting(""+r,o))}),N(2,"i",14),w(3),_(),y(4,"a",27),N(5,"i",28),_()()}if(2&e){const t=n.$implicit,i=n.index,o=v(2);f(2),g("ngClass",Le(3,Rc,o.settings.sortBy===""+i&&"asc"===o.settings.sortOrder,o.settings.sortBy===""+i&&"desc"===o.settings.sortOrder,o.settings.sortBy!==""+i)),f(),O(t.name),f(),bn("href",t.explanationUrl,ni)}}function KU(e,n){if(1&e&&(y(0,"td",32),w(1),_()),2&e){const t=n.$implicit;g("ngClass",Ch(2,jU,t.exceeded,!t.exceeded)),f(),O(t.value)}}function XU(e,n){if(1&e&&(y(0,"tr")(1,"td"),w(2),_(),y(3,"td")(4,"a",29),w(5),_()(),y(6,"td",30)(7,"a",29),w(8),_()(),L(9,KU,2,5,"td",31),_()),2&e){const t=n.$implicit,i=v(2);f(2),O(t.assembly),f(2),g("href",t.reportPath+i.queryString,ni),f(),O(t.class),f(),g("title",t.methodName),f(),g("href",t.reportPath+i.queryString+"#file"+t.fileIndex+"_line"+t.line,ni),f(),j(" ",t.methodShortName," "),f(),g("ngForOf",t.metrics)}}function JU(e,n){if(1&e){const t=me();y(0,"div")(1,"div",1)(2,"div")(3,"select",2),Ke("ngModelChange",function(o){H(t);const r=v();return be(r.settings.assembly,o)||(r.settings.assembly=o),B(o)}),z("ngModelChange",function(){return H(t),B(v().updateRiskHotpots())}),y(4,"option",3),w(5),_(),L(6,UU,2,2,"option",4),_()(),y(7,"div",5),L(8,$U,2,1,"span",0)(9,ZU,7,5,"select",6),_(),N(10,"div",5),y(11,"div",7)(12,"span"),w(13),_(),y(14,"input",8),Ke("ngModelChange",function(o){H(t);const r=v();return be(r.settings.filter,o)||(r.settings.filter=o),B(o)}),z("ngModelChange",function(){return H(t),B(v().updateRiskHotpots())}),_()()(),y(15,"div",9)(16,"table",10)(17,"colgroup"),N(18,"col",11)(19,"col",11)(20,"col",11),L(21,QU,1,0,"col",12),_(),y(22,"thead")(23,"tr")(24,"th")(25,"a",13),z("click",function(o){return H(t),B(v().updateSorting("assembly",o))}),N(26,"i",14),w(27),_()(),y(28,"th")(29,"a",13),z("click",function(o){return H(t),B(v().updateSorting("class",o))}),N(30,"i",14),w(31),_()(),y(32,"th")(33,"a",13),z("click",function(o){return H(t),B(v().updateSorting("method",o))}),N(34,"i",14),w(35),_()(),L(36,YU,6,7,"th",15),_()(),y(37,"tbody"),L(38,XU,10,7,"tr",15),function cw(e,n){const t=G();let i;const o=e+A;t.firstCreatePass?(i=function fR(e,n){if(n)for(let t=n.length-1;t>=0;t--){const i=n[t];if(e===i.name)return i}}(n,t.pipeRegistry),t.data[o]=i,i.onDestroy&&(t.destroyHooks??=[]).push(o,i.onDestroy)):i=t.data[o];const r=i.factory||(i.factory=Ei(i.type)),a=_t(T);try{const l=Fa(!1),c=r();return Fa(l),function gh(e,n,t,i){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=i}(t,D(),o,c),c}finally{_t(a)}}(39,"slice"),_()()()()}if(2&e){const t=v();f(3),Ze("ngModel",t.settings.assembly),f(2),O(t.translations.assembly),f(),g("ngForOf",t.assemblies),f(2),g("ngIf",t.totalNumberOfRiskHotspots>10),f(),g("ngIf",t.totalNumberOfRiskHotspots>10),f(4),j("",t.translations.filter," "),f(),Ze("ngModel",t.settings.filter),f(7),g("ngForOf",t.riskHotspotMetrics),f(5),g("ngClass",Le(20,Rc,"assembly"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"assembly"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"assembly"!==t.settings.sortBy)),f(),O(t.translations.assembly),f(3),g("ngClass",Le(24,Rc,"class"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"class"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"class"!==t.settings.sortBy)),f(),O(t.translations.class),f(3),g("ngClass",Le(28,Rc,"method"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"method"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"method"!==t.settings.sortBy)),f(),O(t.translations.method),f(),g("ngForOf",t.riskHotspotMetrics),f(2),g("ngForOf",function uw(e,n,t,i,o){const r=e+A,s=D(),a=function Ai(e,n){return e[n]}(s,r);return function Ns(e,n){return e[1].data[n].pure}(s,r)?sw(s,ct(),n,a.transform,t,i,o,a):a.transform(t,i,o)}(39,16,t.riskHotspots,0,t.settings.numberOfRiskHotspots))}}let e8=(()=>{class e{constructor(t){this.queryString="",this.riskHotspotMetrics=[],this.riskHotspots=[],this.totalNumberOfRiskHotspots=0,this.assemblies=[],this.translations={},this.settings=new BU,this.window=t.nativeWindow}ngOnInit(){this.riskHotspotMetrics=this.window.riskHotspotMetrics,this.translations=this.window.translations,void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.riskHotspotsSettings&&(console.log("Risk hotspots: Restoring from history",this.window.history.state.riskHotspotsSettings),this.settings=JSON.parse(JSON.stringify(this.window.history.state.riskHotspotsSettings)));const t=window.location.href.indexOf("?");t>-1&&(this.queryString=window.location.href.substring(t)),this.updateRiskHotpots()}onDonBeforeUnlodad(){if(void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Risk hotspots: Updating history",this.settings);let t=new NM;null!==window.history.state&&(t=JSON.parse(JSON.stringify(this.window.history.state))),t.riskHotspotsSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(t,"")}}updateRiskHotpots(){const t=this.window.riskHotspots;if(this.totalNumberOfRiskHotspots=t.length,0===this.assemblies.length){let s=[];for(let a=0;a0)},dependencies:[hr,Ki,qn,xp,Op,Hs,qs,mc,zs,kb],encapsulation:2})}}return e})(),t8=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=si({type:e,bootstrap:[e8,HU]})}static{this.\u0275inj=Tn({providers:[Lp],imports:[KV,YH,HB]})}}return e})();YV().bootstrapModule(t8).catch(e=>console.error(e))}},yr=>{yr(yr.s=663)}]); \ No newline at end of file +"use strict";(self.webpackChunkcoverage_app=self.webpackChunkcoverage_app||[]).push([[792],{653:()=>{let Yo;function sr(){return Yo}function un(e){const n=Yo;return Yo=e,n}const dI=Symbol("NotFound");function Vc(e){return e===dI||"\u0275NotFound"===e?.name}Error;let Je=null,ar=!1,Hc=1;const We=Symbol("SIGNAL");function z(e){const n=Je;return Je=e,n}const Qo={version:0,lastCleanEpoch:0,dirty:!1,producers:void 0,producersTail:void 0,consumers:void 0,consumersTail:void 0,recomputing:!1,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:"unknown",producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function Vs(e){if(ar)throw new Error("");if(null===Je)return;Je.consumerOnSignalRead(e);const n=Je.producersTail;if(void 0!==n&&n.producer===e)return;let t;const o=Je.recomputing;if(o&&(t=void 0!==n?n.nextProducer:Je.producers,void 0!==t&&t.producer===e))return Je.producersTail=t,void(t.lastReadVersion=e.version);const i=e.consumersTail;if(void 0!==i&&i.consumer===Je&&(!o||function mI(e,n){const t=n.producersTail;if(void 0!==t){let o=n.producers;do{if(o===e)return!0;if(o===t)break;o=o.nextProducer}while(void 0!==o)}return!1}(i,Je)))return;const r=Jo(Je),s={producer:e,consumer:Je,nextProducer:t,prevConsumer:i,lastReadVersion:e.version,nextConsumer:void 0};Je.producersTail=s,void 0!==n?n.nextProducer=s:Je.producers=s,r&&Gg(e,s)}function lr(e){if((!Jo(e)||e.dirty)&&(e.dirty||e.lastCleanEpoch!==Hc)){if(!e.producerMustRecompute(e)&&!Bs(e))return void Hs(e);e.producerRecomputeValue(e),Hs(e)}}function $g(e){if(void 0===e.consumers)return;const n=ar;ar=!0;try{for(let t=e.consumers;void 0!==t;t=t.nextConsumer){const o=t.consumer;o.dirty||hI(o)}}finally{ar=n}}function zg(){return!1!==Je?.consumerAllowSignalWrites}function hI(e){e.dirty=!0,$g(e),e.consumerMarkedDirty?.(e)}function Hs(e){e.dirty=!1,e.lastCleanEpoch=Hc}function Ko(e){return e&&function gI(e){e.producersTail=void 0,e.recomputing=!0}(e),z(e)}function cr(e,n){z(n),e&&function pI(e){e.recomputing=!1;const n=e.producersTail;let t=void 0!==n?n.nextProducer:e.producers;if(void 0!==t){if(Jo(e))do{t=Uc(t)}while(void 0!==t);void 0!==n?n.nextProducer=void 0:e.producers=void 0}}(e)}function Bs(e){for(let n=e.producers;void 0!==n;n=n.nextProducer){const t=n.producer,o=n.lastReadVersion;if(o!==t.version||(lr(t),o!==t.version))return!0}return!1}function ur(e){if(Jo(e)){let n=e.producers;for(;void 0!==n;)n=Uc(n)}e.producers=void 0,e.producersTail=void 0,e.consumers=void 0,e.consumersTail=void 0}function Gg(e,n){const t=e.consumersTail,o=Jo(e);if(void 0!==t?(n.nextConsumer=t.nextConsumer,t.nextConsumer=n):(n.nextConsumer=void 0,e.consumers=n),n.prevConsumer=t,e.consumersTail=n,!o)for(let i=e.producers;void 0!==i;i=i.nextProducer)Gg(i.producer,i)}function Uc(e){const n=e.producer,t=e.nextProducer,o=e.nextConsumer,i=e.prevConsumer;if(e.nextConsumer=void 0,e.prevConsumer=void 0,void 0!==o?o.prevConsumer=i:n.consumersTail=i,void 0!==i)i.nextConsumer=o;else if(n.consumers=o,!Jo(n)){let r=n.producers;for(;void 0!==r;)r=Uc(r)}return t}function Jo(e){return e.consumerIsAlwaysLive||void 0!==e.consumers}function zc(e,n){return Object.is(e,n)}const lo=Symbol("UNSET"),Xo=Symbol("COMPUTING"),Rn=Symbol("ERRORED"),vI={...Qo,value:lo,dirty:!0,error:null,equal:zc,kind:"computed",producerMustRecompute:e=>e.value===lo||e.value===Xo,producerRecomputeValue(e){if(e.value===Xo)throw new Error("");const n=e.value;e.value=Xo;const t=Ko(e);let o,i=!1;try{o=e.computation(),z(null),i=n!==lo&&n!==Rn&&o!==Rn&&e.equal(n,o)}catch(r){o=Rn,e.error=r}finally{cr(e,t)}i?e.value=n:(e.value=o,e.version++)}};let Wg=function yI(){throw new Error};function qg(e){Wg(e)}function bI(e,n){const t=Object.create(Yg);t.value=e,void 0!==n&&(t.equal=n);const o=()=>function DI(e){return Vs(e),e.value}(t);return o[We]=t,[o,s=>Gc(t,s),s=>function Zg(e,n){zg()||qg(e),Gc(e,n(e.value))}(t,s)]}function Gc(e,n){zg()||qg(e),e.equal(e.value,n)||(e.value=n,function wI(e){e.version++,function fI(){Hc++}(),$g(e)}(e))}const Yg={...Qo,equal:zc,value:void 0,kind:"signal"};function ke(e){return"function"==typeof e}function Qg(e){const t=e(o=>{Error.call(o),o.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const Wc=Qg(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((o,i)=>`${i+1}) ${o.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function Us(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class It{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const r of t)r.remove(this);else t.remove(this);const{initialTeardown:o}=this;if(ke(o))try{o()}catch(r){n=r instanceof Wc?r.errors:[r]}const{_finalizers:i}=this;if(i){this._finalizers=null;for(const r of i)try{Xg(r)}catch(s){n=n??[],s instanceof Wc?n=[...n,...s.errors]:n.push(s)}}if(n)throw new Wc(n)}}add(n){var t;if(n&&n!==this)if(this.closed)Xg(n);else{if(n instanceof It){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&Us(t,n)}remove(n){const{_finalizers:t}=this;t&&Us(t,n),n instanceof It&&n._removeParent(this)}}It.EMPTY=(()=>{const e=new It;return e.closed=!0,e})();const Kg=It.EMPTY;function Jg(e){return e instanceof It||e&&"closed"in e&&ke(e.remove)&&ke(e.add)&&ke(e.unsubscribe)}function Xg(e){ke(e)?e():e.unsubscribe()}const co={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},$s={setTimeout(e,n,...t){const{delegate:o}=$s;return o?.setTimeout?o.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=$s;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function ep(e){$s.setTimeout(()=>{const{onUnhandledError:n}=co;if(!n)throw e;n(e)})}function tp(){}const EI=qc("C",void 0,void 0);function qc(e,n,t){return{kind:e,value:n,error:t}}let uo=null;function zs(e){if(co.useDeprecatedSynchronousErrorHandling){const n=!uo;if(n&&(uo={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:o}=uo;if(uo=null,t)throw o}}else e()}class Zc extends It{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Jg(n)&&n.add(this)):this.destination=OI}static create(n,t,o){return new Qc(n,t,o)}next(n){this.isStopped?Kc(function II(e){return qc("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?Kc(function MI(e){return qc("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Kc(EI,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const SI=Function.prototype.bind;function Yc(e,n){return SI.call(e,n)}class AI{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(o){Gs(o)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(o){Gs(o)}else Gs(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){Gs(t)}}}class Qc extends Zc{constructor(n,t,o){let i;if(super(),ke(n)||!n)i={next:n??void 0,error:t??void 0,complete:o??void 0};else{let r;this&&co.useDeprecatedNextContext?(r=Object.create(n),r.unsubscribe=()=>this.unsubscribe(),i={next:n.next&&Yc(n.next,r),error:n.error&&Yc(n.error,r),complete:n.complete&&Yc(n.complete,r)}):i=n}this.destination=new AI(i)}}function Gs(e){co.useDeprecatedSynchronousErrorHandling?function TI(e){co.useDeprecatedSynchronousErrorHandling&&uo&&(uo.errorThrown=!0,uo.error=e)}(e):ep(e)}function Kc(e,n){const{onStoppedNotification:t}=co;t&&$s.setTimeout(()=>t(e,n))}const OI={closed:!0,next:tp,error:function NI(e){throw e},complete:tp},Jc="function"==typeof Symbol&&Symbol.observable||"@@observable";function Xc(e){return e}let ht=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const o=new e;return o.source=this,o.operator=t,o}subscribe(t,o,i){const r=function RI(e){return e&&e instanceof Zc||function xI(e){return e&&ke(e.next)&&ke(e.error)&&ke(e.complete)}(e)&&Jg(e)}(t)?t:new Qc(t,o,i);return zs(()=>{const{operator:s,source:a}=this;r.add(s?s.call(r,a):a?this._subscribe(r):this._trySubscribe(r))}),r}_trySubscribe(t){try{return this._subscribe(t)}catch(o){t.error(o)}}forEach(t,o){return new(o=op(o))((i,r)=>{const s=new Qc({next:a=>{try{t(a)}catch(l){r(l),s.unsubscribe()}},error:r,complete:i});this.subscribe(s)})}_subscribe(t){var o;return null===(o=this.source)||void 0===o?void 0:o.subscribe(t)}[Jc](){return this}pipe(...t){return function np(e){return 0===e.length?Xc:1===e.length?e[0]:function(t){return e.reduce((o,i)=>i(o),t)}}(t)(this)}toPromise(t){return new(t=op(t))((o,i)=>{let r;this.subscribe(s=>r=s,s=>i(s),()=>o(r))})}}return e.create=n=>new e(n),e})();function op(e){var n;return null!==(n=e??co.Promise)&&void 0!==n?n:Promise}const kI=Qg(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Xt=(()=>{class e extends ht{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const o=new ip(this,this);return o.operator=t,o}_throwIfClosed(){if(this.closed)throw new kI}next(t){zs(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const o of this.currentObservers)o.next(t)}})}error(t){zs(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:o}=this;for(;o.length;)o.shift().error(t)}})}complete(){zs(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:o,isStopped:i,observers:r}=this;return o||i?Kg:(this.currentObservers=null,r.push(t),new It(()=>{this.currentObservers=null,Us(r,t)}))}_checkFinalizedStatuses(t){const{hasError:o,thrownError:i,isStopped:r}=this;o?t.error(i):r&&t.complete()}asObservable(){const t=new ht;return t.source=this,t}}return e.create=(n,t)=>new ip(n,t),e})();class ip extends Xt{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,o;null===(o=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===o||o.call(t,n)}error(n){var t,o;null===(o=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===o||o.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,o;return null!==(o=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==o?o:Kg}}class FI extends Xt{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:o}=this;if(n)throw t;return this._throwIfClosed(),o}next(n){super.next(this._value=n)}}const sp="https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss";class T extends Error{code;constructor(n,t){super(function en(e,n){return`${function LI(e){return`NG0${Math.abs(e)}`}(e)}${n?": "+n:""}`}(n,t)),this.code=n}}const Ie=globalThis;function se(e){for(let n in e)if(e[n]===se)return n;throw Error("")}function PI(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function gt(e){if("string"==typeof e)return e;if(Array.isArray(e))return`[${e.map(gt).join(", ")}]`;if(null==e)return""+e;const n=e.overriddenName||e.name;if(n)return`${n}`;const t=e.toString();if(null==t)return""+t;const o=t.indexOf("\n");return o>=0?t.slice(0,o):t}function tu(e,n){return e?n?`${e} ${n}`:e:n||""}const VI=se({__forward_ref__:se});function ge(e){return e.__forward_ref__=ge,e.toString=function(){return gt(this())},e}function Q(e){return Ws(e)?e():e}function Ws(e){return"function"==typeof e&&e.hasOwnProperty(VI)&&e.__forward_ref__===ge}function X(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function dn(e){return{providers:e.providers||[],imports:e.imports||[]}}function qs(e){return function zI(e,n){return e.hasOwnProperty(n)&&e[n]||null}(e,Ys)}function Zs(e){return e&&e.hasOwnProperty(nu)?e[nu]:null}const Ys=se({\u0275prov:se}),nu=se({\u0275inj:se});class R{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(n,t){this._desc=n,this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=X({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function iu(e){return e&&!!e.\u0275providers}const ru=se({\u0275cmp:se}),QI=se({\u0275dir:se}),KI=se({\u0275pipe:se}),ap=se({\u0275mod:se}),ho=se({\u0275fac:se}),hr=se({__NG_ELEMENT_ID__:se}),lp=se({__NG_ENV_ID__:se});function Z(e){return"string"==typeof e?e:null==e?"":String(e)}const su=se({ngErrorCode:se}),cp=se({ngErrorMessage:se}),gr=se({ngTokenPath:se});function au(e,n){return up("",-200,n)}function lu(e,n){throw new T(-201,!1)}function up(e,n,t){const o=new T(n,e);return o[su]=n,o[cp]=e,t&&(o[gr]=t),o}let cu;function dp(){return cu}function pt(e){const n=cu;return cu=e,n}function fp(e,n,t){const o=qs(e);return o&&"root"==o.providedIn?void 0===o.value?o.value=o.factory():o.value:8&t?null:void 0!==n?n:void lu()}const go={};class oT{injector;constructor(n){this.injector=n}retrieve(n,t){const o=pr(t)||0;try{return this.injector.get(n,8&o?null:go,o)}catch(i){if(Vc(i))return i;throw i}}}function iT(e,n=0){const t=sr();if(void 0===t)throw new T(-203,!1);if(null===t)return fp(e,void 0,n);{const o=function rT(e){return{optional:!!(8&e),host:!!(1&e),self:!!(2&e),skipSelf:!!(4&e)}}(n),i=t.retrieve(e,o);if(Vc(i)){if(o.optional)return null;throw i}return i}}function oe(e,n=0){return(dp()||iT)(Q(e),n)}function F(e,n){return oe(e,pr(n))}function pr(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function du(e){const n=[];for(let t=0;tArray.isArray(t)?ei(t,n):n(t))}function gp(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function Ks(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function Xs(e,n,t){let o=_r(e,n);return o>=0?e[1|o]=t:(o=~o,function mp(e,n,t,o){let i=e.length;if(i==n)e.push(t,o);else if(1===i)e.push(o,e[0]),e[0]=t;else{for(i--,e.push(e[i-1],e[i]);i>n;)e[i]=e[i-2],i--;e[n]=t,e[n+1]=o}}(e,o,n,t)),o}function fu(e,n){const t=_r(e,n);if(t>=0)return e[1|t]}function _r(e,n){return function lT(e,n,t){let o=0,i=e.length>>t;for(;i!==o;){const r=o+(i-o>>1),s=e[r<n?i=r:o=r+1}return~(i<{t.push(s)};return ei(n,s=>{const a=s;ta(a,r,[],o)&&(i||=[],i.push(a))}),void 0!==i&&yp(i,r),t}function yp(e,n){for(let t=0;t{n(r,o)})}}function ta(e,n,t,o){if(!(e=Q(e)))return!1;let i=null,r=Zs(e);const s=!r&&le(e);if(r||s){if(s&&!s.standalone)return!1;i=e}else{const l=e.ngModule;if(r=Zs(l),!r)return!1;i=l}const a=o.has(i);if(s){if(a)return!1;if(o.add(i),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)ta(c,n,t,o)}}else{if(!r)return!1;{if(null!=r.imports&&!a){let c;o.add(i);try{ei(r.imports,u=>{ta(u,n,t,o)&&(c||=[],c.push(u))})}finally{}void 0!==c&&yp(c,n)}if(!a){const c=po(i)||(()=>new i);n({provide:i,useFactory:c,deps:_e},i),n({provide:hu,useValue:i,multi:!0},i),n({provide:mo,useValue:()=>oe(i),multi:!0},i)}const l=r.providers;if(null!=l&&!a){const c=e;mu(l,u=>{n(u,c)})}}}return i!==e&&void 0!==e.providers}function mu(e,n){for(let t of e)iu(t)&&(t=t.\u0275providers),Array.isArray(t)?mu(t,n):n(t)}const dT=se({provide:String,useValue:se});function _u(e){return null!==e&&"object"==typeof e&&dT in e}function fn(e){return"function"==typeof e}const vu=new R(""),na={},wp={};let yu;function Cu(){return void 0===yu&&(yu=new ea),yu}class Lt{}class _o extends Lt{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(n,t,o,i){super(),this.parent=t,this.source=o,this.scopes=i,Du(n,s=>this.processProvider(s)),this.records.set(_p,ti(void 0,this)),i.has("environment")&&this.records.set(Lt,ti(void 0,this));const r=this.records.get(vu);null!=r&&"string"==typeof r.value&&this.scopes.add(r.value),this.injectorDefTypes=new Set(this.get(hu,_e,{self:!0}))}retrieve(n,t){const o=pr(t)||0;try{return this.get(n,go,o)}catch(i){if(Vc(i))return i;throw i}}destroy(){yr(this),this._destroyed=!0;const n=z(null);try{for(const o of this._ngOnDestroyHooks)o.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const o of t)o()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),z(n)}}onDestroy(n){return yr(this),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){yr(this);const t=un(this),o=pt(void 0);try{return n()}finally{un(t),pt(o)}}get(n,t=go,o){if(yr(this),n.hasOwnProperty(lp))return n[lp](this);const i=pr(o),s=un(this),a=pt(void 0);try{if(!(4&i)){let c=this.records.get(n);if(void 0===c){const u=function mT(e){return"function"==typeof e||"object"==typeof e&&"InjectionToken"===e.ngMetadataName}(n)&&qs(n);c=u&&this.injectableDefInScope(u)?ti(bu(n),na):null,this.records.set(n,c)}if(null!=c)return this.hydrate(n,c,i)}return(2&i?Cu():this.parent).get(n,t=8&i&&t===go?null:t)}catch(l){const c=function tT(e){return e[su]}(l);throw-200===c||-201===c?new T(c,null):l}finally{pt(a),un(s)}}resolveInjectorInitializers(){const n=z(null),t=un(this),o=pt(void 0);try{const r=this.get(mo,_e,{self:!0});for(const s of r)s()}finally{un(t),pt(o),z(n)}}toString(){const n=[],t=this.records;for(const o of t.keys())n.push(gt(o));return`R3Injector[${n.join(", ")}]`}processProvider(n){let t=fn(n=Q(n))?n:Q(n&&n.provide);const o=function hT(e){return _u(e)?ti(void 0,e.useValue):ti(Ep(e),na)}(n);if(!fn(n)&&!0===n.multi){let i=this.records.get(t);i||(i=ti(void 0,na,!0),i.factory=()=>du(i.multi),this.records.set(t,i)),t=n,i.multi.push(n)}this.records.set(t,o)}hydrate(n,t,o){const i=z(null);try{if(t.value===wp)throw au(gt(n));return t.value===na&&(t.value=wp,t.value=t.factory(void 0,o)),"object"==typeof t.value&&t.value&&function pT(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{z(i)}}injectableDefInScope(n){if(!n.providedIn)return!1;const t=Q(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function bu(e){const n=qs(e),t=null!==n?n.factory:po(e);if(null!==t)return t;if(e instanceof R)throw new T(204,!1);if(e instanceof Function)return function fT(e){if(e.length>0)throw new T(204,!1);const t=function GI(e){return(e?.[Ys]??null)||null}(e);return null!==t?()=>t.factory(e):()=>new e}(e);throw new T(204,!1)}function Ep(e,n,t){let o;if(fn(e)){const i=Q(e);return po(i)||bu(i)}if(_u(e))o=()=>Q(e.useValue);else if(function bp(e){return!(!e||!e.useFactory)}(e))o=()=>e.useFactory(...du(e.deps||[]));else if(function Cp(e){return!(!e||!e.useExisting)}(e))o=(i,r)=>oe(Q(e.useExisting),void 0!==r&&8&r?8:void 0);else{const i=Q(e&&(e.useClass||e.provide));if(!function gT(e){return!!e.deps}(e))return po(i)||bu(i);o=()=>new i(...du(e.deps))}return o}function yr(e){if(e.destroyed)throw new T(205,!1)}function ti(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function Du(e,n){for(const t of e)Array.isArray(t)?Du(t,n):t&&iu(t)?Du(t.\u0275providers,n):n(t)}function Mp(e,n){let t;e instanceof _o?(yr(e),t=e):t=new oT(e);const i=un(t),r=pt(void 0);try{return n()}finally{un(i),pt(r)}}function wu(){return void 0!==dp()||null!=sr()}const Y=11,H=27;function Me(e){return Array.isArray(e)&&"object"==typeof e[1]}function st(e){return Array.isArray(e)&&!0===e[1]}function Tp(e){return!!(4&e.flags)}function pn(e){return e.componentOffset>-1}function si(e){return!(1&~e.flags)}function At(e){return!!e.template}function Hn(e){return!!(512&e[2])}function mn(e){return!(256&~e[2])}function $e(e){for(;Array.isArray(e);)e=e[0];return e}function ai(e,n){return $e(n[e])}function Le(e,n){return $e(n[e.index])}function li(e,n){return e.data[n]}function at(e,n){const t=n[e];return Me(t)?t:t[0]}function Tu(e){return!(128&~e[2])}function tt(e,n){return null==n?null:e[n]}function Rp(e){e[17]=0}function kp(e){1024&e[2]||(e[2]|=1024,Tu(e)&&ci(e))}function sa(e){return!!(9216&e[2]||e[24]?.dirty)}function Su(e){e[10].changeDetectionScheduler?.notify(8),64&e[2]&&(e[2]|=1024),sa(e)&&ci(e)}function ci(e){e[10].changeDetectionScheduler?.notify(0);let n=_n(e);for(;null!==n&&!(8192&n[2])&&(n[2]|=8192,Tu(n));)n=_n(n)}function aa(e,n){if(mn(e))throw new T(911,!1);null===e[21]&&(e[21]=[]),e[21].push(n)}function _n(e){const n=e[3];return st(n)?n[3]:n}function Lp(e){return e[7]??=[]}function Pp(e){return e.cleanup??=[]}const G={lFrame:Jp(null),bindingsEnabled:!0,skipHydrationRootTNode:null};let Ou=!1;function xu(){return G.bindingsEnabled}function w(){return G.lFrame.lView}function K(){return G.lFrame.tView}function B(e){return G.lFrame.contextLView=e,e[8]}function j(e){return G.lFrame.contextLView=null,e}function q(){let e=Up();for(;null!==e&&64===e.type;)e=e.parent;return e}function Up(){return G.lFrame.currentTNode}function vn(e,n){const t=G.lFrame;t.currentTNode=e,t.isParent=n}function $p(){return G.lFrame.isParent}function qp(){return Ou}function la(e){const n=Ou;return Ou=e,n}function lt(){const e=G.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function mt(){return G.lFrame.bindingIndex++}function Cn(e){const n=G.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function AT(e,n){const t=G.lFrame;t.bindingIndex=t.bindingRootIndex=e,Ru(n)}function Ru(e){G.lFrame.currentDirectiveIndex=e}function Fu(){return G.lFrame.currentQueryIndex}function ca(e){G.lFrame.currentQueryIndex=e}function OT(e){const n=e[1];return 2===n.type?n.declTNode:1===n.type?e[5]:null}function Qp(e,n,t){if(4&t){let i=n,r=e;for(;!(i=i.parent,null!==i||1&t||(i=OT(r),null===i||(r=r[14],10&i.type))););if(null===i)return!1;n=i,e=r}const o=G.lFrame=Kp();return o.currentTNode=n,o.lView=e,!0}function Lu(e){const n=Kp(),t=e[1];G.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function Kp(){const e=G.lFrame,n=null===e?null:e.child;return null===n?Jp(e):n}function Jp(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function Xp(){const e=G.lFrame;return G.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const em=Xp;function Pu(){const e=Xp();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function qe(){return G.lFrame.selectedIndex}function Do(e){G.lFrame.selectedIndex=e}function on(){const e=G.lFrame;return li(e.tView,e.selectedIndex)}let nm=!0;function ua(){return nm}function wr(e){nm=e}function om(e,n=null,t=null,o){const i=im(e,n,t,o);return i.resolveInjectorInitializers(),i}function im(e,n=null,t=null,o,i=new Set){const r=[t||_e,uT(e)];return o=o||("object"==typeof e?void 0:gt(e)),new _o(r,n||Cu(),o||null,i)}class Vt{static THROW_IF_NOT_FOUND=go;static NULL=new ea;static create(n,t){if(Array.isArray(n))return om({name:""},t,n,"");{const o=n.name??"";return om({name:o},n.parent,n.providers,o)}}static \u0275prov=X({token:Vt,providedIn:"any",factory:()=>oe(_p)});static __NG_ELEMENT_ID__=-1}const Bn=new R("");let bn=(()=>class e{static __NG_ELEMENT_ID__=PT;static __NG_ENV_ID__=t=>t})();class rm extends bn{_lView;constructor(n){super(),this._lView=n}get destroyed(){return mn(this._lView)}onDestroy(n){const t=this._lView;return aa(t,n),()=>function Au(e,n){if(null===e[21])return;const t=e[21].indexOf(n);-1!==t&&e[21].splice(t,1)}(t,n)}}function PT(){return new rm(w())}class di{_console=console;handleError(n){this._console.error("ERROR",n)}}const Dn=new R("",{providedIn:"root",factory:()=>{const e=F(Lt);let n;return t=>{e.destroyed&&!n?setTimeout(()=>{throw t}):(n??=e.get(di),n.handleError(t))}}}),VT={provide:mo,useValue:()=>{F(di)},multi:!0};function wo(e,n){const[t,o,i]=bI(e,n?.equal),r=t;return r.set=o,r.update=i,r.asReadonly=Vu.bind(r),r}function Vu(){const e=this[We];if(void 0===e.readonlyFn){const n=()=>this();n[We]=e,e.readonlyFn=n}return e.readonlyFn}function am(e){return function sm(e){return"function"==typeof e&&void 0!==e[We]}(e)&&"function"==typeof e.set}let Hu=(()=>class e{view;node;constructor(t,o){this.view=t,this.node=o}static __NG_ELEMENT_ID__=BT})();function BT(){return new Hu(w(),q())}class fi{}const lm=new R("",{providedIn:"root",factory:()=>!1}),cm=new R(""),um=new R("");let Eo=(()=>{class e{taskId=0;pendingTasks=new Set;destroyed=!1;pendingTask=new FI(!1);get hasPendingTasks(){return!this.destroyed&&this.pendingTask.value}get hasPendingTasksObservable(){return this.destroyed?new ht(t=>{t.next(!1),t.complete()}):this.pendingTask}add(){!this.hasPendingTasks&&!this.destroyed&&this.pendingTask.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}has(t){return this.pendingTasks.has(t)}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this.hasPendingTasks&&this.pendingTask.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks&&this.pendingTask.next(!1),this.destroyed=!0,this.pendingTask.unsubscribe()}static \u0275prov=X({token:e,providedIn:"root",factory:()=>new e})}return e})();function Er(...e){}let fm=(()=>{class e{static \u0275prov=X({token:e,providedIn:"root",factory:()=>new jT})}return e})();class jT{dirtyEffectCount=0;queues=new Map;add(n){this.enqueue(n),this.schedule(n)}schedule(n){n.dirty&&this.dirtyEffectCount++}remove(n){const o=this.queues.get(n.zone);o.has(n)&&(o.delete(n),n.dirty&&this.dirtyEffectCount--)}enqueue(n){const t=n.zone;this.queues.has(t)||this.queues.set(t,new Set);const o=this.queues.get(t);o.has(n)||o.add(n)}flush(){for(;this.dirtyEffectCount>0;){let n=!1;for(const[t,o]of this.queues)n||=null===t?this.flushQueue(o):t.run(()=>this.flushQueue(o));n||(this.dirtyEffectCount=0)}}flushQueue(n){let t=!1;for(const o of n)o.dirty&&(this.dirtyEffectCount--,t=!0,o.run());return t}}let hm=null;function Mr(){return hm}class $T{}function Mo(e){return n=>{if(function E0(e){return ke(e?.lift)}(n))return n.lift(function(t){try{return e(t,this)}catch(o){this.error(o)}});throw new TypeError("Unable to lift unknown Observable type")}}function jn(e,n,t,o,i){return new M0(e,n,t,o,i)}class M0 extends Zc{constructor(n,t,o,i,r,s){super(n),this.onFinalize=r,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){n.error(l)}}:super._next,this._error=i?function(a){try{i(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=o?function(){try{o()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function $u(e,n){return Mo((t,o)=>{let i=0;t.subscribe(jn(o,r=>{o.next(e.call(n,r,i++))}))})}function wn(e){return{toString:e}.toString()}class V0{previousValue;currentValue;firstChange;constructor(n,t,o){this.previousValue=n,this.currentValue=t,this.firstChange=o}isFirstChange(){return this.firstChange}}function Sm(e,n,t,o){null!==n?n.applyValueToInputSignal(n,o):e[t]=o}const En=(()=>{const e=()=>Am;return e.ngInherit=!0,e})();function Am(e){return e.type.prototype.ngOnChanges&&(e.setInput=B0),H0}function H0(){const e=Om(this),n=e?.current;if(n){const t=e.previous;if(t===tn)e.previous=n;else for(let o in n)t[o]=n[o];e.current=null,this.ngOnChanges(n)}}function B0(e,n,t,o,i){const r=this.declaredInputs[o],s=Om(e)||function j0(e,n){return e[Nm]=n}(e,{previous:tn,current:null}),a=s.current||(s.current={}),l=s.previous,c=l[r];a[r]=new V0(c&&c.currentValue,t,l===tn),Sm(e,n,i,t)}const Nm="__ngSimpleChanges__";function Om(e){return e[Nm]||null}const Io=[],fe=function(e,n=null,t){for(let o=0;o=o)break}else n[l]<0&&(e[17]+=65536),(a>14>16&&(3&e[2])===n&&(e[2]+=16384,km(a,r)):km(a,r)}class Or{factory;name;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(n,t,o,i){this.factory=n,this.name=i,this.canSeeViewProviders=t,this.injectImpl=o}}function Lm(e){return 3===e||4===e||6===e}function Pm(e){return 64===e.charCodeAt(0)}function vi(e,n){if(null!==n&&0!==n.length)if(null===e||0===e.length)e=n.slice();else{let t=-1;for(let o=0;on){s=r-1;break}}}for(;r>16}(e),o=n;for(;t>0;)o=o[14],t--;return o}let Yu=!0;function _a(e){const n=Yu;return Yu=e,n}let K0=0;const rn={};function va(e,n){const t=jm(e,n);if(-1!==t)return t;const o=n[1];o.firstCreatePass&&(e.injectorIndex=n.length,Qu(o.data,e),Qu(n,null),Qu(o.blueprint,null));const i=ya(e,n),r=e.injectorIndex;if(Zu(i)){const s=xr(i),a=Rr(i,n),l=a[1].data;for(let c=0;c<8;c++)n[r+c]=a[s+c]|l[s+c]}return n[r+8]=i,r}function Qu(e,n){e.push(0,0,0,0,0,0,0,0,n)}function jm(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function ya(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,o=null,i=n;for(;null!==i;){if(o=Zm(i),null===o)return-1;if(t++,i=i[14],-1!==o.injectorIndex)return o.injectorIndex|t<<16}return-1}function Ku(e,n,t){!function J0(e,n,t){let o;"string"==typeof t?o=t.charCodeAt(0)||0:t.hasOwnProperty(hr)&&(o=t[hr]),null==o&&(o=t[hr]=K0++);const i=255&o;n.data[e+(i>>5)]|=1<=0?255&n:nS:n}(t);if("function"==typeof r){if(!Qp(n,e,o))return 1&o?Um(i,0,o):$m(n,t,o,i);try{let s;if(s=r(o),null!=s||8&o)return s;lu()}finally{em()}}else if("number"==typeof r){let s=null,a=jm(e,n),l=-1,c=1&o?n[15][5]:null;for((-1===a||4&o)&&(l=-1===a?ya(e,n):n[a+8],-1!==l&&qm(o,!1)?(s=n[1],a=xr(l),n=Rr(l,n)):a=-1);-1!==a;){const u=n[1];if(Wm(r,a,u.data)){const d=eS(a,n,t,s,o,c);if(d!==rn)return d}l=n[a+8],-1!==l&&qm(o,n[1].data[a+8]===c)&&Wm(r,a,n)?(s=u,a=xr(l),n=Rr(l,n)):a=-1}}return i}function eS(e,n,t,o,i,r){const s=n[1],a=s.data[e+8],u=Ca(a,s,t,null==o?pn(a)&&Yu:o!=s&&!!(3&a.type),1&i&&r===a);return null!==u?kr(n,s,u,a,i):rn}function Ca(e,n,t,o,i){const r=e.providerIndexes,s=n.data,a=1048575&r,l=e.directiveStart,u=r>>20,g=i?a+u:e.directiveEnd;for(let h=o?a:a+u;h=l&&p.type===t)return h}if(i){const h=s[l];if(h&&At(h)&&h.type===t)return l}return null}function kr(e,n,t,o,i){let r=e[t];const s=n.data;if(r instanceof Or){const a=r;if(a.resolving)throw function ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():Z(e)}(s[t]),au();const l=_a(a.canSeeViewProviders);a.resolving=!0;const d=a.injectImpl?pt(a.injectImpl):null;Qp(e,o,0);try{r=e[t]=a.factory(void 0,i,s,e,o),n.firstCreatePass&&t>=o.directiveStart&&function G0(e,n,t){const{ngOnChanges:o,ngOnInit:i,ngDoCheck:r}=n.type.prototype;if(o){const s=Am(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}i&&(t.preOrderHooks??=[]).push(0-e,i),r&&((t.preOrderHooks??=[]).push(e,r),(t.preOrderCheckHooks??=[]).push(e,r))}(t,s[t],n)}finally{null!==d&&pt(d),_a(l),a.resolving=!1,em()}}return r}function Wm(e,n,t){return!!(t[n+(e>>5)]&1<{const n=e.prototype.constructor,t=n[ho]||Ju(n),o=Object.prototype;let i=Object.getPrototypeOf(e.prototype).constructor;for(;i&&i!==o;){const r=i[ho]||Ju(i);if(r&&r!==t)return r;i=Object.getPrototypeOf(i)}return r=>new r})}function Ju(e){return Ws(e)?()=>{const n=Ju(Q(e));return n&&n()}:po(e)}function Zm(e){const n=e[1],t=n.type;return 2===t?n.declTNode:1===t?e[5]:null}function dS(){return yi(q(),w())}function yi(e,n){return new Nt(Le(e,n))}let Nt=(()=>class e{nativeElement;constructor(t){this.nativeElement=t}static __NG_ELEMENT_ID__=dS})();function Xm(e){return e instanceof Nt?e.nativeElement:e}function fS(){return this._results[Symbol.iterator]()}class hS{_emitDistinctChangesOnly;dirty=!0;_onDirty=void 0;_results=[];_changesDetected=!1;_changes=void 0;length=0;first=void 0;last=void 0;get changes(){return this._changes??=new Xt}constructor(n=!1){this._emitDistinctChangesOnly=n}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,t){return this._results.reduce(n,t)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,t){this.dirty=!1;const o=function Ft(e){return e.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function aT(e,n,t){if(e.length!==n.length)return!1;for(let o=0;oBS}),BS="ng",y_=new R(""),C_=new R("",{providedIn:"platform",factory:()=>"unknown"}),b_=new R("",{providedIn:"root",factory:()=>$n().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null}),ZS=new R("",{providedIn:"root",factory:()=>!1});function Sa(e){return!(32&~e.flags)}function W_(e,n){const t=e.contentQueries;if(null!==t){const o=z(null);try{for(let i=0;ie,createScript:e=>e,createScriptURL:e=>e})}catch{}return Fa}()?.createHTML(e)||e}function K_(e){return function Td(){if(void 0===La&&(La=null,Ie.trustedTypes))try{La=Ie.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return La}()?.createHTML(e)||e}class ev{changingThisBreaksApplicationSecurity;constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${sp})`}}function Gn(e){return e instanceof ev?e.changingThisBreaksApplicationSecurity:e}function Br(e,n){const t=function O1(e){return e instanceof ev&&e.getTypeName()||null}(e);if(null!=t&&t!==n){if("ResourceURL"===t&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${t} (see ${sp})`)}return t===n}class x1{inertDocumentHelper;constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{const t=(new window.DOMParser).parseFromString(Ei(n),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(n):(t.firstChild?.remove(),t)}catch{return null}}}class R1{defaultDoc;inertDocument;constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){const t=this.inertDocument.createElement("template");return t.innerHTML=Ei(n),t}}const F1=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Sd(e){return(e=String(e)).match(F1)?e:"unsafe:"+e}function In(e){const n={};for(const t of e.split(","))n[t]=!0;return n}function jr(...e){const n={};for(const t of e)for(const o in t)t.hasOwnProperty(o)&&(n[o]=!0);return n}const nv=In("area,br,col,hr,img,wbr"),ov=In("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),iv=In("rp,rt"),Ad=jr(nv,jr(ov,In("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),jr(iv,In("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),jr(iv,ov)),Nd=In("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),rv=jr(Nd,In("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),In("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),L1=In("script,style,template");class P1{sanitizedSomething=!1;buf=[];sanitizeChildren(n){let t=n.firstChild,o=!0,i=[];for(;t;)if(t.nodeType===Node.ELEMENT_NODE?o=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,o&&t.firstChild)i.push(t),t=B1(t);else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=H1(t);if(r){t=r;break}t=i.pop()}return this.buf.join("")}startElement(n){const t=sv(n).toLowerCase();if(!Ad.hasOwnProperty(t))return this.sanitizedSomething=!0,!L1.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const o=n.attributes;for(let i=0;i"),!0}endElement(n){const t=sv(n).toLowerCase();Ad.hasOwnProperty(t)&&!nv.hasOwnProperty(t)&&(this.buf.push(""))}chars(n){this.buf.push(lv(n))}}function H1(e){const n=e.nextSibling;if(n&&e!==n.previousSibling)throw av(n);return n}function B1(e){const n=e.firstChild;if(n&&function V1(e,n){return(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}(e,n))throw av(n);return n}function sv(e){const n=e.nodeName;return"string"==typeof n?n:"FORM"}function av(e){return new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`)}const j1=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,U1=/([^\#-~ |!])/g;function lv(e){return e.replace(/&/g,"&").replace(j1,function(n){return"&#"+(1024*(n.charCodeAt(0)-55296)+(n.charCodeAt(1)-56320)+65536)+";"}).replace(U1,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}let Pa;function Od(e){return"content"in e&&function z1(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}function Va(e,n,t){return e.createElement(n,t)}function So(e,n,t,o,i){e.insertBefore(n,t,o,i)}function dv(e,n,t){e.appendChild(n,t)}function fv(e,n,t,o,i){null!==o?So(e,n,t,o,i):dv(e,n,t)}function Ur(e,n,t,o){e.removeChild(null,n,t,o)}function gv(e,n,t){const{mergedAttrs:o,classes:i,styles:r}=t;null!==o&&function Y0(e,n,t){let o=0;for(;o-1){let r;for(;++ir?"":i[u+1].toLowerCase(),2&o&&c!==d){if(Wt(o))return!1;s=!0}}}}else{if(!s&&!Wt(o)&&!Wt(l))return!1;if(s&&Wt(l))continue;s=!1,o=l|1&o}}return Wt(o)||s}function Wt(e){return!(1&e)}function mA(e,n,t,o){if(null===n)return-1;let i=0;if(o||!t){let r=!1;for(;i-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&o?i+="."+s:4&o&&(i+=" "+s);else""!==i&&!Wt(s)&&(n+=wv(r,i),i=""),o=s,r=r||!Wt(o);t++}return""!==i&&(n+=wv(r,i)),n}const ce={};function Fd(e,n,t,o,i,r,s,a,l,c,u){const d=H+o,g=d+i,h=function EA(e,n){const t=[];for(let o=0;onull),s=o;if(n&&"object"==typeof n){const l=n;i=l.next?.bind(l),r=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(r=this.wrapInTimeout(r),i&&(i=this.wrapInTimeout(i)),s&&(s=this.wrapInTimeout(s)));const a=super.subscribe({next:i,error:r,complete:s});return n instanceof It&&n.add(a),a}wrapInTimeout(n){return t=>{const o=this.pendingTasks?.add();setTimeout(()=>{try{n(t)}finally{void 0!==o&&this.pendingTasks?.remove(o)}})}}};function Ov(e){let n,t;function o(){e=Er;try{void 0!==t&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(t),void 0!==n&&clearTimeout(n)}catch{}}return n=setTimeout(()=>{e(),o()}),"function"==typeof requestAnimationFrame&&(t=requestAnimationFrame(()=>{e(),o()})),()=>o()}function xv(e){return queueMicrotask(()=>e()),()=>{e=Er}}const jd="isAngularZone",za=jd+"_ID";let xA=0;class re{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new ve(!1);onMicrotaskEmpty=new ve(!1);onStable=new ve(!1);onError=new ve(!1);constructor(n){const{enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:o=!1,shouldCoalesceRunChangeDetection:i=!1,scheduleInRootZone:r=Nv}=n;if(typeof Zone>"u")throw new T(908,!1);Zone.assertZonePatched();const s=this;s._nesting=0,s._outer=s._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(s._inner=s._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!i&&o,s.shouldCoalesceRunChangeDetection=i,s.callbackScheduled=!1,s.scheduleInRootZone=r,function FA(e){const n=()=>{!function kA(e){function n(){Ov(()=>{e.callbackScheduled=!1,$d(e),e.isCheckStableRunning=!0,Ud(e),e.isCheckStableRunning=!1})}e.isCheckStableRunning||e.callbackScheduled||(e.callbackScheduled=!0,e.scheduleInRootZone?Zone.root.run(()=>{n()}):e._outer.run(()=>{n()}),$d(e))}(e)},t=xA++;e._inner=e._inner.fork({name:"angular",properties:{[jd]:!0,[za]:t,[za+t]:!0},onInvokeTask:(o,i,r,s,a,l)=>{if(function LA(e){return Fv(e,"__ignore_ng_zone__")}(l))return o.invokeTask(r,s,a,l);try{return Rv(e),o.invokeTask(r,s,a,l)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&n(),kv(e)}},onInvoke:(o,i,r,s,a,l,c)=>{try{return Rv(e),o.invoke(r,s,a,l,c)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!function PA(e){return Fv(e,"__scheduler_tick__")}(l)&&n(),kv(e)}},onHasTask:(o,i,r,s)=>{o.hasTask(r,s),i===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,$d(e),Ud(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(o,i,r,s)=>(o.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(s)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get(jd)}static assertInAngularZone(){if(!re.isInAngularZone())throw new T(909,!1)}static assertNotInAngularZone(){if(re.isInAngularZone())throw new T(909,!1)}run(n,t,o){return this._inner.run(n,t,o)}runTask(n,t,o,i){const r=this._inner,s=r.scheduleEventTask("NgZoneEvent: "+i,n,RA,Er,Er);try{return r.runTask(s,t,o)}finally{r.cancelTask(s)}}runGuarded(n,t,o){return this._inner.runGuarded(n,t,o)}runOutsideAngular(n){return this._outer.run(n)}}const RA={};function Ud(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function $d(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&!0===e.callbackScheduled)}function Rv(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function kv(e){e._nesting--,Ud(e)}class zd{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new ve;onMicrotaskEmpty=new ve;onStable=new ve;onError=new ve;run(n,t,o){return n.apply(t,o)}runGuarded(n,t,o){return n.apply(t,o)}runOutsideAngular(n){return n()}runTask(n,t,o,i){return n.apply(t,o)}}function Fv(e,n){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0]?.data?.[n]}let Lv=(()=>{class e{impl=null;execute(){this.impl?.execute()}static \u0275prov=X({token:e,providedIn:"root",factory:()=>new e})}return e})();const Pv=[0,1,2,3];let HA=(()=>{class e{ngZone=F(re);scheduler=F(fi);errorHandler=F(di,{optional:!0});sequences=new Set;deferredRegistrations=new Set;executing=!1;constructor(){F(Wr,{optional:!0})}execute(){const t=this.sequences.size>0;t&&fe(16),this.executing=!0;for(const o of Pv)for(const i of this.sequences)if(!i.erroredOrDestroyed&&i.hooks[o])try{i.pipelinedValue=this.ngZone.runOutsideAngular(()=>this.maybeTrace(()=>(0,i.hooks[o])(i.pipelinedValue),i.snapshot))}catch(r){i.erroredOrDestroyed=!0,this.errorHandler?.handleError(r)}this.executing=!1;for(const o of this.sequences)o.afterRun(),o.once&&(this.sequences.delete(o),o.destroy());for(const o of this.deferredRegistrations)this.sequences.add(o);this.deferredRegistrations.size>0&&this.scheduler.notify(7),this.deferredRegistrations.clear(),t&&fe(17)}register(t){const{view:o}=t;void 0!==o?((o[25]??=[]).push(t),ci(o),o[2]|=8192):this.executing?this.deferredRegistrations.add(t):this.addSequence(t)}addSequence(t){this.sequences.add(t),this.scheduler.notify(7)}unregister(t){this.executing&&this.sequences.has(t)?(t.erroredOrDestroyed=!0,t.pipelinedValue=void 0,t.once=!0):(this.sequences.delete(t),this.deferredRegistrations.delete(t))}maybeTrace(t,o){return o?o.run(Bd.AFTER_NEXT_RENDER,t):t()}static \u0275prov=X({token:e,providedIn:"root",factory:()=>new e})}return e})();class Vv{impl;hooks;view;once;snapshot;erroredOrDestroyed=!1;pipelinedValue=void 0;unregisterOnDestroy;constructor(n,t,o,i,r,s=null){this.impl=n,this.hooks=t,this.view=o,this.once=i,this.snapshot=s,this.unregisterOnDestroy=r?.onDestroy(()=>this.destroy())}afterRun(){this.erroredOrDestroyed=!1,this.pipelinedValue=void 0,this.snapshot?.dispose(),this.snapshot=null}destroy(){this.impl.unregister(this),this.unregisterOnDestroy?.();const n=this.view?.[25];n&&(this.view[25]=n.filter(t=>t!==this))}}function Gd(e,n){const t=n?.injector??F(Vt);return nt("NgAfterNextRender"),function Hv(e,n,t,o){const i=n.get(Lv);i.impl??=n.get(HA);const r=n.get(Wr,null,{optional:!0}),s=!0!==t?.manualCleanup?n.get(bn):null,a=n.get(Hu,null,{optional:!0}),l=new Vv(i.impl,function jA(e){return e instanceof Function?[void 0,void 0,e,void 0]:[e.earlyRead,e.write,e.mixedReadWrite,e.read]}(e),a?.view,o,s,r?.snapshot(null));return i.impl.register(l),l}(e,t,n,!0)}const Ga=new R("",{providedIn:"root",factory:()=>({queue:new Set,isScheduled:!1,scheduler:null})});function Bv(e,n,t){const o=e.get(Ga);if(Array.isArray(n))for(const i of n)o.queue.add(i),t?.detachedLeaveAnimationFns?.push(i);else o.queue.add(n),t?.detachedLeaveAnimationFns?.push(n);o.scheduler&&o.scheduler(e)}function jv(e,n,t,o){const i=e?.[26]?.enter;null!==n&&i&&i.has(t.index)&&function Wd(e,n){for(const[t,o]of n)Bv(e,o.animateFns)}(o,i)}function Si(e,n,t,o,i,r,s,a){if(null!=i){let l,c=!1;st(i)?l=i:Me(i)&&(c=!0,i=i[0]);const u=$e(i);0===e&&null!==o?(jv(a,o,r,t),null==s?dv(n,o,u):So(n,o,u,s||null,!0)):1===e&&null!==o?(jv(a,o,r,t),So(n,o,u,s||null,!0)):2===e?zv(a,r,t,d=>{Ur(n,u,c,d)}):3===e&&zv(a,r,t,()=>{n.destroyNode(u)}),null!=l&&function QA(e,n,t,o,i,r,s){const a=o[7];a!==$e(o)&&Si(n,e,t,r,a,i,s);for(let c=10;c=0?o[a]():o[-a].unsubscribe(),s+=2}else t[s].call(o[t[s+1]]);null!==o&&(n[7]=null);const i=n[21];if(null!==i){n[21]=null;for(let s=0;s{if(i.leave&&i.leave.has(n.index)){const s=i.leave.get(n.index),a=[];if(s){for(let l=0;l{e[26].running=void 0,Ao.delete(e),n(!0)}):n(!1)}(e,o)}else e&&Ao.delete(e),o(!1)},i)}function Yd(e,n,t){return function Gv(e,n,t){let o=n;for(;null!==o&&168&o.type;)o=(n=o).parent;if(null===o)return t[0];if(pn(o)){const{encapsulation:i}=e.data[o.directiveStart+o.componentOffset];if(i===Mn.None||i===Mn.Emulated)return null}return Le(o,t)}(e,n.parent,t)}let Zv=function qv(e,n,t){return 40&e.type?Le(e,t):null};function Kd(e,n,t,o){const i=Yd(e,o,n),r=n[Y],a=function Wv(e,n,t){return Zv(e,n,t)}(o.parent||n[5],o,n);if(null!=i)if(Array.isArray(t))for(let l=0;lH&&Mv(e,n,H,!1),fe(s?2:0,i,t),t(o,i)}finally{Do(r),fe(s?3:1,i,t)}}function Ya(e,n,t){(function nN(e,n,t){const o=t.directiveStart,i=t.directiveEnd;pn(t)&&function MA(e,n,t){const o=Le(n,e),i=function Ev(e){const n=e.tView;return null===n||n.incompleteFirstPass?e.tView=Fd(1,null,e.template,e.decls,e.vars,e.directiveDefs,e.pipeDefs,e.viewQuery,e.schemas,e.consts,e.id):n}(t),r=e[10].rendererFactory,s=Pd(e,ja(e,i,null,Ld(t),o,n,null,r.createRenderer(o,t),null,null,null));e[n.index]=s}(n,t,e.data[o+t.componentOffset]),e.firstCreatePass||va(t,n);const r=t.initialInputs;for(let s=o;snull;function Xd(e,n,t,o,i,r){Xa(e,n[1],n,t,o)?pn(e)&&function ey(e,n){const t=at(n,e);16&t[2]||(t[2]|=64)}(n,e.index):(3&e.type&&(t=function tN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(t)),function ef(e,n,t,o,i,r){if(3&e.type){const s=Le(e,n);o=null!=r?r(o,e.value||"",t):o,i.setProperty(s,t,o)}}(e,n,t,o,i,r))}function iN(e,n){null!==e.hostBindings&&e.hostBindings(1,n)}function tf(e,n){const t=e.directiveRegistry;let o=null;if(t)for(let i=0;i{ci(e.lView)},consumerOnSignalRead(){this.lView[24]=this}},_N={...Qo,consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:e=>{let n=_n(e.lView);for(;n&&!ry(n[1]);)n=_n(n);n&&kp(n)},consumerOnSignalRead(){this.lView[24]=this}};function ry(e){return 2!==e.type}function sy(e){if(null===e[23])return;let n=!0;for(;n;){let t=!1;for(const o of e[23])o.dirty&&(t=!0,null===o.zone||Zone.current===o.zone?o.run():o.zone.run(()=>o.run()));n=t&&!!(8192&e[2])}}function tl(e,n=0){const o=e[10].rendererFactory;o.begin?.();try{!function yN(e,n){const t=qp();try{la(!0),of(e,n);let o=0;for(;sa(e);){if(100===o)throw new T(103,!1);o++,of(e,1)}}finally{la(t)}}(e,n)}finally{o.end?.()}}function ay(e,n,t,o){if(mn(n))return;const i=n[2];Lu(n);let a=!0,l=null,c=null;ry(e)?(c=function fN(e){return e[24]??function hN(e){const n=iy.pop()??Object.create(pN);return n.lView=e,n}(e)}(n),l=Ko(c)):null===function jc(){return Je}()?(a=!1,c=function mN(e){const n=e[24]??Object.create(_N);return n.lView=e,n}(n),l=Ko(c)):n[24]&&(ur(n[24]),n[24]=null);try{Rp(n),function Zp(e){return G.lFrame.bindingIndex=e}(e.bindingStartIndex),null!==t&&Jv(e,n,t,2,o);const u=!(3&~i);if(u){const h=e.preOrderCheckHooks;null!==h&&pa(n,h,null)}else{const h=e.preOrderHooks;null!==h&&ma(n,h,0,null),Wu(n,0)}if(function CN(e){for(let n=u_(e);null!==n;n=d_(n)){if(!(2&n[2]))continue;const t=n[9];for(let o=0;o0&&(t[i-1][4]=n),o0&&(e[t-1][4]=o[4]);const r=Ks(e,10+n);!function Uv(e,n){$v(e,n),n[0]=null,n[5]=null}(o[1],o);const s=r[18];null!==s&&s.detachView(r[1]),o[3]=null,o[4]=null,o[2]&=-129}return o}function hy(e,n){const t=e[9],o=n[3];(Me(o)||n[15]!==o[3][15])&&(e[2]|=2),null===t?e[9]=[n]:t.push(n)}class Qr{_lView;_cdRefInjectingView;_appRef=null;_attachedToViewContainer=!1;exhaustive;get rootNodes(){const n=this._lView,t=n[1];return Zr(t,n,t.firstChild,[])}constructor(n,t){this._lView=n,this._cdRefInjectingView=t}get context(){return this._lView[8]}set context(n){this._lView[8]=n}get destroyed(){return mn(this._lView)}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const n=this._lView[3];if(st(n)){const t=n[8],o=t?t.indexOf(this):-1;o>-1&&(Yr(n,o),Ks(t,o))}this._attachedToViewContainer=!1}qr(this._lView[1],this._lView)}onDestroy(n){aa(this._lView,n)}markForCheck(){Oi(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[2]&=-129}reattach(){Su(this._lView),this._lView[2]|=128}detectChanges(){this._lView[2]|=1024,tl(this._lView)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new T(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;const n=Hn(this._lView),t=this._lView[16];null!==t&&!n&&qd(t,this._lView),$v(this._lView[1],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new T(902,!1);this._appRef=n;const t=Hn(this._lView),o=this._lView[16];null!==o&&!t&&hy(o,this._lView),Su(this._lView)}}let Tn=(()=>class e{_declarationLView;_declarationTContainer;elementRef;static __NG_ELEMENT_ID__=EN;constructor(t,o,i){this._declarationLView=t,this._declarationTContainer=o,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,o){return this.createEmbeddedViewImpl(t,o)}createEmbeddedViewImpl(t,o,i){const r=Ni(this._declarationLView,this._declarationTContainer,t,{embeddedViewInjector:o,dehydratedView:i});return new Qr(r)}})();function EN(){return nl(q(),w())}function nl(e,n){return 4&e.type?new Tn(n,e,yi(e,n)):null}function xo(e,n,t,o,i){let r=e.data[n];if(null===r)r=function cf(e,n,t,o,i){const r=Up(),s=$p(),l=e.data[n]=function RN(e,n,t,o,i,r){let s=n?n.injectorIndex:-1,a=0;return function Hp(){return null!==G.skipHydrationRootTNode}()&&(a|=128),{type:t,index:o,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:i,attrs:r,mergedAttrs:null,localNames:null,initialInputs:null,inputs:null,hostDirectiveInputs:null,outputs:null,hostDirectiveOutputs:null,directiveToIndex:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?r:r&&r.parent,t,n,o,i);return function xN(e,n,t,o){null===e.firstChild&&(e.firstChild=n),null!==t&&(o?null==t.child&&null!==n.parent&&(t.child=n):null===t.next&&(t.next=n,n.prev=t))}(e,l,r,s),l}(e,n,t,o,i),function ST(){return G.lFrame.inI18n}()&&(r.flags|=32);else if(64&r.type){r.type=t,r.value=o,r.attrs=i;const s=function Dr(){const e=G.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();r.injectorIndex=null===s?-1:s.injectorIndex}return vn(r,!0),r}function xy(e,n){let t=0,o=e.firstChild;if(o){const i=e.data.r;for(;tclass e{destroyNode=null;static __NG_ELEMENT_ID__=()=>function _O(){const e=w(),t=at(q().index,e);return(Me(t)?t:e)[Y]}()})(),vO=(()=>{class e{static \u0275prov=X({token:e,providedIn:"root",factory:()=>null})}return e})();const vf={};class Fi{injector;parentInjector;constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,o){const i=this.injector.get(n,vf,o);return i!==vf||t===vf?i:this.parentInjector.get(n,t,o)}}function fl(e,n,t){let o=t?e.styles:null,i=t?e.classes:null,r=0;if(null!==n)for(let s=0;s0&&(t.directiveToIndex=new Map);for(let g=0;g0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,o,r)}}(e,n,o,zr(e,t,i.hostVars,ce),i)}function NO(e,n,t){if(t){if(n.exportAs)for(let o=0;o{const[t,o,i]=e[n],r={propName:t,templateName:n,isSignal:0!==(o&Ua.SignalBased)};return i&&(r.transform=i),r})}(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=function GO(e){return Object.keys(e).map(n=>({propName:e[n],templateName:n}))}(this.componentDef.outputs),this.cachedOutputs}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function DA(e){return e.map(bA).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors??[],this.isBoundToModule=!!t}create(n,t,o,i,r,s){fe(22);const a=z(null);try{const l=this.componentDef,c=function QO(e,n,t,o){const i=e?["ng-version","20.3.15"]:function wA(e){const n=[],t=[];let o=1,i=2;for(;o{if(1&t&&e)for(const o of e)o.create();if(2&t&&n)for(const o of n)o.update()}:null}(r,s),1,a,l,null,null,null,[i],null)}(o,l,s,r),u=function WO(e,n,t){let o=n instanceof Lt?n:n?.injector;return o&&null!==e.getStandaloneInjector&&(o=e.getStandaloneInjector(o)||o),o?new Fi(t,o):t}(l,i||this.ngModule,n),d=function qO(e){const n=e.get(mf,null);if(null===n)throw new T(407,!1);return{rendererFactory:n,sanitizer:e.get(vO,null),changeDetectionScheduler:e.get(fi,null),ngReflect:!1}}(u),g=d.rendererFactory.createRenderer(null,l),h=o?function JA(e,n,t,o){const r=o.get(ZS,!1)||t===Mn.ShadowDom,s=e.selectRootElement(n,r);return function XA(e){Xv(e)}(s),s}(g,o,l.encapsulation,u):function ZO(e,n){const t=function YO(e){return(e.selectors[0][0]||"div").toLowerCase()}(e);return Va(n,t,"svg"===t?"svg":"math"===t?"math":null)}(l,g),p=s?.some(Qy)||r?.some(N=>"function"!=typeof N&&N.bindings.some(Qy)),b=ja(null,c,null,512|Ld(l),null,null,d,g,u,null,null);b[H]=h,Lu(b);let I=null;try{const N=yf(H,b,2,"#host",()=>c.directiveRegistry,!0,0);gv(g,h,N),vt(h,b),Ya(c,b,N),Ed(c,N,b),Cf(c,N),void 0!==t&&function XO(e,n,t){const o=e.projection=[];for(let i=0;iclass e{static __NG_ELEMENT_ID__=ex})();function ex(){return Xy(q(),w())}const tx=ln,Ky=class extends tx{_lContainer;_hostTNode;_hostLView;constructor(n,t,o){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=o}get element(){return yi(this._hostTNode,this._hostLView)}get injector(){return new Se(this._hostTNode,this._hostLView)}get parentInjector(){const n=ya(this._hostTNode,this._hostLView);if(Zu(n)){const t=Rr(n,this._hostLView),o=xr(n);return new Se(t[1].data[o+8],t)}return new Se(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=Jy(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-10}createEmbeddedView(n,t,o){let i,r;"number"==typeof o?i=o:null!=o&&(i=o.index,r=o.injector);const a=n.createEmbeddedViewImpl(t||{},r,null);return this.insertImpl(a,i,Oo(this._hostTNode,null)),a}createComponent(n,t,o,i,r,s,a){const l=n&&!function Nr(e){return"function"==typeof e}(n);let c;if(l)c=t;else{const I=t||{};c=I.index,o=I.injector,i=I.projectableNodes,r=I.environmentInjector||I.ngModuleRef,s=I.directives,a=I.bindings}const u=l?n:new Df(le(n)),d=o||this.parentInjector;if(!r&&null==u.ngModule){const N=(l?d:this.parentInjector).get(Lt,null);N&&(r=N)}le(u.componentType??{});const b=u.create(d,i,null,r,s,a);return this.insertImpl(b.hostView,c,Oo(this._hostTNode,null)),b}insert(n,t){return this.insertImpl(n,t,!0)}insertImpl(n,t,o){const i=n._lView;if(function DT(e){return st(e[3])}(i)){const a=this.indexOf(n);if(-1!==a)this.detach(a);else{const l=i[3],c=new Ky(l,l[5],l[3]);c.detach(c.indexOf(n))}}const r=this._adjustIndex(t),s=this._lContainer;return xi(s,i,r,o),n.attachToViewContainerRef(),gp(wf(s),r,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=Jy(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),o=Yr(this._lContainer,t);o&&(Ks(wf(this._lContainer),t),qr(o[1],o))}detach(n){const t=this._adjustIndex(n,-1),o=Yr(this._lContainer,t);return o&&null!=Ks(wf(this._lContainer),t)?new Qr(o):null}_adjustIndex(n,t=0){return n??this.length+t}};function Jy(e){return e[8]}function wf(e){return e[8]||(e[8]=[])}function Xy(e,n){let t;const o=n[e.index];return st(o)?t=o:(t=dy(o,n,null,e),n[e.index]=t,Pd(n,t)),eC(t,n,e,o),new Ky(t,e,n)}let eC=function nC(e,n,t,o){if(e[7])return;let i;i=8&t.type?$e(o):function nx(e,n){const t=e[Y],o=t.createComment(""),i=Le(n,e),r=t.parentNode(i);return So(t,r,o,t.nextSibling(i),!1),o}(n,t),e[7]=i};class Mf{queryList;matches=null;constructor(n){this.queryList=n}clone(){return new Mf(this.queryList)}setDirty(){this.queryList.setDirty()}}class If{queries;constructor(n=[]){this.queries=n}createEmbeddedView(n){const t=n.queries;if(null!==t){const o=null!==n.contentQueries?n.contentQueries[0]:t.length,i=[];for(let r=0;rn.trim())}(n):n}}class Tf{queries;constructor(n=[]){this.queries=n}elementStart(n,t){for(let o=0;o0)o.push(s[a/2]);else{const c=r[a+1],u=n[-l];for(let d=10;dt()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class gC extends yx{moduleType;constructor(n){super(),this.moduleType=n}create(n){return new kf(this.moduleType,n,[])}}class Dx extends Fo{injector;componentFactoryResolver=new Yy(this);instance=null;constructor(n){super();const t=new _o([...n.providers,{provide:Fo,useValue:this},{provide:ul,useValue:this.componentFactoryResolver}],n.parent||Cu(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}let wx=(()=>{class e{_injector;cachedInjectors=new Map;constructor(t){this._injector=t}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){const o=pu(0,t.type),i=o.length>0?function pC(e,n,t=null){return new Dx({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}([o],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,i)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}static \u0275prov=X({token:e,providedIn:"environment",factory:()=>new e(oe(Lt))})}return e})();function qt(e){return wn(()=>{const n=_C(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===Da.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:n.standalone?i=>i.get(wx).getOrCreateStandaloneInjector(t):null,getExternalStyles:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Mn.Emulated,styles:e.styles||_e,_:null,schemas:e.schemas||null,tView:null,id:""};n.standalone&&nt("NgStandalone"),vC(t);const o=e.dependencies;return t.directiveDefs=ml(o,mC),t.pipeDefs=ml(o,Gt),t.id=function Tx(e){let n=0;const o=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,"function"==typeof e.consts?"":e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery];for(const r of o.join("|"))n=Math.imul(31,n)+r.charCodeAt(0)|0;return n+=2147483648,"c"+n}(t),t})}function mC(e){return le(e)||rt(e)}function Qn(e){return wn(()=>({type:e.type,bootstrap:e.bootstrap||_e,declarations:e.declarations||_e,imports:e.imports||_e,exports:e.exports||_e,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Ex(e,n){if(null==e)return tn;const t={};for(const o in e)if(e.hasOwnProperty(o)){const i=e[o];let r,s,a,l;Array.isArray(i)?(a=i[0],r=i[1],s=i[2]??r,l=i[3]||null):(r=i,s=i,a=Ua.None,l=null),t[r]=[o,a,l],n[r]=s}return t}function Mx(e){if(null==e)return tn;const n={};for(const t in e)e.hasOwnProperty(t)&&(n[e[t]]=t);return n}function W(e){return wn(()=>{const n=_C(e);return vC(n),n})}function yt(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:e.standalone??!0,onDestroy:e.type.prototype.ngOnDestroy||null}}function _C(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputConfig:e.inputs||tn,exportAs:e.exportAs||null,standalone:e.standalone??!0,signals:!0===e.signals,selectors:e.selectors||_e,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,resolveHostDirectives:null,hostDirectives:null,inputs:Ex(e.inputs,n),outputs:Mx(e.outputs),debugInfo:null}}function vC(e){e.features?.forEach(n=>n(e))}function ml(e,n){return e?()=>{const t="function"==typeof e?e():e,o=[];for(const i of t){const r=n(i);null!==r&&o.push(r)}return o}:null}function ae(e){let n=function yC(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),t=!0;const o=[e];for(;n;){let i;if(At(e))i=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new T(903,!1);i=n.\u0275dir}if(i){if(t){o.push(i);const s=e;s.inputs=Ff(e.inputs),s.declaredInputs=Ff(e.declaredInputs),s.outputs=Ff(e.outputs);const a=i.hostBindings;a&&xx(e,a);const l=i.viewQuery,c=i.contentQueries;if(l&&Nx(e,l),c&&Ox(e,c),Sx(e,i),PI(e.outputs,i.outputs),At(i)&&i.data.animation){const u=e.data;u.animation=(u.animation||[]).concat(i.data.animation)}}const r=i.features;if(r)for(let s=0;s=0;o--){const i=e[o];i.hostVars=n+=i.hostVars,i.hostAttrs=vi(i.hostAttrs,t=vi(t,i.hostAttrs))}}(o)}function Sx(e,n){for(const t in n.inputs){if(!n.inputs.hasOwnProperty(t)||e.inputs.hasOwnProperty(t))continue;const o=n.inputs[t];void 0!==o&&(e.inputs[t]=o,e.declaredInputs[t]=n.declaredInputs[t])}}function Ff(e){return e===tn?{}:e===_e?[]:e}function Nx(e,n){const t=e.viewQuery;e.viewQuery=t?(o,i)=>{n(o,i),t(o,i)}:n}function Ox(e,n){const t=e.contentQueries;e.contentQueries=t?(o,i,r)=>{n(o,i,r),t(o,i,r)}:n}function xx(e,n){const t=e.hostBindings;e.hostBindings=t?(o,i)=>{n(o,i),t(o,i)}:n}function EC(e,n,t,o,i,r,s,a){if(t.firstCreatePass){e.mergedAttrs=vi(e.mergedAttrs,e.attrs);const u=e.tView=Fd(2,e,i,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,t.consts,null);null!==t.queries&&(t.queries.template(t,e),u.queries=t.queries.embeddedTView(e))}a&&(e.flags|=a),vn(e,!1);const l=IC(t,n,e,o);ua()&&Kd(t,n,l,e),vt(l,n);const c=dy(l,n,l,e);n[o+H]=c,Pd(n,c)}function Lo(e,n,t,o,i,r,s,a,l,c,u){const d=t+H;let g;if(n.firstCreatePass){if(g=xo(n,d,4,s||null,a||null),null!=c){const h=tt(n.consts,c);g.localNames=[];for(let p=0;p{class e{_ngZone;registry;_isZoneStable=!0;_callbacks=[];_taskTrackingZone=null;_destroyRef;constructor(t,o,i){this._ngZone=t,this.registry=o,wu()&&(this._destroyRef=F(bn,{optional:!0})??void 0),Gf||(function ZR(e){Gf=e}(i),i.addToWindow(o)),this._watchAngularEvents(),t.run(()=>{this._taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){const t=this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),o=this._ngZone.runOutsideAngular(()=>this._ngZone.onStable.subscribe({next:()=>{re.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}}));this._destroyRef?.onDestroy(()=>{t.unsubscribe(),o.unsubscribe()})}isStable(){return this._isZoneStable&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb()}});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(o=>!o.updateCb||!o.updateCb(t)||(clearTimeout(o.timeoutId),!1))}}getPendingTasks(){return this._taskTrackingZone?this._taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,o,i){let r=-1;o&&o>0&&(r=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==r),t()},o)),this._callbacks.push({doneCb:t,timeoutId:r,updateCb:i})}whenStable(t,o,i){if(i&&!this._taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,o,i),this._runCallbacksIfReady()}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,o,i){return[]}static \u0275fac=function(o){return new(o||e)(oe(re),oe(zf),oe(Ml))};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})(),zf=(()=>{class e{_applications=new Map;registerApplication(t,o){this._applications.set(t,o)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,o=!0){return Gf?.findTestabilityInTree(this,t,o)??null}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function Il(e){return!!e&&"function"==typeof e.then}function tb(e){return!!e&&"function"==typeof e.subscribe}const nb=new R("");let ob=(()=>{class e{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((t,o)=>{this.resolve=t,this.reject=o});appInits=F(nb,{optional:!0})??[];injector=F(Vt);constructor(){}runInitializers(){if(this.initialized)return;const t=[];for(const i of this.appInits){const r=Mp(this.injector,i);if(Il(r))t.push(r);else if(tb(r)){const s=new Promise((a,l)=>{r.subscribe({complete:a,error:l})});t.push(s)}}const o=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{o()}).catch(i=>{this.reject(i)}),0===t.length&&o(),this.initialized=!0}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const YR=new R("");function ib(e,n){return Array.isArray(n)?n.reduce(ib,e):{...e,...n}}let Jn=(()=>{class e{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=F(Dn);afterRenderManager=F(Lv);zonelessEnabled=F(lm);rootEffectScheduler=F(fm);dirtyFlags=0;tracingSnapshot=null;allTestViews=new Set;autoDetectTestViews=new Set;includeAllTestViews=!1;afterTick=new Xt;get allViews(){return[...(this.includeAllTestViews?this.allTestViews:this.autoDetectTestViews).keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];internalPendingTask=F(Eo);get isStable(){return this.internalPendingTask.hasPendingTasksObservable.pipe($u(t=>!t))}constructor(){F(Wr,{optional:!0})}whenStable(){let t;return new Promise(o=>{t=this.isStable.subscribe({next:i=>{i&&o()}})}).finally(()=>{t.unsubscribe()})}_injector=F(Lt);_rendererFactory=null;get injector(){return this._injector}bootstrap(t,o){return this.bootstrapImpl(t,o)}bootstrapImpl(t,o,i=Vt.NULL){return this._injector.get(re).run(()=>{fe(10);const s=t instanceof Vy;if(!this._injector.get(ob).done)throw new T(405,"");let l;l=s?t:this._injector.get(ul).resolveComponentFactory(t),this.componentTypes.push(l.componentType);const c=function KR(e){return e.isBoundToModule}(l)?void 0:this._injector.get(Fo),d=l.create(i,[],o||l.selector,c),g=d.location.nativeElement,h=d.injector.get(eb,null);return h?.registerApplication(g),d.onDestroy(()=>{this.detachView(d.hostView),Tl(this.components,d),h?.unregisterApplication(g)}),this._loadComponent(d),fe(11,d),d})}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){fe(12),null!==this.tracingSnapshot?this.tracingSnapshot.run(Bd.CHANGE_DETECTION,this.tickImpl):this.tickImpl()}tickImpl=()=>{if(this._runningTick)throw new T(101,!1);const t=z(null);try{this._runningTick=!0,this.synchronize()}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,z(t),this.afterTick.next(),fe(13)}};synchronize(){null===this._rendererFactory&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(mf,null,{optional:!0}));let t=0;for(;0!==this.dirtyFlags&&t++<10;)fe(14),this.synchronizeOnce(),fe(15)}synchronizeOnce(){16&this.dirtyFlags&&(this.dirtyFlags&=-17,this.rootEffectScheduler.flush());let t=!1;if(7&this.dirtyFlags){const o=!!(1&this.dirtyFlags);this.dirtyFlags&=-8,this.dirtyFlags|=8;for(let{_lView:i}of this.allViews)(o||sa(i))&&(tl(i,o&&!this.zonelessEnabled?0:1),t=!0);if(this.dirtyFlags&=-5,this.syncDirtyFlagsWithViews(),23&this.dirtyFlags)return}t||(this._rendererFactory?.begin?.(),this._rendererFactory?.end?.()),8&this.dirtyFlags&&(this.dirtyFlags&=-9,this.afterRenderManager.execute()),this.syncDirtyFlagsWithViews()}syncDirtyFlagsWithViews(){this.allViews.some(({_lView:t})=>sa(t))?this.dirtyFlags|=2:this.dirtyFlags&=-8}attachView(t){const o=t;this._views.push(o),o.attachToAppRef(this)}detachView(t){const o=t;Tl(this._views,o),o.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView);try{this.tick()}catch(i){this.internalErrorHandler(i)}this.components.push(t),this._injector.get(YR,[]).forEach(i=>i(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>Tl(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new T(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Tl(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function ct(e,n,t,o){const i=w();return De(i,mt(),n)&&(K(),function rN(e,n,t,o,i,r){const s=Le(e,n);!function Qa(e,n,t,o,i,r,s){if(null==r)e.removeAttribute(n,i,t);else{const a=null==s?Z(r):s(r,o||"",i);e.setAttribute(n,i,a,t)}}(n[Y],s,r,e.value,t,o,i)}(on(),i,e,n,t,o)),ct}typeof document<"u"&&document;class Zk{destroy(n){}updateValue(n,t){}swap(n,t){const o=Math.min(n,t),i=Math.max(n,t),r=this.detach(i);if(i-o>1){const s=this.detach(o);this.attach(o,r),this.attach(i,s)}else this.attach(o,r)}move(n,t){this.attach(t,this.detach(n))}}function nh(e,n,t,o,i){return e===t&&Object.is(n,o)?1:Object.is(i(e,n),i(t,o))?-1:0}function oh(e,n,t,o){return!(void 0===n||!n.has(o)||(e.attach(t,n.get(o)),n.delete(o),0))}function _b(e,n,t,o,i){if(oh(e,n,o,t(o,i)))e.updateValue(o,i);else{const r=e.create(o,i);e.attach(o,r)}}function vb(e,n,t,o){const i=new Set;for(let r=n;r<=t;r++)i.add(o(r,e.at(r)));return i}class yb{kvMap=new Map;_vMap=void 0;has(n){return this.kvMap.has(n)}delete(n){if(!this.has(n))return!1;const t=this.kvMap.get(n);return void 0!==this._vMap&&this._vMap.has(t)?(this.kvMap.set(n,this._vMap.get(t)),this._vMap.delete(t)):this.kvMap.delete(n),!0}get(n){return this.kvMap.get(n)}set(n,t){if(this.kvMap.has(n)){let o=this.kvMap.get(n);void 0===this._vMap&&(this._vMap=new Map);const i=this._vMap;for(;i.has(o);)o=i.get(o);i.set(o,t)}else this.kvMap.set(n,t)}forEach(n){for(let[t,o]of this.kvMap)if(n(o,t),void 0!==this._vMap){const i=this._vMap;for(;i.has(o);)o=i.get(o),n(o,t)}}}function y(e,n,t,o,i,r,s,a){nt("NgControlFlow");const l=w(),c=K();return Lo(l,c,e,n,t,o,i,tt(c.consts,r),256,s,a),ih}function ih(e,n,t,o,i,r,s,a){nt("NgControlFlow");const l=w(),c=K();return Lo(l,c,e,n,t,o,i,tt(c.consts,r),512,s,a),ih}function C(e,n){nt("NgControlFlow");const t=w(),o=mt(),i=t[o]!==ce?t[o]:-1,r=-1!==i?Ll(t,H+i):void 0;if(De(t,o,e)){const a=z(null);try{if(void 0!==r&&rf(r,0),-1!==e){const l=H+e,c=Ll(t,l),u=rh(t[1],l),d=null;xi(c,Ni(t,u,n,{dehydratedView:d}),0,Oo(u,d))}}finally{z(a)}}else if(void 0!==r){const a=fy(r,0);void 0!==a&&(a[8]=n)}}class Qk{lContainer;$implicit;$index;constructor(n,t,o){this.lContainer=n,this.$implicit=t,this.$index=o}get $count(){return this.lContainer.length-10}}function Ye(e,n){return n}class Jk{hasEmptyBlock;trackByFn;liveCollection;constructor(n,t,o){this.hasEmptyBlock=n,this.trackByFn=t,this.liveCollection=o}}function Qe(e,n,t,o,i,r,s,a,l,c,u,d,g){nt("NgControlFlow");const h=w(),p=K(),b=void 0!==l,I=w(),N=a?s.bind(I[15][8]):s,E=new Jk(b,N);I[H+e]=E,Lo(h,p,e+1,n,t,o,i,tt(p.consts,r),256),b&&Lo(h,p,e+2,l,c,u,d,tt(p.consts,g),512)}class Xk extends Zk{lContainer;hostLView;templateTNode;operationsCounter=void 0;needsIndexUpdate=!1;constructor(n,t,o){super(),this.lContainer=n,this.hostLView=t,this.templateTNode=o}get length(){return this.lContainer.length-10}at(n){return this.getLView(n)[8].$implicit}attach(n,t){const o=t[6];this.needsIndexUpdate||=n!==this.length,xi(this.lContainer,t,n,Oo(this.templateTNode,o)),function eF(e,n){if(e.length<=10)return;const o=e[10+n],i=o?o[26]:void 0;o&&i&&i.detachedLeaveAnimationFns&&i.detachedLeaveAnimationFns.length>0&&(function UA(e,n){const t=e.get(Ga);if(n.detachedLeaveAnimationFns){for(const o of n.detachedLeaveAnimationFns)t.queue.delete(o);n.detachedLeaveAnimationFns=void 0}}(o[9],i),Ao.delete(o),i.detachedLeaveAnimationFns=void 0)}(this.lContainer,n)}detach(n){return this.needsIndexUpdate||=n!==this.length-1,function tF(e,n){if(e.length<=10)return;const o=e[10+n],i=o?o[26]:void 0;i&&i.leave&&i.leave.size>0&&(i.detachedLeaveAnimationFns=[])}(this.lContainer,n),function nF(e,n){return Yr(e,n)}(this.lContainer,n)}create(n,t){const i=Ni(this.hostLView,this.templateTNode,new Qk(this.lContainer,t,n),{dehydratedView:null});return this.operationsCounter?.recordCreate(),i}destroy(n){qr(n[1],n),this.operationsCounter?.recordDestroy()}updateValue(n,t){this.getLView(n)[8].$implicit=t}reset(){this.needsIndexUpdate=!1,this.operationsCounter?.reset()}updateIndexes(){if(this.needsIndexUpdate)for(let n=0;n{e.destroy(l)})}(l,e,r.trackByFn),l.updateIndexes(),r.hasEmptyBlock){const c=mt(),u=0===l.length;if(De(o,c,u)){const d=t+2,g=Ll(o,d);if(u){const h=rh(i,d),p=null;xi(g,Ni(o,h,void 0,{dehydratedView:p}),0,Oo(h,p))}else i.firstUpdatePass&&function al(e){const n=e[6]??[],o=e[3][Y],i=[];for(const r of n)void 0!==r.data.di?i.push(r):xy(r,o);e[6]=i}(g),rf(g,0)}}}finally{z(n)}}function Ll(e,n){return e[n]}function rh(e,n){return li(e,n)}function A(e,n,t){const o=w();return De(o,mt(),n)&&(K(),Xd(on(),o,e,n,o[Y],t)),A}function sh(e,n,t,o,i){Xa(n,e,t,i?"class":"style",o)}function v(e,n,t,o){const i=w(),r=i[1],s=e+H,a=r.firstCreatePass?yf(s,i,2,n,tf,xu(),t,o):r.data[s];if(function Ka(e,n,t,o,i){const r=H+t,s=n[1],a=i(s,n,e,o,t);n[r]=a,vn(e,!0);const l=2===e.type;return l?(gv(n[Y],a,e),(0===function ET(){return G.lFrame.elementDepthCount}()||si(e))&&vt(a,n),function MT(){G.lFrame.elementDepthCount++}()):vt(a,n),ua()&&(!l||!Sa(e))&&Kd(s,n,a,e),e}(a,i,e,n,ch),si(a)){const l=i[1];Ya(l,i,a),Ed(l,a,i)}return null!=o&&Ai(i,a),v}function _(){const e=K(),t=Ja(q());return e.firstCreatePass&&Cf(e,t),function Bp(e){return G.skipHydrationRootTNode===e}(t)&&function jp(){G.skipHydrationRootTNode=null}(),function Vp(){G.lFrame.elementDepthCount--}(),null!=t.classesWithoutHost&&function q0(e){return!!(8&e.flags)}(t)&&sh(e,t,w(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function Z0(e){return!!(16&e.flags)}(t)&&sh(e,t,w(),t.stylesWithoutHost,!1),_}function O(e,n,t,o){return v(e,n,t,o),_(),O}let ch=(e,n,t,o,i)=>(wr(!0),Va(n[Y],o,function LT(){return G.lFrame.currentNamespace}()));function ue(){return w()}const Hl="en-US";let Sb=Hl;function U(e,n,t){const o=w(),i=K(),r=q();return ph(i,o,o[Y],r,e,n,t),U}function ph(e,n,t,o,i,r,s){let a=!0,l=null;if((3&o.type||s)&&(l??=as(o,n,r),function qy(e,n,t,o,i,r,s,a){const l=si(e);let c=!1,u=null;if(!o&&l&&(u=function LO(e,n,t,o){const i=e.cleanup;if(null!=i)for(let r=0;rl?a[l]:null}"string"==typeof s&&(r+=2)}return null}(n,t,r,e.index)),null!==u)(u.__ngLastListenerFn__||u).__ngNextListenerFn__=s,u.__ngLastListenerFn__=s,c=!0;else{const d=Le(e,t),g=o?o(d):d,h=i.listen(g,r,a);(function FO(e){return e.startsWith("animation")||e.startsWith("transition")})(r)||Zy(o?b=>o($e(b[e.index])):e.index,n,t,r,a,h,!1)}return c}(o,e,n,s,t,i,r,l)&&(a=!1)),a){const c=o.outputs?.[i],u=o.hostDirectiveOutputs?.[i];if(u&&u.length)for(let d=0;d0;)n=n[14],e--;return n}(e,G.lFrame.contextLView))[8]}(e)}function Zb(e,n,t,o){!function aC(e,n,t,o){const i=K();if(i.firstCreatePass){const r=q();lC(i,new oC(n,t,o),r.index),function ux(e,n){const t=e.contentQueries||(e.contentQueries=[]);n!==(t.length?t[t.length-1]:-1)&&t.push(e.queries.length-1,n)}(i,e),!(2&~t)&&(i.staticContentQueries=!0)}return rC(i,w(),t)}(e,n,t,o)}function Ot(e,n,t){!function sC(e,n,t){const o=K();return o.firstCreatePass&&(lC(o,new oC(e,n,t),-1),!(2&~n)&&(o.staticViewQueries=!0)),rC(o,w(),n)}(e,n,t)}function wt(e){const n=w(),t=K(),o=Fu();ca(o+1);const i=Of(t,o);if(e.dirty&&function bT(e){return!(4&~e[2])}(n)===!(2&~i.metadata.flags)){if(null===i.matches)e.reset([]);else{const r=cC(n,o);e.reset(r,Xm),e.notifyOnChanges()}return!0}return!1}function Et(){return function Nf(e,n){return e[18].queries[n].queryList}(w(),Fu())}function $l(e,n){return e<<17|n<<2}function zo(e){return e>>17&32767}function mh(e){return 2|e}function Wi(e){return(131068&e)>>2}function _h(e,n){return-131069&e|n<<2}function vh(e){return 1|e}function Yb(e,n,t,o){const i=e[t+1],r=null===n;let s=o?zo(i):Wi(i),a=!1;for(;0!==s&&(!1===a||r);){const c=e[s+1];lL(e[s],n)&&(a=!0,e[s+1]=o?vh(c):mh(c)),s=o?zo(c):Wi(c)}a&&(e[t+1]=o?mh(i):vh(i))}function lL(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&_r(e,n)>=0}const Be={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Qb(e){return e.substring(Be.key,Be.keyEnd)}function Kb(e,n){const t=Be.textEnd;return t===n?-1:(n=Be.keyEnd=function fL(e,n,t){for(;n32;)n++;return n}(e,Be.key=n,t),qi(e,n,t))}function qi(e,n,t){for(;n=0;t=Kb(n,t))Xs(e,Qb(n),!0)}function nD(e,n,t,o){const i=w(),r=K(),s=Cn(2);r.firstUpdatePass&&rD(r,e,s,o),n!==ce&&De(i,s,n)&&aD(r,r.data[qe()],i,i[Y],e,i[s+1]=function ML(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=gt(Gn(e)))),e}(n,t),o,s)}function iD(e,n){return n>=e.expandoStartIndex}function rD(e,n,t,o){const i=e.data;if(null===i[t+1]){const r=i[qe()],s=iD(e,t);cD(r,o)&&null===n&&!s&&(n=!1),n=function vL(e,n,t,o){const i=function ku(e){const n=G.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let r=o?n.residualClasses:n.residualStyles;if(null===i)0===(o?n.classBindings:n.styleBindings)&&(t=ys(t=yh(null,e,n,t,o),n.attrs,o),r=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==i)if(t=yh(i,e,n,t,o),null===r){let l=function yL(e,n,t){const o=t?n.classBindings:n.styleBindings;if(0!==Wi(o))return e[zo(o)]}(e,n,o);void 0!==l&&Array.isArray(l)&&(l=yh(null,e,n,l[1],o),l=ys(l,n.attrs,o),function CL(e,n,t,o){e[zo(t?n.classBindings:n.styleBindings)]=o}(e,n,o,l))}else r=function bL(e,n,t){let o;const i=n.directiveEnd;for(let r=1+n.directiveStylingLast;r0)&&(c=!0)):u=t,i)if(0!==l){const g=zo(e[a+1]);e[o+1]=$l(g,a),0!==g&&(e[g+1]=_h(e[g+1],o)),e[a+1]=function iL(e,n){return 131071&e|n<<17}(e[a+1],o)}else e[o+1]=$l(a,0),0!==a&&(e[a+1]=_h(e[a+1],o)),a=o;else e[o+1]=$l(l,0),0===a?a=o:e[l+1]=_h(e[l+1],o),l=o;c&&(e[o+1]=mh(e[o+1])),Yb(e,u,o,!0),Yb(e,u,o,!1),function aL(e,n,t,o,i){const r=i?e.residualClasses:e.residualStyles;null!=r&&"string"==typeof n&&_r(r,n)>=0&&(t[o+1]=vh(t[o+1]))}(n,u,e,o,r),s=$l(a,l),r?n.classBindings=s:n.styleBindings=s}(i,r,n,t,s,o)}}function yh(e,n,t,o,i){let r=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[i],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let g=t[i+1];g===ce&&(g=d?_e:void 0);let h=d?fu(g,o):u===o?g:void 0;if(c&&!Gl(h)&&(h=fu(l,o)),Gl(h)&&(a=h,s))return a;const p=e[i+1];i=s?zo(p):Wi(p)}if(null!==n){let l=r?n.residualClasses:n.residualStyles;null!=l&&(a=fu(l,o))}return a}function Gl(e){return void 0!==e}function cD(e,n){return!!(e.flags&(n?8:16))}function D(e,n=""){const t=w(),o=K(),i=e+H,r=o.firstCreatePass?xo(o,i,1,n,null):o.data[i],s=uD(o,t,r,n,e);t[i]=s,ua()&&Kd(o,t,s,r),vn(r,!1)}let uD=(e,n,t,o,i)=>(wr(!0),function xd(e,n){return e.createText(n)}(n[Y],o));function fD(e,n,t,o=""){return De(e,mt(),t)?n+Z(t)+o:ce}function k(e){return P("",e),k}function P(e,n,t){const o=w(),i=fD(o,e,n,t);return i!==ce&&function Nn(e,n,t){const o=ai(n,e);!function uv(e,n,t){e.setValue(n,t)}(e[Y],o,t)}(o,qe(),i),P}function je(e,n,t){am(n)&&(n=n());const o=w();return De(o,mt(),n)&&(K(),Xd(on(),o,e,n,o[Y],t)),je}function ye(e,n){const t=am(e);return t&&e.set(n),t}function Ge(e,n){const t=w(),o=K(),i=q();return ph(o,t,t[Y],i,e,n),Ge}function On(e){return De(w(),mt(),e)?Z(e):ce}function Ut(e,n,t=""){return fD(w(),e,n,t)}function Ch(e,n,t,o,i){if(e=Q(e),Array.isArray(e))for(let r=0;r>20;if(fn(e)||!e.multi){const h=new Or(c,i,x,null),p=Dh(l,n,i?u:u+g,d);-1===p?(Ku(va(a,s),r,l),bh(r,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,i&&(a.providerIndexes+=1048576),t.push(h),s.push(h)):(t[p]=h,s[p]=h)}else{const h=Dh(l,n,u+g,d),p=Dh(l,n,u,u+g),I=p>=0&&t[p];if(i&&!I||!i&&!(h>=0&&t[h])){Ku(va(a,s),r,l);const N=function jL(e,n,t,o,i){const s=new Or(e,t,x,null);return s.multi=[],s.index=n,s.componentProviders=0,ND(s,i,o&&!t),s}(i?BL:HL,t.length,i,o,c);!i&&I&&(t[p].providerFactory=N),bh(r,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,i&&(a.providerIndexes+=1048576),t.push(N),s.push(N)}else bh(r,e,h>-1?h:p,ND(t[i?p:h],c,!i&&o));!i&&o&&I&&t[p].componentProviders++}}}function bh(e,n,t,o){const i=fn(n),r=function Dp(e){return!!e.useClass}(n);if(i||r){const l=(r?Q(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!i&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[o,l]):c[u+1].push(o,l)}else c.push(t,l)}}}function ND(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function Dh(e,n,t,o){for(let i=t;i{t.providersResolver=(o,i)=>function VL(e,n,t){const o=K();if(o.firstCreatePass){const i=At(e);Ch(t,o.data,o.blueprint,i,!0),Ch(n,o.data,o.blueprint,i,!1)}}(o,i?i(e):e,n)}}function Zi(e,n,t,o){return function xD(e,n,t,o,i,r){const s=n+t;return De(e,s,i)?an(e,s+1,r?o.call(r,i):o(i)):Cs(e,s+1)}(w(),lt(),e,n,t,o)}function Eh(e,n,t,o,i){return function RD(e,n,t,o,i,r,s){const a=n+t;return ko(e,a,i,r)?an(e,a+2,s?o.call(s,i,r):o(i,r)):Cs(e,a+2)}(w(),lt(),e,n,t,o,i)}function Ne(e,n,t,o,i,r){return kD(w(),lt(),e,n,t,o,i,r)}function Cs(e,n){const t=e[n];return t===ce?void 0:t}function kD(e,n,t,o,i,r,s,a){const l=n+t;return function gl(e,n,t,o,i){const r=ko(e,n,t,o);return De(e,n+2,i)||r}(e,l,i,r,s)?an(e,l+3,a?o.call(a,i,r,s):o(i,r,s)):Cs(e,l+3)}let RP=(()=>{class e{zone=F(re);changeDetectionScheduler=F(fi);applicationRef=F(Jn);applicationErrorHandler=F(Dn);_onMicrotaskEmptySubscription;initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{try{this.applicationRef.dirtyFlags|=1,this.applicationRef._tick()}catch(t){this.applicationErrorHandler(t)}})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function nw({ngZoneFactory:e,ignoreChangesOutsideZone:n,scheduleInRootZone:t}){return e??=()=>new re({...Ah(),scheduleInRootZone:t}),[{provide:re,useFactory:e},{provide:mo,multi:!0,useFactory:()=>{const o=F(RP,{optional:!0});return()=>o.initialize()}},{provide:mo,multi:!0,useFactory:()=>{const o=F(FP);return()=>{o.initialize()}}},!0===n?{provide:cm,useValue:!0}:[],{provide:um,useValue:t??Nv},{provide:Dn,useFactory:()=>{const o=F(re),i=F(Lt);let r;return s=>{o.runOutsideAngular(()=>{i.destroyed&&!r?setTimeout(()=>{throw s}):(r??=i.get(di),r.handleError(s))})}}}]}function Ah(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}let FP=(()=>{class e{subscription=new It;initialized=!1;zone=F(re);pendingTasks=F(Eo);initialize(){if(this.initialized)return;this.initialized=!0;let t=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(t=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{re.assertNotInAngularZone(),queueMicrotask(()=>{null!==t&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(t),t=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{re.assertInAngularZone(),t??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),rw=(()=>{class e{applicationErrorHandler=F(Dn);appRef=F(Jn);taskService=F(Eo);ngZone=F(re);zonelessEnabled=F(lm);tracing=F(Wr,{optional:!0});disableScheduling=F(cm,{optional:!0})??!1;zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new It;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(za):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(F(um,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()})),this.disableScheduling||=!this.zonelessEnabled&&(this.ngZone instanceof zd||!this.zoneIsDefined)}notify(t){if(!this.zonelessEnabled&&5===t)return;let o=!1;switch(t){case 0:this.appRef.dirtyFlags|=2;break;case 3:case 2:case 4:case 5:case 1:this.appRef.dirtyFlags|=4;break;case 6:case 13:this.appRef.dirtyFlags|=2,o=!0;break;case 12:this.appRef.dirtyFlags|=16,o=!0;break;case 11:o=!0;break;default:this.appRef.dirtyFlags|=8}if(this.appRef.tracingSnapshot=this.tracing?.snapshot(this.appRef.tracingSnapshot)??null,!this.shouldScheduleTick(o))return;const i=this.useMicrotaskScheduler?xv:Ov;this.pendingRenderTaskId=this.taskService.add(),this.cancelScheduledCallback=this.scheduleInRootZone?Zone.root.run(()=>i(()=>this.tick())):this.ngZone.runOutsideAngular(()=>i(()=>this.tick()))}shouldScheduleTick(t){return!(this.disableScheduling&&!t||this.appRef.destroyed||null!==this.pendingRenderTaskId||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(za+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;if(0===this.appRef.dirtyFlags)return void this.cleanup();!this.zonelessEnabled&&7&this.appRef.dirtyFlags&&(this.appRef.dirtyFlags|=1);const t=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(o){this.taskService.remove(t),this.applicationErrorHandler(o)}finally{this.cleanup()}this.useMicrotaskScheduler=!0,xv(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(t)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,null!==this.pendingRenderTaskId){const t=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(t)}}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const to=new R("",{providedIn:"root",factory:()=>F(to,{optional:!0,skipSelf:!0})||function LP(){return typeof $localize<"u"&&$localize.locale||Hl}()});new R("").__NG_ELEMENT_ID__=e=>{const n=q();if(null===n)throw new T(204,!1);if(2&n.type)return n.value;if(8&e)return null;throw new T(204,!1)};const Jl=new R(""),YP=new R("");function ws(e){return!e.moduleRef}let mw;function _w(){mw=QP}function QP(e,n){const t=e.injector.get(Jn);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(o=>t.bootstrap(o));else{if(!e.instance.ngDoBootstrap)throw new T(-403,!1);e.instance.ngDoBootstrap(t)}n.push(e)}let vw=(()=>{class e{_injector;_modules=[];_destroyListeners=[];_destroyed=!1;constructor(t){this._injector=t}bootstrapModuleFactory(t,o){const i=o?.scheduleInRootZone,s=o?.ignoreChangesOutsideZone,a=[nw({ngZoneFactory:()=>function VA(e="zone.js",n){return"noop"===e?new zd:"zone.js"===e?new re(n):e}(o?.ngZone,{...Ah({eventCoalescing:o?.ngZoneEventCoalescing,runCoalescing:o?.ngZoneRunCoalescing}),scheduleInRootZone:i}),ignoreChangesOutsideZone:s}),{provide:fi,useExisting:rw},VT],l=function bx(e,n,t){return new kf(e,n,t,!1)}(t.moduleType,this.injector,a);return _w(),function pw(e){const n=ws(e)?e.r3Injector:e.moduleRef.injector,t=n.get(re);return t.run(()=>{ws(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();const o=n.get(Dn);let i;if(t.runOutsideAngular(()=>{i=t.onError.subscribe({next:o})}),ws(e)){const r=()=>n.destroy(),s=e.platformInjector.get(Jl);s.add(r),n.onDestroy(()=>{i.unsubscribe(),s.delete(r)})}else{const r=()=>e.moduleRef.destroy(),s=e.platformInjector.get(Jl);s.add(r),e.moduleRef.onDestroy(()=>{Tl(e.allPlatformModules,e.moduleRef),i.unsubscribe(),s.delete(r)})}return function KP(e,n,t){try{const o=t();return Il(o)?o.catch(i=>{throw n.runOutsideAngular(()=>e(i)),i}):o}catch(o){throw n.runOutsideAngular(()=>e(o)),o}}(o,t,()=>{const r=n.get(Eo),s=r.add(),a=n.get(ob);return a.runInitializers(),a.donePromise.then(()=>{if(function fF(e){"string"==typeof e&&(Sb=e.toLowerCase().replace(/_/g,"-"))}(n.get(to,Hl)||Hl),!n.get(YP,!0))return ws(e)?n.get(Jn):(e.allPlatformModules.push(e.moduleRef),e.moduleRef);if(ws(e)){const u=n.get(Jn);return void 0!==e.rootComponent&&u.bootstrap(e.rootComponent),u}return mw?.(e.moduleRef,e.allPlatformModules),e.moduleRef}).finally(()=>{r.remove(s)})})})}({moduleRef:l,allPlatformModules:this._modules,platformInjector:this.injector})}bootstrapModule(t,o=[]){const i=ib({},o);return _w(),function GP(e,n,t){const o=new gC(t);return Promise.resolve(o)}(0,0,t).then(r=>this.bootstrapModuleFactory(r,i))}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new T(404,!1);this._modules.slice().forEach(o=>o.destroy()),this._destroyListeners.forEach(o=>o());const t=this._injector.get(Jl,null);t&&(t.forEach(o=>o()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static \u0275fac=function(o){return new(o||e)(oe(Vt))};static \u0275prov=X({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),Ki=null;function yw(e,n,t=[]){const o=`Platform: ${n}`,i=new R(o);return(r=[])=>{let s=Xl();if(!s){const a=[...t,...r,{provide:i,useValue:!0}];s=e?.(a)??function JP(e){if(Xl())throw new T(400,!1);(function QR(){!function CI(e){Wg=e}(()=>{throw new T(600,"")})})(),Ki=e;const n=e.get(vw);return function bw(e){const n=e.get(y_,null);Mp(e,()=>{n?.forEach(t=>t())})}(e),n}(function Cw(e=[],n){return Vt.create({name:n,providers:[{provide:vu,useValue:"platform"},{provide:Jl,useValue:new Set([()=>Ki=null])},...e]})}(a,o))}return function XP(){const n=Xl();if(!n)throw new T(-401,!1);return n}()}}function Xl(){return Ki?.get(vw)??null}let Es=(()=>class e{static __NG_ELEMENT_ID__=t2})();function t2(e){return function n2(e,n,t){if(pn(e)&&!t){const o=at(e.index,n);return new Qr(o,o)}return 175&e.type?new Qr(n[15],n):null}(q(),w(),!(16&~e))}class Iw{constructor(){}supports(n){return n instanceof Map||bf(n)}create(){return new a2}}class a2{_records=new Map;_mapHead=null;_appendAfter=null;_previousMapHead=null;_changesHead=null;_changesTail=null;_additionsHead=null;_additionsTail=null;_removalsHead=null;_removalsTail=null;get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(n){let t;for(t=this._mapHead;null!==t;t=t._next)n(t)}forEachPreviousItem(n){let t;for(t=this._previousMapHead;null!==t;t=t._nextPrevious)n(t)}forEachChangedItem(n){let t;for(t=this._changesHead;null!==t;t=t._nextChanged)n(t)}forEachAddedItem(n){let t;for(t=this._additionsHead;null!==t;t=t._nextAdded)n(t)}forEachRemovedItem(n){let t;for(t=this._removalsHead;null!==t;t=t._nextRemoved)n(t)}diff(n){if(n){if(!(n instanceof Map||bf(n)))throw new T(900,!1)}else n=new Map;return this.check(n)?this:null}onDestroy(){}check(n){this._reset();let t=this._mapHead;if(this._appendAfter=null,this._forEach(n,(o,i)=>{if(t&&t.key===i)this._maybeAddToChanges(t,o),this._appendAfter=t,t=t._next;else{const r=this._getOrCreateRecordForKey(i,o);t=this._insertBeforeOrAppend(t,r)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let o=t;null!==o;o=o._nextRemoved)o===this._mapHead&&(this._mapHead=null),this._records.delete(o.key),o._nextRemoved=o._next,o.previousValue=o.currentValue,o.currentValue=null,o._prev=null,o._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const o=n._prev;return t._next=n,t._prev=o,n._prev=t,o&&(o._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const i=this._records.get(n);this._maybeAddToChanges(i,t);const r=i._prev,s=i._next;return r&&(r._next=s),s&&(s._prev=r),i._next=null,i._prev=null,i}const o=new l2(n);return this._records.set(n,o),o.currentValue=t,this._addToAdditions(o),o}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(o=>t(n[o],o))}}class l2{key;previousValue=null;currentValue=null;_nextPrevious=null;_next=null;_prev=null;_nextAdded=null;_nextRemoved=null;_nextChanged=null;constructor(n){this.key=n}}function Sw(){return new ec([new Iw])}let ec=(()=>{class e{static \u0275prov=X({token:e,providedIn:"root",factory:Sw});factories;constructor(t){this.factories=t}static create(t,o){if(o){const i=o.factories.slice();t=t.concat(i)}return new e(t)}static extend(t){return{provide:e,useFactory:()=>{const o=F(e,{optional:!0,skipSelf:!0});return e.create(t,o||Sw())}}}find(t){const o=this.factories.find(i=>i.supports(t));if(o)return o;throw new T(901,!1)}}return e})();const d2=yw(null,"core",[]);let f2=(()=>{class e{constructor(t){}static \u0275fac=function(o){return new(o||e)(oe(Jn))};static \u0275mod=Qn({type:e});static \u0275inj=dn({})}return e})();function Pe(e){return function U2(e){const n=z(null);try{return e()}finally{z(n)}}(e)}function Zt(e,n){return function _I(e,n){const t=Object.create(vI);t.computation=e,void 0!==n&&(t.equal=n);const o=()=>{if(lr(t),Vs(t),t.value===Rn)throw t.error;return t.value};return o[We]=t,o}(e,n?.equal)}Error,Error;const Zh=/\s+/,iE=[];let Xi=(()=>{class e{_ngEl;_renderer;initialClasses=iE;rawClass;stateMap=new Map;constructor(t,o){this._ngEl=t,this._renderer=o}set klass(t){this.initialClasses=null!=t?t.trim().split(Zh):iE}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(Zh):t}ngDoCheck(){for(const o of this.initialClasses)this._updateState(o,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const o of t)this._updateState(o,!0);else if(null!=t)for(const o of Object.keys(t))this._updateState(o,!!t[o]);this._applyStateDiff()}_updateState(t,o){const i=this.stateMap.get(t);void 0!==i?(i.enabled!==o&&(i.changed=!0,i.enabled=o),i.touched=!0):this.stateMap.set(t,{enabled:o,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const o=t[0],i=t[1];i.changed?(this._toggleClass(o,i.enabled),i.changed=!1):i.touched||(i.enabled&&this._toggleClass(o,!1),this.stateMap.delete(o)),i.touched=!1}}_toggleClass(t,o){(t=t.trim()).length>0&&t.split(Zh).forEach(i=>{o?this._renderer.addClass(this._ngEl.nativeElement,i):this._renderer.removeClass(this._ngEl.nativeElement,i)})}static \u0275fac=function(o){return new(o||e)(x(Nt),x(Sn))};static \u0275dir=W({type:e,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"}})}return e})(),cE=(()=>{class e{_ngEl;_differs;_renderer;_ngStyle=null;_differ=null;constructor(t,o,i){this._ngEl=t,this._differs=o,this._renderer=i}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,o){const[i,r]=t.split("."),s=-1===i.indexOf("-")?void 0:qn.DashCase;null!=o?this._renderer.setStyle(this._ngEl.nativeElement,i,r?`${o}${r}`:o,s):this._renderer.removeStyle(this._ngEl.nativeElement,i,s)}_applyChanges(t){t.forEachRemovedItem(o=>this._setStyle(o.key,null)),t.forEachAddedItem(o=>this._setStyle(o.key,o.currentValue)),t.forEachChangedItem(o=>this._setStyle(o.key,o.currentValue))}static \u0275fac=function(o){return new(o||e)(x(Nt),x(ec),x(Sn))};static \u0275dir=W({type:e,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}})}return e})(),uE=(()=>{class e{_viewContainerRef;_viewRef=null;ngTemplateOutletContext=null;ngTemplateOutlet=null;ngTemplateOutletInjector=null;constructor(t){this._viewContainerRef=t}ngOnChanges(t){if(this._shouldRecreateView(t)){const o=this._viewContainerRef;if(this._viewRef&&o.remove(o.indexOf(this._viewRef)),!this.ngTemplateOutlet)return void(this._viewRef=null);const i=this._createContextForwardProxy();this._viewRef=o.createEmbeddedView(this.ngTemplateOutlet,i,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(t){return!!t.ngTemplateOutlet||!!t.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(t,o,i)=>!!this.ngTemplateOutletContext&&Reflect.set(this.ngTemplateOutletContext,o,i),get:(t,o,i)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,o,i)}})}static \u0275fac=function(o){return new(o||e)(x(ln))};static \u0275dir=W({type:e,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},features:[En]})}return e})();let fE=(()=>{class e{transform(t,o,i){if(null==t)return null;if("string"!=typeof t&&!Array.isArray(t))throw function Qt(e,n){return new T(2100,!1)}();return t.slice(o,i)}static \u0275fac=function(o){return new(o||e)};static \u0275pipe=yt({name:"slice",type:e,pure:!1})}return e})(),hE=(()=>{class e{static \u0275fac=function(o){return new(o||e)};static \u0275mod=Qn({type:e});static \u0275inj=dn({})}return e})();class gE{_doc;constructor(n){this._doc=n}manager}let Xh=(()=>{class e extends gE{constructor(t){super(t)}supports(t){return!0}addEventListener(t,o,i,r){return t.addEventListener(o,i,r),()=>this.removeEventListener(t,o,i,r)}removeEventListener(t,o,i,r){return t.removeEventListener(o,i,r)}static \u0275fac=function(o){return new(o||e)(oe(Bn))};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})();const eg=new R("");let pE=(()=>{class e{_zone;_plugins;_eventNameToPlugin=new Map;constructor(t,o){this._zone=o,t.forEach(s=>{s.manager=this});const i=t.filter(s=>!(s instanceof Xh));this._plugins=i.slice().reverse();const r=t.find(s=>s instanceof Xh);r&&this._plugins.push(r)}addEventListener(t,o,i,r){return this._findPluginFor(o).addEventListener(t,o,i,r)}getZone(){return this._zone}_findPluginFor(t){let o=this._eventNameToPlugin.get(t);if(o)return o;if(o=this._plugins.find(r=>r.supports(t)),!o)throw new T(5101,!1);return this._eventNameToPlugin.set(t,o),o}static \u0275fac=function(o){return new(o||e)(oe(eg),oe(re))};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})();const tg="ng-app-id";function mE(e){for(const n of e)n.remove()}function _E(e,n){const t=n.createElement("style");return t.textContent=e,t}function ng(e,n){const t=n.createElement("link");return t.setAttribute("rel","stylesheet"),t.setAttribute("href",e),t}let vE=(()=>{class e{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(t,o,i,r={}){this.doc=t,this.appId=o,this.nonce=i,function vH(e,n,t,o){const i=e.head?.querySelectorAll(`style[${tg}="${n}"],link[${tg}="${n}"]`);if(i)for(const r of i)r.removeAttribute(tg),r instanceof HTMLLinkElement?o.set(r.href.slice(r.href.lastIndexOf("/")+1),{usage:0,elements:[r]}):r.textContent&&t.set(r.textContent,{usage:0,elements:[r]})}(t,o,this.inline,this.external),this.hosts.add(t.head)}addStyles(t,o){for(const i of t)this.addUsage(i,this.inline,_E);o?.forEach(i=>this.addUsage(i,this.external,ng))}removeStyles(t,o){for(const i of t)this.removeUsage(i,this.inline);o?.forEach(i=>this.removeUsage(i,this.external))}addUsage(t,o,i){const r=o.get(t);r?r.usage++:o.set(t,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,i(t,this.doc)))})}removeUsage(t,o){const i=o.get(t);i&&(i.usage--,i.usage<=0&&(mE(i.elements),o.delete(t)))}ngOnDestroy(){for(const[,{elements:t}]of[...this.inline,...this.external])mE(t);this.hosts.clear()}addHost(t){this.hosts.add(t);for(const[o,{elements:i}]of this.inline)i.push(this.addElement(t,_E(o,this.doc)));for(const[o,{elements:i}]of this.external)i.push(this.addElement(t,ng(o,this.doc)))}removeHost(t){this.hosts.delete(t)}addElement(t,o){return this.nonce&&o.setAttribute("nonce",this.nonce),t.appendChild(o)}static \u0275fac=function(o){return new(o||e)(oe(Bn),oe(Pr),oe(b_,8),oe(C_))};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})();const og={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},ig=/%COMP%/g,EH=new R("",{providedIn:"root",factory:()=>!0});function CE(e,n){return n.map(t=>t.replace(ig,e))}let bE=(()=>{class e{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;platformIsServer;constructor(t,o,i,r,s,a,l=null,c=null){this.eventManager=t,this.sharedStylesHost=o,this.appId=i,this.removeStylesOnCompDestroy=r,this.doc=s,this.ngZone=a,this.nonce=l,this.tracingService=c,this.platformIsServer=!1,this.defaultRenderer=new rg(t,s,a,this.platformIsServer,this.tracingService)}createRenderer(t,o){if(!t||!o)return this.defaultRenderer;const i=this.getOrCreateRenderer(t,o);return i instanceof wE?i.applyToHost(t):i instanceof sg&&i.applyStyles(),i}getOrCreateRenderer(t,o){const i=this.rendererByCompId;let r=i.get(o.id);if(!r){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,d=this.platformIsServer,g=this.tracingService;switch(o.encapsulation){case Mn.Emulated:r=new wE(l,c,o,this.appId,u,s,a,d,g);break;case Mn.ShadowDom:return new SH(l,c,t,o,s,a,this.nonce,d,g);default:r=new sg(l,c,o,u,s,a,d,g)}i.set(o.id,r)}return r}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(t){this.rendererByCompId.delete(t)}static \u0275fac=function(o){return new(o||e)(oe(pE),oe(vE),oe(Pr),oe(EH),oe(Bn),oe(re),oe(b_),oe(Wr,8))};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})();class rg{eventManager;doc;ngZone;platformIsServer;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(n,t,o,i,r){this.eventManager=n,this.doc=t,this.ngZone=o,this.platformIsServer=i,this.tracingService=r}destroy(){}destroyNode=null;createElement(n,t){return t?this.doc.createElementNS(og[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(DE(n)?n.content:n).appendChild(t)}insertBefore(n,t,o){n&&(DE(n)?n.content:n).insertBefore(t,o)}removeChild(n,t){t.remove()}selectRootElement(n,t){let o="string"==typeof n?this.doc.querySelector(n):n;if(!o)throw new T(-5104,!1);return t||(o.textContent=""),o}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,o,i){if(i){t=i+":"+t;const r=og[i];r?n.setAttributeNS(r,t,o):n.setAttribute(t,o)}else n.setAttribute(t,o)}removeAttribute(n,t,o){if(o){const i=og[o];i?n.removeAttributeNS(i,t):n.removeAttribute(`${o}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,o,i){i&(qn.DashCase|qn.Important)?n.style.setProperty(t,o,i&qn.Important?"important":""):n.style[t]=o}removeStyle(n,t,o){o&qn.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,o){null!=n&&(n[t]=o)}setValue(n,t){n.nodeValue=t}listen(n,t,o,i){if("string"==typeof n&&!(n=Mr().getGlobalEventTarget(this.doc,n)))throw new T(5102,!1);let r=this.decoratePreventDefault(o);return this.tracingService?.wrapEventListener&&(r=this.tracingService.wrapEventListener(n,t,r)),this.eventManager.addEventListener(n,t,r,i)}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===n(t)&&t.preventDefault()}}}function DE(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class SH extends rg{sharedStylesHost;hostEl;shadowRoot;constructor(n,t,o,i,r,s,a,l,c){super(n,r,s,l,c),this.sharedStylesHost=t,this.hostEl=o,this.shadowRoot=o.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let u=i.styles;u=CE(i.id,u);for(const g of u){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=g,this.shadowRoot.appendChild(h)}const d=i.getExternalStyles?.();if(d)for(const g of d){const h=ng(g,r);a&&h.setAttribute("nonce",a),this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,o){return super.insertBefore(this.nodeOrShadowRoot(n),t,o)}removeChild(n,t){return super.removeChild(null,t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class sg extends rg{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(n,t,o,i,r,s,a,l,c){super(n,r,s,a,l),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=i;let u=o.styles;this.styles=c?CE(c,u):u,this.styleUrls=o.getExternalStyles?.(c)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&0===Ao.size&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}}class wE extends sg{contentAttr;hostAttr;constructor(n,t,o,i,r,s,a,l,c){const u=i+"-"+o.id;super(n,t,o,r,s,a,l,c,u),this.contentAttr=function MH(e){return"_ngcontent-%COMP%".replace(ig,e)}(u),this.hostAttr=function IH(e){return"_nghost-%COMP%".replace(ig,e)}(u)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const o=super.createElement(n,t);return super.setAttribute(o,this.contentAttr,""),o}}class ag extends $T{supportsDOMEvents=!0;static makeCurrent(){!function UT(e){hm??=e}(new ag)}onAndCancel(n,t,o,i){return n.addEventListener(t,o,i),()=>{n.removeEventListener(t,o,i)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.remove()}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function AH(){return Ts=Ts||document.head.querySelector("base"),Ts?Ts.getAttribute("href"):null}();return null==t?null:function NH(e){return new URL(e,document.baseURI).pathname}(t)}resetBaseElement(){Ts=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return function WT(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const o=t.indexOf("="),[i,r]=-1==o?[t,""]:[t.slice(0,o),t.slice(o+1)];if(i.trim()===n)return decodeURIComponent(r)}return null}(document.cookie,n)}}let Ts=null,xH=(()=>{class e{build(){return new XMLHttpRequest}static \u0275fac=function(o){return new(o||e)};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})();const EE=["alt","control","meta","shift"],RH={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},kH={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let FH=(()=>{class e extends gE{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,o,i,r){const s=e.parseEventName(o),a=e.eventCallback(s.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Mr().onAndCancel(t,s.domEventName,a,r))}static parseEventName(t){const o=t.toLowerCase().split("."),i=o.shift();if(0===o.length||"keydown"!==i&&"keyup"!==i)return null;const r=e._normalizeKey(o.pop());let s="",a=o.indexOf("code");if(a>-1&&(o.splice(a,1),s="code."),EE.forEach(c=>{const u=o.indexOf(c);u>-1&&(o.splice(u,1),s+=c+".")}),s+=r,0!=o.length||0===r.length)return null;const l={};return l.domEventName=i,l.fullKey=s,l}static matchEventFullKeyCode(t,o){let i=RH[t.key]||t.key,r="";return o.indexOf("code.")>-1&&(i=t.code,r="code."),!(null==i||!i)&&(i=i.toLowerCase()," "===i?i="space":"."===i&&(i="dot"),EE.forEach(s=>{s!==i&&(0,kH[s])(t)&&(r+=s+".")}),r+=i,r===o)}static eventCallback(t,o,i){return r=>{e.matchEventFullKeyCode(r,t)&&i.runGuarded(()=>o(r))}}static _normalizeKey(t){return"esc"===t?"escape":t}static \u0275fac=function(o){return new(o||e)(oe(Bn))};static \u0275prov=X({token:e,factory:e.\u0275fac})}return e})();const HH=yw(d2,"browser",[{provide:C_,useValue:"browser"},{provide:y_,useValue:function LH(){ag.makeCurrent()},multi:!0},{provide:Bn,useFactory:function VH(){return function HS(e){rd=e}(document),document}}]),TE=[{provide:Ml,useClass:class OH{addToWindow(n){Ie.getAngularTestability=(o,i=!0)=>{const r=n.findTestabilityInTree(o,i);if(null==r)throw new T(5103,!1);return r},Ie.getAllAngularTestabilities=()=>n.getAllTestabilities(),Ie.getAllAngularRootElements=()=>n.getAllRootElements(),Ie.frameworkStabilizers||(Ie.frameworkStabilizers=[]),Ie.frameworkStabilizers.push(o=>{const i=Ie.getAllAngularTestabilities();let r=i.length;const s=function(){r--,0==r&&o()};i.forEach(a=>{a.whenStable(s)})})}findTestabilityInTree(n,t,o){return null==t?null:n.getTestability(t)??(o?Mr().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}}},{provide:eb,useClass:$f,deps:[re,zf,Ml]},{provide:$f,useClass:$f,deps:[re,zf,Ml]}],SE=[{provide:vu,useValue:"root"},{provide:di,useFactory:function PH(){return new di}},{provide:eg,useClass:Xh,multi:!0,deps:[Bn]},{provide:eg,useClass:FH,multi:!0,deps:[Bn]},bE,vE,pE,{provide:mf,useExisting:bE},{provide:class qT{},useClass:xH},[]];let BH=(()=>{class e{constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275mod=Qn({type:e});static \u0275inj=dn({providers:[...SE,...TE],imports:[hE,f2]})}return e})();function no(e){return this instanceof no?(this.v=e,this):new no(e)}function xE(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function dg(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],o=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},o("next"),o("throw"),o("return"),t[Symbol.asyncIterator]=function(){return this},t);function o(r){t[r]=e[r]&&function(s){return new Promise(function(a,l){!function i(r,s,a,l){Promise.resolve(l).then(function(c){r({value:c,done:a})},s)}(a,l,(s=e[r](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const RE=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function kE(e){return ke(e?.then)}function FE(e){return ke(e[Jc])}function LE(e){return Symbol.asyncIterator&&ke(e?.[Symbol.asyncIterator])}function PE(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const VE=function hB(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function HE(e){return ke(e?.[VE])}function BE(e){return function OE(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,o=t.apply(e,n||[]),r=[];return i=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",function s(h){return function(p){return Promise.resolve(p).then(h,d)}}),i[Symbol.asyncIterator]=function(){return this},i;function a(h,p){o[h]&&(i[h]=function(b){return new Promise(function(I,N){r.push([h,b,I,N])>1||l(h,b)})},p&&(i[h]=p(i[h])))}function l(h,p){try{!function c(h){h.value instanceof no?Promise.resolve(h.value.v).then(u,d):g(r[0][2],h)}(o[h](p))}catch(b){g(r[0][3],b)}}function u(h){l("next",h)}function d(h){l("throw",h)}function g(h,p){h(p),r.shift(),r.length&&l(r[0][0],r[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:o,done:i}=yield no(t.read());if(i)return yield no(void 0);yield yield no(o)}}finally{t.releaseLock()}})}function jE(e){return ke(e?.getReader)}function Ss(e){if(e instanceof ht)return e;if(null!=e){if(FE(e))return function gB(e){return new ht(n=>{const t=e[Jc]();if(ke(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(RE(e))return function pB(e){return new ht(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,ep)})}(e);if(LE(e))return UE(e);if(HE(e))return function _B(e){return new ht(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(jE(e))return function vB(e){return UE(BE(e))}(e)}throw PE(e)}function UE(e){return new ht(n=>{(function yB(e,n){var t,o,i,r;return function AE(e,n,t,o){return new(t||(t=Promise))(function(r,s){function a(u){try{c(o.next(u))}catch(d){s(d)}}function l(u){try{c(o.throw(u))}catch(d){s(d)}}function c(u){u.done?r(u.value):function i(r){return r instanceof t?r:new t(function(s){s(r)})}(u.value).then(a,l)}c((o=o.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=xE(e);!(o=yield t.next()).done;)if(n.next(o.value),n.closed)return}catch(s){i={error:s}}finally{try{o&&!o.done&&(r=t.return)&&(yield r.call(t))}finally{if(i)throw i.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function Wo(e,n,t,o=0,i=!1){const r=n.schedule(function(){t(),i?e.add(this.schedule(null,o)):this.unsubscribe()},o);if(e.add(r),!i)return r}function $E(e,n=0){return Mo((t,o)=>{t.subscribe(jn(o,i=>Wo(o,e,()=>o.next(i),n),()=>Wo(o,e,()=>o.complete(),n),i=>Wo(o,e,()=>o.error(i),n)))})}function zE(e,n=0){return Mo((t,o)=>{o.add(e.schedule(()=>t.subscribe(o),n))})}function GE(e,n){if(!e)throw new Error("Iterable cannot be null");return new ht(t=>{Wo(t,n,()=>{const o=e[Symbol.asyncIterator]();Wo(t,n,()=>{o.next().then(i=>{i.done?t.complete():t.next(i.value)})},0,!0)})})}const{isArray:TB}=Array,{getPrototypeOf:SB,prototype:AB,keys:NB}=Object;const{isArray:kB}=Array;function PB(e,n){return e.reduce((t,o,i)=>(t[o]=n[i],t),{})}function VB(...e){const n=function RB(e){return ke(function hg(e){return e[e.length-1]}(e))?e.pop():void 0}(e),{args:t,keys:o}=function OB(e){if(1===e.length){const n=e[0];if(TB(n))return{args:n,keys:null};if(function xB(e){return e&&"object"==typeof e&&SB(e)===AB}(n)){const t=NB(n);return{args:t.map(o=>n[o]),keys:t}}}return{args:e,keys:null}}(e),i=new ht(r=>{const{length:s}=t;if(!s)return void r.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!d)&&(c||r.next(o?PB(o,a):a),r.complete())}))}});return n?i.pipe(function LB(e){return $u(n=>function FB(e,n){return kB(n)?e(...n):e(n)}(e,n))}(n)):i}let WE=(()=>{class e{_renderer;_elementRef;onChange=t=>{};onTouched=()=>{};constructor(t,o){this._renderer=t,this._elementRef=o}setProperty(t,o){this._renderer.setProperty(this._elementRef.nativeElement,t,o)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static \u0275fac=function(o){return new(o||e)(x(Sn),x(Nt))};static \u0275dir=W({type:e})}return e})(),qo=(()=>{class e extends WE{static \u0275fac=(()=>{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,features:[ae]})}return e})();const Kt=new R(""),HB={provide:Kt,useExisting:ge(()=>gg),multi:!0};let gg=(()=>{class e extends qo{writeValue(t){this.setProperty("checked",t)}static \u0275fac=(()=>{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(o,i){1&o&&U("change",function(s){return i.onChange(s.target.checked)})("blur",function(){return i.onTouched()})},standalone:!1,features:[Ee([HB]),ae]})}return e})();const BB={provide:Kt,useExisting:ge(()=>As),multi:!0},UB=new R("");let As=(()=>{class e extends WE{_compositionMode;_composing=!1;constructor(t,o,i){super(t,o),this._compositionMode=i,null==this._compositionMode&&(this._compositionMode=!function jB(){const e=Mr()?Mr().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static \u0275fac=function(o){return new(o||e)(x(Sn),x(Nt),x(UB,8))};static \u0275dir=W({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(o,i){1&o&&U("input",function(s){return i._handleInput(s.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(s){return i._compositionEnd(s.target.value)})},standalone:!1,features:[Ee([BB]),ae]})}return e})();const ot=new R(""),oo=new R("");function tM(e){return null!=e}function nM(e){return Il(e)?function IB(e,n){return n?function MB(e,n){if(null!=e){if(FE(e))return function CB(e,n){return Ss(e).pipe(zE(n),$E(n))}(e,n);if(RE(e))return function DB(e,n){return new ht(t=>{let o=0;return n.schedule(function(){o===e.length?t.complete():(t.next(e[o++]),t.closed||this.schedule())})})}(e,n);if(kE(e))return function bB(e,n){return Ss(e).pipe(zE(n),$E(n))}(e,n);if(LE(e))return GE(e,n);if(HE(e))return function wB(e,n){return new ht(t=>{let o;return Wo(t,n,()=>{o=e[VE](),Wo(t,n,()=>{let i,r;try{({value:i,done:r}=o.next())}catch(s){return void t.error(s)}r?t.complete():t.next(i)},0,!0)}),()=>ke(o?.return)&&o.return()})}(e,n);if(jE(e))return function EB(e,n){return GE(BE(e),n)}(e,n)}throw PE(e)}(e,n):Ss(e)}(e):e}function oM(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function iM(e,n){return n.map(t=>t(e))}function rM(e){return e.map(n=>function zB(e){return!e.validate}(n)?n:t=>n.validate(t))}function _g(e){return null!=e?function sM(e){if(!e)return null;const n=e.filter(tM);return 0==n.length?null:function(t){return oM(iM(t,n))}}(rM(e)):null}function vg(e){return null!=e?function aM(e){if(!e)return null;const n=e.filter(tM);return 0==n.length?null:function(t){return VB(iM(t,n).map(nM)).pipe($u(oM))}}(rM(e)):null}function lM(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function yg(e){return e?Array.isArray(e)?e:[e]:[]}function _c(e,n){return Array.isArray(e)?e.includes(n):e===n}function dM(e,n){const t=yg(n);return yg(e).forEach(i=>{_c(t,i)||t.push(i)}),t}function fM(e,n){return yg(n).filter(t=>!_c(e,t))}class hM{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=_g(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=vg(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class ft extends hM{name;get formDirective(){return null}get path(){return null}}class io extends hM{_parent=null;name=null;valueAccessor=null}class gM{_cd;constructor(n){this._cd=n}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}}let vc=(()=>{class e extends gM{constructor(t){super(t)}static \u0275fac=function(o){return new(o||e)(x(io,2))};static \u0275dir=W({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(o,i){2&o&&An("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},standalone:!1,features:[ae]})}return e})();const Ns="VALID",Cc="INVALID",er="PENDING",Os="DISABLED";class tr{}class mM extends tr{value;source;constructor(n,t){super(),this.value=n,this.source=t}}class Dg extends tr{pristine;source;constructor(n,t){super(),this.pristine=n,this.source=t}}class wg extends tr{touched;source;constructor(n,t){super(),this.touched=n,this.source=t}}class bc extends tr{status;source;constructor(n,t){super(),this.status=n,this.source=t}}class Eg extends tr{source;constructor(n){super(),this.source=n}}function Dc(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class Tg{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(n,t){this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get status(){return Pe(this.statusReactive)}set status(n){Pe(()=>this.statusReactive.set(n))}_status=Zt(()=>this.statusReactive());statusReactive=wo(void 0);get valid(){return this.status===Ns}get invalid(){return this.status===Cc}get pending(){return this.status==er}get disabled(){return this.status===Os}get enabled(){return this.status!==Os}errors;get pristine(){return Pe(this.pristineReactive)}set pristine(n){Pe(()=>this.pristineReactive.set(n))}_pristine=Zt(()=>this.pristineReactive());pristineReactive=wo(!0);get dirty(){return!this.pristine}get touched(){return Pe(this.touchedReactive)}set touched(n){Pe(()=>this.touchedReactive.set(n))}_touched=Zt(()=>this.touchedReactive());touchedReactive=wo(!1);get untouched(){return!this.touched}_events=new Xt;events=this._events.asObservable();valueChanges;statusChanges;get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(dM(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(dM(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(fM(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(fM(n,this._rawAsyncValidators))}hasValidator(n){return _c(this._rawValidators,n)}hasAsyncValidator(n){return _c(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){const t=!1===this.touched;this.touched=!0;const o=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsTouched({...n,sourceControl:o}),t&&!1!==n.emitEvent&&this._events.next(new wg(!0,o))}markAllAsDirty(n={}){this.markAsDirty({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:this}),this._forEachChild(t=>t.markAllAsDirty(n))}markAllAsTouched(n={}){this.markAsTouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:this}),this._forEachChild(t=>t.markAllAsTouched(n))}markAsUntouched(n={}){const t=!0===this.touched;this.touched=!1,this._pendingTouched=!1;const o=n.sourceControl??this;this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:o})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,o),t&&!1!==n.emitEvent&&this._events.next(new wg(!1,o))}markAsDirty(n={}){const t=!0===this.pristine;this.pristine=!1;const o=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsDirty({...n,sourceControl:o}),t&&!1!==n.emitEvent&&this._events.next(new Dg(!1,o))}markAsPristine(n={}){const t=!1===this.pristine;this.pristine=!0,this._pendingDirty=!1;const o=n.sourceControl??this;this._forEachChild(i=>{i.markAsPristine({onlySelf:!0,emitEvent:n.emitEvent})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n,o),t&&!1!==n.emitEvent&&this._events.next(new Dg(!0,o))}markAsPending(n={}){this.status=er;const t=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new bc(this.status,t)),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.markAsPending({...n,sourceControl:t})}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Os,this.errors=null,this._forEachChild(i=>{i.disable({...n,onlySelf:!0})}),this._updateValue();const o=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new mM(this.value,o)),this._events.next(new bc(this.status,o)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t},this),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ns,this._forEachChild(o=>{o.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t},this),this._onDisabledChange.forEach(o=>o(!1))}_updateAncestors(n,t){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine({},t),this._parent._updateTouched({},t))}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){const o=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Ns||this.status===er)&&this._runAsyncValidator(o,n.emitEvent)}const t=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new mM(this.value,t)),this._events.next(new bc(this.status,t)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity({...n,sourceControl:t})}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Os:Ns}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n,t){if(this.asyncValidator){this.status=er,this._hasOwnPendingAsyncValidator={emitEvent:!1!==t,shouldHaveEmitted:!1!==n};const o=nM(this.asyncValidator(this));this._asyncValidationSubscription=o.subscribe(i=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(i,{emitEvent:t,shouldHaveEmitted:n})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();const n=(this._hasOwnPendingAsyncValidator?.emitEvent||this._hasOwnPendingAsyncValidator?.shouldHaveEmitted)??!1;return this._hasOwnPendingAsyncValidator=null,n}return!1}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent,this,t.shouldHaveEmitted)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((o,i)=>o&&o._find(i),this)}getError(n,t){const o=t?this.get(t):this;return o&&o.errors?o.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n,t,o){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),(n||o)&&this._events.next(new bc(this.status,t)),this._parent&&this._parent._updateControlsErrors(n,t,o)}_initObservables(){this.valueChanges=new ve,this.statusChanges=new ve}_calculateStatus(){return this._allControlsDisabled()?Os:this.errors?Cc:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(er)?er:this._anyControlsHaveStatus(Cc)?Cc:Ns}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n,t){const o=!this._anyControlsDirty(),i=this.pristine!==o;this.pristine=o,this._parent&&!n.onlySelf&&this._parent._updatePristine(n,t),i&&this._events.next(new Dg(this.pristine,t))}_updateTouched(n={},t){this.touched=this._anyControlsTouched(),this._events.next(new wg(this.touched,t)),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,t)}_onDisabledChange=[];_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Dc(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function JB(e){return Array.isArray(e)?_g(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function XB(e){return Array.isArray(e)?vg(e):e||null}(this._rawAsyncValidators)}}const nr=new R("",{providedIn:"root",factory:()=>wc}),wc="always";function xs(e,n,t=wc){(function Ag(e,n){const t=function cM(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(lM(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const o=function uM(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(lM(o,n.asyncValidator)):"function"==typeof o&&e.setAsyncValidators([o]);const i=()=>e.updateValueAndValidity();Ic(n._rawValidators,i),Ic(n._rawAsyncValidators,i)})(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function nj(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&CM(e,n)})}(e,n),function ij(e,n){const t=(o,i)=>{n.valueAccessor.writeValue(o),i&&n.viewToModelUpdate(o)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function oj(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&CM(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function tj(e,n){if(n.valueAccessor.setDisabledState){const t=o=>{n.valueAccessor.setDisabledState(o)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function Ic(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function CM(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function wM(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function EM(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}Promise.resolve();const MM=class extends Tg{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(n=null,t,o){super(function Mg(e){return(Dc(e)?e.validators:e)||null}(t),function Ig(e,n){return(Dc(n)?n.asyncValidators:e)||null}(o,t)),this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Dc(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=EM(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(o=>o(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1,!1!==t?.emitEvent&&this._events.next(new Eg(this))}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){wM(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){wM(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){EM(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},gj={provide:io,useExisting:ge(()=>ks)},IM=Promise.resolve();let ks=(()=>{class e extends io{_changeDetectorRef;callSetDisabledState;control=new MM;static ngAcceptInputType_isDisabled;_registered=!1;viewModel;name="";isDisabled;model;options;update=new ve;constructor(t,o,i,r,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this._parent=t,this._setValidators(o),this._setAsyncValidators(i),this.valueAccessor=function xg(e,n){if(!n)return null;let t,o,i;return Array.isArray(n),n.forEach(r=>{r.constructor===As?t=r:function aj(e){return Object.getPrototypeOf(e.constructor)===qo}(r)?o=r:i=r}),i||o||t||null}(0,r)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const o=t.name.previousValue;this.formDirective.removeControl({name:o,path:this._getPath(o)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function Og(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){xs(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._checkName()}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){IM.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const o=t.isDisabled.currentValue,i=0!==o&&function Lh(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}(o);IM.then(()=>{i&&!this.control.disabled?this.control.disable():!i&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function Ec(e,n){return[...n.path,e]}(t,this._parent):[t]}static \u0275fac=function(o){return new(o||e)(x(ft,9),x(ot,10),x(oo,10),x(Kt,10),x(Es,8),x(nr,8))};static \u0275dir=W({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:!1,features:[Ee([gj]),ae,En]})}return e})();const yj={provide:Kt,useExisting:ge(()=>Rg),multi:!0};let Rg=(()=>{class e extends qo{writeValue(t){this.setProperty("value",parseFloat(t))}registerOnChange(t){this.onChange=o=>{t(""==o?null:parseFloat(o))}}static \u0275fac=(()=>{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function(o,i){1&o&&U("change",function(s){return i.onChange(s.target.value)})("input",function(s){return i.onChange(s.target.value)})("blur",function(){return i.onTouched()})},standalone:!1,features:[Ee([yj]),ae]})}return e})();const Mj={provide:Kt,useExisting:ge(()=>Ls),multi:!0};function RM(e,n){return null==e?`${n}`:(n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let Ls=(()=>{class e extends qo{value;_optionMap=new Map;_idCounter=0;set compareWith(t){this._compareWith=t}_compareWith=Object.is;appRefInjector=F(Jn).injector;destroyRef=F(bn);cdr=F(Es);_queuedWrite=!1;_writeValueAfterRender(){this._queuedWrite||this.appRefInjector.destroyed||(this._queuedWrite=!0,Gd({write:()=>{this.destroyRef.destroyed||(this._queuedWrite=!1,this.writeValue(this.value))}},{injector:this.appRefInjector}))}writeValue(t){this.cdr.markForCheck(),this.value=t;const i=RM(this._getOptionId(t),t);this.setProperty("value",i)}registerOnChange(t){this.onChange=o=>{this.value=this._getOptionValue(o),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const o of this._optionMap.keys())if(this._compareWith(this._optionMap.get(o),t))return o;return null}_getOptionValue(t){const o=function Ij(e){return e.split(":")[0]}(t);return this._optionMap.has(o)?this._optionMap.get(o):t}static \u0275fac=(()=>{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(o,i){1&o&&U("change",function(s){return i.onChange(s.target.value)})("blur",function(){return i.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[Ee([Mj]),ae]})}return e})(),kg=(()=>{class e{_element;_renderer;_select;id;constructor(t,o,i){this._element=t,this._renderer=o,this._select=i,this._select&&(this.id=this._select._registerOption())}set ngValue(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(RM(this.id,t)),this._select._writeValueAfterRender())}set value(t){this._setElementValue(t),this._select&&this._select._writeValueAfterRender()}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select._writeValueAfterRender())}static \u0275fac=function(o){return new(o||e)(x(Nt),x(Sn),x(Ls,9))};static \u0275dir=W({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return e})();const Tj={provide:Kt,useExisting:ge(()=>Fg),multi:!0};function kM(e,n){return null==e?`${n}`:("string"==typeof n&&(n=`'${n}'`),n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let Fg=(()=>{class e extends qo{value;_optionMap=new Map;_idCounter=0;set compareWith(t){this._compareWith=t}_compareWith=Object.is;writeValue(t){let o;if(this.value=t,Array.isArray(t)){const i=t.map(r=>this._getOptionId(r));o=(r,s)=>{r._setSelected(i.indexOf(s.toString())>-1)}}else o=(i,r)=>{i._setSelected(!1)};this._optionMap.forEach(o)}registerOnChange(t){this.onChange=o=>{const i=[],r=o.selectedOptions;if(void 0!==r){const s=r;for(let a=0;a{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(o,i){1&o&&U("change",function(s){return i.onChange(s.target)})("blur",function(){return i.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[Ee([Tj]),ae]})}return e})(),Lg=(()=>{class e{_element;_renderer;_select;id;_value;constructor(t,o,i){this._element=t,this._renderer=o,this._select=i,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(kM(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(kM(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}_setSelected(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(o){return new(o||e)(x(Nt),x(Sn),x(Fg,9))};static \u0275dir=W({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return e})(),Pj=(()=>{class e{static \u0275fac=function(o){return new(o||e)};static \u0275mod=Qn({type:e});static \u0275inj=dn({})}return e})(),Hj=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:nr,useValue:t.callSetDisabledState??wc}]}}static \u0275fac=function(o){return new(o||e)};static \u0275mod=Qn({type:e});static \u0275inj=dn({imports:[Pj]})}return e})();class Bj extends It{constructor(n,t){super()}schedule(n,t=0){return this}}const Rc={setInterval(e,n,...t){const{delegate:o}=Rc;return o?.setInterval?o.setInterval(e,n,...t):setInterval(e,n,...t)},clearInterval(e){const{delegate:n}=Rc;return(n?.clearInterval||clearInterval)(e)},delegate:void 0},zM={now:()=>(zM.delegate||Date).now(),delegate:void 0};class Ps{constructor(n,t=Ps.now){this.schedulerActionCtor=n,this.now=t}schedule(n,t=0,o){return new this.schedulerActionCtor(this,n).schedule(o,t)}}Ps.now=zM.now;const GM=new class Uj extends Ps{constructor(n,t=Ps.now){super(n,t),this.actions=[],this._active=!1}flush(n){const{actions:t}=this;if(this._active)return void t.push(n);let o;this._active=!0;do{if(o=n.execute(n.state,n.delay))break}while(n=t.shift());if(this._active=!1,o){for(;n=t.shift();)n.unsubscribe();throw o}}}(class jj extends Bj{constructor(n,t){super(n,t),this.scheduler=n,this.work=t,this.pending=!1}schedule(n,t=0){var o;if(this.closed)return this;this.state=n;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=null!==(o=this.id)&&void 0!==o?o:this.requestAsyncId(r,this.id,t),this}requestAsyncId(n,t,o=0){return Rc.setInterval(n.flush.bind(n,this),o)}recycleAsyncId(n,t,o=0){if(null!=o&&this.delay===o&&!1===this.pending)return t;null!=t&&Rc.clearInterval(t)}execute(n,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const o=this._execute(n,t);if(o)return o;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,t){let i,o=!1;try{this.work(n)}catch(r){o=!0,i=r||new Error("Scheduled action threw falsy error")}if(o)return this.unsubscribe(),i}unsubscribe(){if(!this.closed){const{id:n,scheduler:t}=this,{actions:o}=t;this.work=this.state=this.scheduler=null,this.pending=!1,Us(o,this),null!=n&&(this.id=this.recycleAsyncId(t,n,null)),this.delay=null,super.unsubscribe()}}}),$j=GM;function WM(e,n=GM,t){const o=function qj(e=0,n,t=$j){let o=-1;return null!=n&&(function Gj(e){return e&&ke(e.schedule)}(n)?t=n:o=n),new ht(i=>{let r=function Wj(e){return e instanceof Date&&!isNaN(e)}(e)?+e-t.now():e;r<0&&(r=0);let s=0;return t.schedule(function(){i.closed||(i.next(s++),0<=o?this.schedule(void 0,o):i.complete())},r)})}(e,n);return function zj(e,n){return Mo((t,o)=>{const{leading:i=!0,trailing:r=!1}=n??{};let s=!1,a=null,l=null,c=!1;const u=()=>{l?.unsubscribe(),l=null,r&&(h(),c&&o.complete())},d=()=>{l=null,c&&o.complete()},g=p=>l=Ss(e(p)).subscribe(jn(o,u,d)),h=()=>{if(s){s=!1;const p=a;a=null,o.next(p),!c&&g(p)}};t.subscribe(jn(o,p=>{s=!0,a=p,(!l||l.closed)&&(i?h():g(p))},()=>{c=!0,(!(r&&s&&l)||l.closed)&&o.complete()}))})}(()=>o,t)}function qM(e,n,t){const o=ke(e)||n||t?{next:e,error:n,complete:t}:e;return o?Mo((i,r)=>{var s;null===(s=o.subscribe)||void 0===s||s.call(o);let a=!0;i.subscribe(jn(r,l=>{var c;null===(c=o.next)||void 0===c||c.call(o,l),r.next(l)},()=>{var l;a=!1,null===(l=o.complete)||void 0===l||l.call(o),r.complete()},l=>{var c;a=!1,null===(c=o.error)||void 0===c||c.call(o,l),r.error(l)},()=>{var l,c;a&&(null===(l=o.unsubscribe)||void 0===l||l.call(o)),null===(c=o.finalize)||void 0===c||c.call(o)}))}):Xc}function ZM(e,n=Xc){return e=e??Zj,Mo((t,o)=>{let i,r=!0;t.subscribe(jn(o,s=>{const a=n(s);(r||!e(i,a))&&(r=!1,i=a,o.next(s))}))})}function Zj(e,n){return e===n}var Rt=typeof window<"u"?window:{screen:{},navigator:{}},or=(Rt.matchMedia||function(){return{matches:!1}}).bind(Rt),YM=!1,QM=function(){};Rt.addEventListener&&Rt.addEventListener("p",QM,{get passive(){return YM=!0}}),Rt.removeEventListener&&Rt.removeEventListener("p",QM,!1);var KM=YM,Vg="ontouchstart"in Rt,XM=(Vg||"TouchEvent"in Rt&&or("(any-pointer: coarse)"),Rt.navigator.userAgent||"");or("(pointer: coarse)").matches&&/iPad|Macintosh/.test(XM)&&Math.min(Rt.screen.width||0,Rt.screen.height||0);(or("(pointer: coarse)").matches||!or("(pointer: fine)").matches&&Vg)&&/Windows.*Firefox/.test(XM),or("(any-pointer: fine)").matches||or("(any-hover: hover)");const tU=(e,n,t)=>({tooltip:e,placement:n,content:t});function nU(e,n){}function oU(e,n){1&e&&_l(0,nU,0,0,"ng-template")}function iU(e,n){if(1&e&&_l(0,oU,1,0,null,1),2&e){const t=m();A("ngTemplateOutlet",t.template)("ngTemplateOutletContext",Ne(2,tU,t.tooltip,t.placement,t.content))}}function rU(e,n){if(1&e&&(v(0,"div",0),D(1),_()),2&e){const t=m();ct("title",t.tooltip)("data-tooltip-placement",t.placement),f(),P(" ",t.content," ")}}const sU=["tooltipTemplate"],aU=["leftOuterSelectionBar"],lU=["rightOuterSelectionBar"],cU=["fullBar"],uU=["selectionBar"],dU=["minHandle"],fU=["maxHandle"],hU=["floorLabel"],gU=["ceilLabel"],pU=["minHandleLabel"],mU=["maxHandleLabel"],_U=["combinedLabel"],vU=["ticksElement"],yU=e=>({"ngx-slider-selected":e});function CU(e,n){if(1&e&&O(0,"ngx-slider-tooltip-wrapper",28),2&e){const t=m().$implicit;A("template",m().tooltipTemplate)("tooltip",t.valueTooltip)("placement",t.valueTooltipPlacement)("content",t.value)}}function bU(e,n){1&e&&O(0,"span",29),2&e&&A("innerText",m().$implicit.legend)}function DU(e,n){1&e&&O(0,"span",30),2&e&&A("innerHTML",m().$implicit.legend,pv)}function wU(e,n){if(1&e&&(v(0,"span",26),O(1,"ngx-slider-tooltip-wrapper",27),y(2,CU,1,4,"ngx-slider-tooltip-wrapper",28),y(3,bU,1,1,"span",29),y(4,DU,1,1,"span",30),_()),2&e){const t=n.$implicit,o=m();A("ngClass",Zi(8,yU,t.selected))("ngStyle",t.style),f(),A("template",o.tooltipTemplate)("tooltip",t.tooltip)("placement",t.tooltipPlacement),f(),C(null!=t.value?2:-1),f(),C(null!=t.legend&&!1===o.allowUnsafeHtmlInSlider?3:-1),f(),C(null==t.legend||null!=o.allowUnsafeHtmlInSlider&&!o.allowUnsafeHtmlInSlider?-1:4)}}var cn=function(e){return e[e.Low=0]="Low",e[e.High=1]="High",e[e.Floor=2]="Floor",e[e.Ceil=3]="Ceil",e[e.TickValue=4]="TickValue",e}(cn||{});class kc{floor=0;ceil=null;step=1;minRange=null;maxRange=null;pushRange=!1;minLimit=null;maxLimit=null;translate=null;combineLabels=null;getLegend=null;getStepLegend=null;stepsArray=null;bindIndexForStepsArray=!1;draggableRange=!1;draggableRangeOnly=!1;showSelectionBar=!1;showSelectionBarEnd=!1;showSelectionBarFromValue=null;showOuterSelectionBars=!1;hidePointerLabels=!1;hideLimitLabels=!1;autoHideLimitLabels=!0;readOnly=!1;disabled=!1;showTicks=!1;showTicksValues=!1;tickStep=null;tickValueStep=null;ticksArray=null;ticksTooltip=null;ticksValuesTooltip=null;vertical=!1;getSelectionBarColor=null;getTickColor=null;getPointerColor=null;keyboardSupport=!0;scale=1;rotate=0;enforceStep=!0;enforceRange=!0;enforceStepsArray=!0;noSwitching=!1;onlyBindHandles=!1;rightToLeft=!1;reversedControls=!1;boundPointerLabels=!0;logScale=!1;customValueToPosition=null;customPositionToValue=null;precisionLimit=12;selectionBarGradient=null;ariaLabel="ngx-slider";ariaLabelledBy=null;ariaLabelHigh="ngx-slider-max";ariaLabelledByHigh=null;handleDimension=null;barDimension=null;animate=!0;animateOnMove=!1}const nI=new R("AllowUnsafeHtmlInSlider");var L=function(e){return e[e.Min=0]="Min",e[e.Max=1]="Max",e}(L||{});class EU{value;highValue;pointerType}class M{static isNullOrUndefined(n){return null==n}static areArraysEqual(n,t){if(n.length!==t.length)return!1;for(let o=0;oMath.abs(n-r.value));let i=0;for(let r=0;r{r.events.next(a)};return n.addEventListener(t,s,{passive:!0,capture:!1}),r.teardownCallback=()=>{n.removeEventListener(t,s,{passive:!0,capture:!1})},r.eventsSubscription=r.events.pipe(M.isNullOrUndefined(i)?qM(()=>{}):WM(i,void 0,{leading:!0,trailing:!0})).subscribe(a=>{o(a)}),r}detachEventListener(n){M.isNullOrUndefined(n.eventsSubscription)||(n.eventsSubscription.unsubscribe(),n.eventsSubscription=null),M.isNullOrUndefined(n.events)||(n.events.complete(),n.events=null),M.isNullOrUndefined(n.teardownCallback)||(n.teardownCallback(),n.teardownCallback=null)}attachEventListener(n,t,o,i){const r=new oI;return r.eventName=t,r.events=new Xt,r.teardownCallback=this.renderer.listen(n,t,a=>{r.events.next(a)}),r.eventsSubscription=r.events.pipe(M.isNullOrUndefined(i)?qM(()=>{}):WM(i,void 0,{leading:!0,trailing:!0})).subscribe(a=>{o(a)}),r}}let so=(()=>{class e{elemRef=F(Nt);renderer=F(Sn);changeDetectionRef=F(Es);_position=0;get position(){return this._position}_dimension=0;get dimension(){return this._dimension}_alwaysHide=!1;get alwaysHide(){return this._alwaysHide}_vertical=!1;get vertical(){return this._vertical}_scale=1;get scale(){return this._scale}_rotate=0;get rotate(){return this._rotate}opacity=1;visibility="visible";left="";bottom="";height="";width="";transform="";eventListenerHelper;eventListeners=[];constructor(){this.eventListenerHelper=new iI(this.renderer)}setAlwaysHide(t){this._alwaysHide=t,this.visibility=t?"hidden":"visible"}hide(){this.opacity=0}show(){this.alwaysHide||(this.opacity=1)}isVisible(){return!this.alwaysHide&&0!==this.opacity}setVertical(t){this._vertical=t,this._vertical?(this.left="",this.width=""):(this.bottom="",this.height="")}setScale(t){this._scale=t}setRotate(t){this._rotate=t,this.transform="rotate("+t+"deg)"}getRotate(){return this._rotate}setPosition(t){this._position!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._position=t,this._vertical?this.bottom=Math.round(t)+"px":this.left=Math.round(t)+"px"}calculateDimension(){const t=this.getBoundingClientRect();this._dimension=this.vertical?(t.bottom-t.top)*this.scale:(t.right-t.left)*this.scale}setDimension(t){this._dimension!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._dimension=t,this._vertical?this.height=Math.round(t)+"px":this.width=Math.round(t)+"px"}getBoundingClientRect(){return this.elemRef.nativeElement.getBoundingClientRect()}on(t,o,i){const r=this.eventListenerHelper.attachEventListener(this.elemRef.nativeElement,t,o,i);this.eventListeners.push(r)}onPassive(t,o,i){const r=this.eventListenerHelper.attachPassiveEventListener(this.elemRef.nativeElement,t,o,i);this.eventListeners.push(r)}off(t){let o,i;M.isNullOrUndefined(t)?(o=[],i=this.eventListeners):(o=this.eventListeners.filter(r=>r.eventName!==t),i=this.eventListeners.filter(r=>r.eventName===t));for(const r of i)this.eventListenerHelper.detachEventListener(r);this.eventListeners=o}isRefDestroyed(){return M.isNullOrUndefined(this.changeDetectionRef)||this.changeDetectionRef.destroyed}static \u0275fac=function(o){return new(o||e)};static \u0275dir=W({type:e,selectors:[["","ngxSliderElement",""]],hostVars:14,hostBindings:function(o,i){2&o&&zl("opacity",i.opacity)("visibility",i.visibility)("left",i.left)("bottom",i.bottom)("height",i.height)("width",i.width)("transform",i.transform)},standalone:!1})}return e})(),Hg=(()=>{class e extends so{active=!1;role="";tabindex="";ariaOrientation="";ariaLabel="";ariaLabelledBy="";ariaValueNow="";ariaValueText="";ariaValueMin="";ariaValueMax="";focus(){this.elemRef.nativeElement.focus()}focusIfNeeded(){document.activeElement!==this.elemRef.nativeElement&&this.elemRef.nativeElement.focus()}static \u0275fac=(()=>{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,selectors:[["","ngxSliderHandle",""]],hostVars:11,hostBindings:function(o,i){2&o&&(ct("role",i.role)("tabindex",i.tabindex)("aria-orientation",i.ariaOrientation)("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledBy)("aria-valuenow",i.ariaValueNow)("aria-valuetext",i.ariaValueText)("aria-valuemin",i.ariaValueMin)("aria-valuemax",i.ariaValueMax),An("ngx-slider-active",i.active))},standalone:!1,features:[ae]})}return e})(),ir=(()=>{class e extends so{allowUnsafeHtmlInSlider=F(nI,{optional:!0});_value=null;get value(){return this._value}setValue(t){let o=!1;!this.alwaysHide&&(M.isNullOrUndefined(this.value)||this.value.length!==t.length||this.value.length>0&&0===this.dimension)&&(o=!0),this._value=t,!1===this.allowUnsafeHtmlInSlider?this.elemRef.nativeElement.innerText=t:this.elemRef.nativeElement.innerHTML=t,o&&this.calculateDimension()}static \u0275fac=(()=>{let t;return function(i){return(t||(t=ze(e)))(i||e)}})();static \u0275dir=W({type:e,selectors:[["","ngxSliderLabel",""]],standalone:!1,features:[ae]})}return e})(),MU=(()=>{class e{template;tooltip;placement;content;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=qt({type:e,selectors:[["ngx-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},standalone:!1,decls:2,vars:2,consts:[[1,"ngx-slider-inner-tooltip"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(o,i){1&o&&(y(0,iU,1,6),y(1,rU,2,3,"div",0)),2&o&&(C(i.template?0:-1),f(),C(i.template?-1:1))},dependencies:[uE],styles:[".ngx-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]})}return e})();class IU{selected=!1;style={};tooltip=null;tooltipPlacement=null;value=null;valueTooltip=null;valueTooltipPlacement=null;legend=null}class rI{active=!1;value=0;difference=0;position=0;lowLimit=0;highLimit=0}class Fc{value;highValue;static compare(n,t){return!(M.isNullOrUndefined(n)&&M.isNullOrUndefined(t)||M.isNullOrUndefined(n)!==M.isNullOrUndefined(t))&&n.value===t.value&&n.highValue===t.highValue}}class sI extends Fc{forceChange;static compare(n,t){return!(M.isNullOrUndefined(n)&&M.isNullOrUndefined(t)||M.isNullOrUndefined(n)!==M.isNullOrUndefined(t))&&n.value===t.value&&n.highValue===t.highValue&&n.forceChange===t.forceChange}}const TU={provide:Kt,useExisting:ge(()=>aI),multi:!0};let aI=(()=>{class e{renderer=F(Sn);elementRef=F(Nt);changeDetectionRef=F(Es);zone=F(re);allowUnsafeHtmlInSlider=F(nI,{optional:!0});sliderElementNgxSliderClass=!0;value=null;valueChange=new ve;highValue=null;highValueChange=new ve;options=new kc;userChangeStart=new ve;userChange=new ve;userChangeEnd=new ve;manualRefreshSubscription;set manualRefresh(t){this.unsubscribeManualRefresh(),this.manualRefreshSubscription=t.subscribe(()=>{setTimeout(()=>this.calculateViewDimensionsAndDetectChanges())})}triggerFocusSubscription;set triggerFocus(t){this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=t.subscribe(o=>{this.focusPointer(o)})}cancelUserChangeSubscription;set cancelUserChange(t){this.unsubscribeCancelUserChange(),this.cancelUserChangeSubscription=t.subscribe(()=>{this.moving&&(this.positionTrackingHandle(this.preStartHandleValue),this.forceEnd(!0))})}get range(){return!M.isNullOrUndefined(this.value)&&!M.isNullOrUndefined(this.highValue)}initHasRun=!1;inputModelChangeSubject=new Xt;inputModelChangeSubscription=null;outputModelChangeSubject=new Xt;outputModelChangeSubscription=null;viewLowValue=null;viewHighValue=null;viewOptions=new kc;handleHalfDimension=0;maxHandlePosition=0;currentTrackingPointer=null;currentFocusPointer=null;firstKeyDown=!1;touchId=null;dragging=new rI;preStartHandleValue=null;leftOuterSelectionBarElement;rightOuterSelectionBarElement;fullBarElement;selectionBarElement;minHandleElement;maxHandleElement;floorLabelElement;ceilLabelElement;minHandleLabelElement;maxHandleLabelElement;combinedLabelElement;ticksElement;tooltipTemplate;sliderElementVerticalClass=!1;sliderElementAnimateClass=!1;sliderElementWithLegendClass=!1;sliderElementDisabledAttr=null;sliderElementAriaLabel="ngx-slider";barStyle={};minPointerStyle={};maxPointerStyle={};fullBarTransparentClass=!1;selectionBarDraggableClass=!1;ticksUnderValuesClass=!1;get showTicks(){return this.viewOptions.showTicks}intermediateTicks=!1;ticks=[];eventListenerHelper=null;onMoveEventListener=null;onEndEventListener=null;moving=!1;resizeObserver=null;onTouchedCallback=null;onChangeCallback=null;constructor(){this.eventListenerHelper=new iI(this.renderer)}ngOnInit(){this.viewOptions=new kc,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState(),this.updateAriaLabel()}ngAfterViewInit(){this.applyOptions(),this.subscribeInputModelChangeSubject(),this.subscribeOutputModelChangeSubject(),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.updateAriaLabel(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}ngOnChanges(t){!M.isNullOrUndefined(t.options)&&JSON.stringify(t.options.previousValue)!==JSON.stringify(t.options.currentValue)&&this.onChangeOptions(),(!M.isNullOrUndefined(t.value)||!M.isNullOrUndefined(t.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,forceChange:!1,internalChange:!1})}ngOnDestroy(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}writeValue(t){t instanceof Array?(this.value=t[0],this.highValue=t[1]):this.value=t,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1,controlAccessorChange:!0})}registerOnChange(t){this.onChangeCallback=t}registerOnTouched(t){this.onTouchedCallback=t}setDisabledState(t){this.viewOptions.disabled=t,this.updateDisabledState(),this.initHasRun&&this.manageEventsBindings()}setAriaLabel(t){this.viewOptions.ariaLabel=t,this.updateAriaLabel()}onResize(t){this.calculateViewDimensionsAndDetectChanges()}subscribeInputModelChangeSubject(){this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe(ZM(sI.compare),function Yj(e,n){return Mo((t,o)=>{let i=0;t.subscribe(jn(o,r=>e.call(n,r,i++)&&o.next(r)))})}(t=>!t.forceChange&&!t.internalChange)).subscribe(t=>this.applyInputModelChange(t))}subscribeOutputModelChangeSubject(){this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe(ZM(sI.compare)).subscribe(t=>this.publishOutputModelChange(t))}subscribeResizeObserver(){ro.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(()=>this.calculateViewDimensionsAndDetectChanges()),this.resizeObserver.observe(this.elementRef.nativeElement))}unsubscribeResizeObserver(){ro.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}unsubscribeOnMove(){M.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}unsubscribeOnEnd(){M.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}unsubscribeInputModelChangeSubject(){M.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}unsubscribeOutputModelChangeSubject(){M.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}unsubscribeManualRefresh(){M.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}unsubscribeTriggerFocus(){M.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}unsubscribeCancelUserChange(){M.isNullOrUndefined(this.cancelUserChangeSubscription)||(this.cancelUserChangeSubscription.unsubscribe(),this.cancelUserChangeSubscription=null)}getPointerElement(t){return t===L.Min?this.minHandleElement:t===L.Max?this.maxHandleElement:null}getCurrentTrackingValue(){return this.currentTrackingPointer===L.Min?this.viewLowValue:this.currentTrackingPointer===L.Max?this.viewHighValue:null}modelValueToViewValue(t){return M.isNullOrUndefined(t)?NaN:M.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+t:M.findStepIndex(+t,this.viewOptions.stepsArray)}viewValueToModelValue(t){return M.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?t:this.getStepValue(t)}getStepValue(t){const o=this.viewOptions.stepsArray[t];return M.isNullOrUndefined(o)?NaN:o.value}applyViewChange(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,forceChange:!1,internalChange:!0})}applyInputModelChange(t){const o=this.normaliseModelValues(t),i=!Fc.compare(t,o);i&&(this.value=o.value,this.highValue=o.highValue),this.viewLowValue=this.modelValueToViewValue(o.value),this.viewHighValue=this.range?this.modelValueToViewValue(o.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:o.value,highValue:o.highValue,controlAccessorChange:t.controlAccessorChange,forceChange:i,userEventInitiated:!1})}publishOutputModelChange(t){const o=()=>{this.valueChange.emit(t.value),this.range&&this.highValueChange.emit(t.highValue),!t.controlAccessorChange&&(M.isNullOrUndefined(this.onChangeCallback)||this.onChangeCallback(this.range?[t.value,t.highValue]:t.value),M.isNullOrUndefined(this.onTouchedCallback)||this.onTouchedCallback(this.range?[t.value,t.highValue]:t.value))};t.userEventInitiated?(o(),this.userChange.emit(this.getChangeContext())):setTimeout(()=>{o()})}normaliseModelValues(t){const o=new Fc;if(o.value=t.value,o.highValue=t.highValue,!M.isNullOrUndefined(this.viewOptions.stepsArray)){if(this.viewOptions.enforceStepsArray){const i=M.findStepIndex(o.value,this.viewOptions.stepsArray);if(o.value=this.viewOptions.stepsArray[i].value,this.range){const r=M.findStepIndex(o.highValue,this.viewOptions.stepsArray);o.highValue=this.viewOptions.stepsArray[r].value}}return o}if(this.viewOptions.enforceStep&&(o.value=this.roundStep(o.value),this.range&&(o.highValue=this.roundStep(o.highValue))),this.viewOptions.enforceRange&&(o.value=Re.clampToRange(o.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(o.highValue=Re.clampToRange(o.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&t.value>t.highValue))if(this.viewOptions.noSwitching)o.value=o.highValue;else{const i=t.value;o.value=t.highValue,o.highValue=i}return o}renormaliseModelValues(){const t={value:this.value,highValue:this.highValue},o=this.normaliseModelValues(t);Fc.compare(o,t)||(this.value=o.value,this.highValue=o.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,controlAccessorChange:!1,forceChange:!0,userEventInitiated:!1}))}onChangeOptions(){if(!this.initHasRun)return;const t=this.getOptionsInfluencingEventBindings(this.viewOptions);this.applyOptions();const o=this.getOptionsInfluencingEventBindings(this.viewOptions),i=!M.areArraysEqual(t,o);this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider(i)}applyOptions(){if(this.viewOptions=new kc,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!M.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!M.isNullOrUndefined(this.viewOptions.tickStep)||!M.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!M.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),M.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),M.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=(t,o)=>t+" - "+o),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}applyStepsArrayOptions(){this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,M.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(this.viewOptions.bindIndexForStepsArray?this.getStepValue(t):t))}applyFloorCeilOptions(){if(M.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),M.isNullOrUndefined(this.viewOptions.ceil)||M.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,M.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(t))}resetSlider(t=!0){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),t&&(this.unbindEvents(),this.manageEventsBindings()),this.updateDisabledState(),this.updateAriaLabel(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}focusPointer(t){t!==L.Min&&t!==L.Max&&(t=L.Min),t===L.Min?this.minHandleElement.focus():this.range&&t===L.Max&&this.maxHandleElement.focus()}refocusPointerIfNeeded(){M.isNullOrUndefined(this.currentFocusPointer)||this.getPointerElement(this.currentFocusPointer).focusIfNeeded()}manageElementsStyle(){this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);const t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(()=>{this.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate}),this.updateRotate()}manageEventsBindings(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}updateDisabledState(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}updateAriaLabel(){this.sliderElementAriaLabel=this.viewOptions.ariaLabel||"nxg-slider"}updateVerticalState(){this.sliderElementVerticalClass=this.viewOptions.vertical;for(const t of this.getAllSliderElements())M.isNullOrUndefined(t)||t.setVertical(this.viewOptions.vertical)}updateScale(){for(const t of this.getAllSliderElements())t.setScale(this.viewOptions.scale)}updateRotate(){for(const t of this.getAllSliderElements())t.setRotate(this.viewOptions.rotate)}getAllSliderElements(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}initHandles(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}addAccessibility(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.minHandleElement.ariaOrientation=this.viewOptions.vertical||0!==this.viewOptions.rotate?"vertical":"horizontal",M.isNullOrUndefined(this.viewOptions.ariaLabel)?M.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical||0!==this.viewOptions.rotate?"vertical":"horizontal",M.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?M.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}updateAriaAttributes(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,cn.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,cn.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}calculateViewDimensions(){M.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);const t=this.minHandleElement.dimension;this.handleHalfDimension=t/2,M.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-t,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}calculateViewDimensionsAndDetectChanges(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}isRefDestroyed(){return this.changeDetectionRef.destroyed}updateTicksScale(){if(!this.viewOptions.showTicks&&this.sliderElementWithLegendClass)return void setTimeout(()=>{this.sliderElementWithLegendClass=!1});const t=M.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,o=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();const i=M.isNullOrUndefined(this.viewOptions.tickValueStep)?M.isNullOrUndefined(this.viewOptions.tickStep)?this.viewOptions.step:this.viewOptions.tickStep:this.viewOptions.tickValueStep;let r=!1;const s=t.map(a=>{let l=this.valueToPosition(a);this.viewOptions.vertical&&(l=this.maxHandlePosition-l);const c=o+"("+Math.round(l)+"px)",u=new IU;u.selected=this.isTickSelected(a),u.style={"-webkit-transform":c,"-moz-transform":c,"-o-transform":c,"-ms-transform":c,transform:c},u.selected&&!M.isNullOrUndefined(this.viewOptions.getSelectionBarColor)&&(u.style["background-color"]=this.getSelectionBarColor()),!u.selected&&!M.isNullOrUndefined(this.viewOptions.getTickColor)&&(u.style["background-color"]=this.getTickColor(a)),M.isNullOrUndefined(this.viewOptions.ticksTooltip)||(u.tooltip=this.viewOptions.ticksTooltip(a),u.tooltipPlacement=this.viewOptions.vertical?"right":"top"),this.viewOptions.showTicksValues&&!M.isNullOrUndefined(i)&&Re.isModuloWithinPrecisionLimit(a,i,this.viewOptions.precisionLimit)&&(u.value=this.getDisplayValue(a,cn.TickValue),M.isNullOrUndefined(this.viewOptions.ticksValuesTooltip)||(u.valueTooltip=this.viewOptions.ticksValuesTooltip(a),u.valueTooltipPlacement=this.viewOptions.vertical?"right":"top"));let d=null;if(M.isNullOrUndefined(this.viewOptions.stepsArray))M.isNullOrUndefined(this.viewOptions.getLegend)||(d=this.viewOptions.getLegend(a));else{const g=this.viewOptions.stepsArray[a];M.isNullOrUndefined(this.viewOptions.getStepLegend)?M.isNullOrUndefined(g)||(d=g.legend):d=this.viewOptions.getStepLegend(g)}return M.isNullOrUndefined(d)||(u.legend=d,r=!0),u});if(this.sliderElementWithLegendClass!==r&&setTimeout(()=>{this.sliderElementWithLegendClass=r}),M.isNullOrUndefined(this.ticks)||this.ticks.length!==s.length)this.ticks=s,this.isRefDestroyed()||this.changeDetectionRef.detectChanges();else for(let a=0;a=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&t<=this.viewLowValue)return!0}else{const o=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>o&&t>=o&&t<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&t>=this.viewLowValue&&t<=this.viewHighValue)}updateFloorLabel(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,cn.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}updateCeilLabel(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,cn.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}updateHandles(t,o){t===L.Min?this.updateLowHandle(o):t===L.Max&&this.updateHighHandle(o),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}getHandleLabelPos(t,o){const i=t===L.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,r=o-i/2+this.handleHalfDimension,s=this.fullBarElement.dimension-i;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&t===L.Min||!this.viewOptions.rightToLeft&&t===L.Max?Math.min(r,s):Math.min(Math.max(r,0),s):r}updateLowHandle(t){this.minHandleElement.setPosition(t),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,cn.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(L.Min,t)),M.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(L.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateHighHandle(t){this.maxHandleElement.setPosition(t),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,cn.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(L.Max,t)),M.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(L.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateFloorAndCeilLabelsVisibility(){if(this.viewOptions.hidePointerLabels)return;let t=!1,o=!1;const i=this.isLabelBelowFloorLabel(this.minHandleLabelElement),r=this.isLabelAboveCeilLabel(this.minHandleLabelElement),s=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),a=this.isLabelBelowFloorLabel(this.combinedLabelElement),l=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(i?(t=!0,this.floorLabelElement.hide()):(t=!1,this.floorLabelElement.show()),r?(o=!0,this.ceilLabelElement.hide()):(o=!1,this.ceilLabelElement.show()),this.range){const c=this.combinedLabelElement.isVisible()?l:s,u=this.combinedLabelElement.isVisible()?a:i;c?this.ceilLabelElement.hide():o||this.ceilLabelElement.show(),u?this.floorLabelElement.hide():t||this.floorLabelElement.show()}}isLabelBelowFloorLabel(t){const o=t.position,r=this.floorLabelElement.position;return this.viewOptions.rightToLeft?o+t.dimension>=r-2:o<=r+this.floorLabelElement.dimension+2}isLabelAboveCeilLabel(t){const o=t.position,r=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?o<=r+this.ceilLabelElement.dimension+2:o+t.dimension>=r-2}updateSelectionBar(){let t=0,o=0;const i=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,r=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)o=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),t=r;else if(M.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))i?(o=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),t=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(o=this.minHandleElement.position+this.handleHalfDimension,t=0);else{const s=this.viewOptions.showSelectionBarFromValue,a=this.valueToPosition(s);(this.viewOptions.rightToLeft?this.viewLowValue<=s:this.viewLowValue>s)?(o=this.minHandleElement.position-a,t=a+this.handleHalfDimension):(o=a-this.minHandleElement.position,t=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(o),this.selectionBarElement.setPosition(t),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(t),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+o)),this.leftOuterSelectionBarElement.setPosition(t+o)):(this.leftOuterSelectionBarElement.setDimension(t),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+o)),this.rightOuterSelectionBarElement.setPosition(t+o))),M.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!M.isNullOrUndefined(this.viewOptions.selectionBarGradient)){const s=M.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),a=s-t>0&&!i||s-t<=0&&i;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?a?"bottom":"top":a?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(s+o+t+(a?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=s-t+(a?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{const s=this.getSelectionBarColor();this.barStyle={backgroundColor:s}}}getSelectionBarColor(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}getPointerColor(t){return this.viewOptions.getPointerColor(t===L.Max?this.highValue:this.value,t)}getTickColor(t){return this.viewOptions.getTickColor(t)}updateCombinedLabel(){let t=null;if(t=this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position,t){const o=this.getDisplayValue(this.viewLowValue,cn.Low),i=this.getDisplayValue(this.viewHighValue,cn.High),r=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(i,o):this.viewOptions.combineLabels(o,i);this.combinedLabelElement.setValue(r);const s=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(s),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}getDisplayValue(t,o){return!M.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(t=this.getStepValue(t)),this.viewOptions.translate(t,o)}roundStep(t,o){const i=M.isNullOrUndefined(o)?this.viewOptions.step:o;let r=Re.roundToPrecisionLimit((t-this.viewOptions.floor)/i,this.viewOptions.precisionLimit);return r=Math.round(r)*i,Re.roundToPrecisionLimit(this.viewOptions.floor+r,this.viewOptions.precisionLimit)}valueToPosition(t){let o=M.linearValueToPosition;M.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(o=M.logValueToPosition):o=this.viewOptions.customValueToPosition;let i=o(t=Re.clampToRange(t,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return M.isNullOrUndefined(i)&&(i=0),this.viewOptions.rightToLeft&&(i=1-i),i*this.maxHandlePosition}positionToValue(t){let o=t/this.maxHandlePosition;this.viewOptions.rightToLeft&&(o=1-o);let i=M.linearPositionToValue;M.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(i=M.logPositionToValue):i=this.viewOptions.customPositionToValue;const r=i(o,this.viewOptions.floor,this.viewOptions.ceil);return M.isNullOrUndefined(r)?0:r}getEventXY(t,o){if(t instanceof MouseEvent)return this.viewOptions.vertical||0!==this.viewOptions.rotate?t.clientY:t.clientX;let i=0;const r=t.touches;if(!M.isNullOrUndefined(o))for(let s=0;sr?L.Max:this.viewOptions.rightToLeft?o>this.minHandleElement.position?L.Min:L.Max:othis.onBarStart(null,t,o,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.on("mousedown",o=>this.onBarStart(L.Min,t,o,!0,!0)),this.maxHandleElement.on("mousedown",o=>this.onBarStart(L.Max,t,o,!0,!0))):(this.minHandleElement.on("mousedown",o=>this.onStart(L.Min,o,!0,!0)),this.range&&this.maxHandleElement.on("mousedown",o=>this.onStart(L.Max,o,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.on("mousedown",o=>this.onStart(null,o,!0,!0,!0)),this.ticksElement.on("mousedown",o=>this.onStart(null,o,!0,!0,!0,!0)))),this.viewOptions.onlyBindHandles||this.selectionBarElement.onPassive("touchstart",o=>this.onBarStart(null,t,o,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.onPassive("touchstart",o=>this.onBarStart(L.Min,t,o,!0,!0)),this.maxHandleElement.onPassive("touchstart",o=>this.onBarStart(L.Max,t,o,!0,!0))):(this.minHandleElement.onPassive("touchstart",o=>this.onStart(L.Min,o,!0,!0)),this.range&&this.maxHandleElement.onPassive("touchstart",o=>this.onStart(L.Max,o,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.onPassive("touchstart",o=>this.onStart(null,o,!0,!0,!0)),this.ticksElement.onPassive("touchstart",o=>this.onStart(null,o,!1,!1,!0,!0)))),this.viewOptions.keyboardSupport&&(this.minHandleElement.on("focus",()=>this.onPointerFocus(L.Min)),this.range&&this.maxHandleElement.on("focus",()=>this.onPointerFocus(L.Max)))}getOptionsInfluencingEventBindings(t){return[t.disabled,t.readOnly,t.draggableRange,t.draggableRangeOnly,t.onlyBindHandles,t.keyboardSupport]}unbindEvents(){this.unsubscribeOnMove(),this.unsubscribeOnEnd();for(const t of this.getAllSliderElements())M.isNullOrUndefined(t)||t.off()}onBarStart(t,o,i,r,s,a,l){o?this.onDragStart(t,i,r,s):this.onStart(t,i,r,s,a,l)}onStart(t,o,i,r,s,a){o.stopPropagation(),!ro.isTouchEvent(o)&&!KM&&o.preventDefault(),this.moving=!1,this.calculateViewDimensions(),M.isNullOrUndefined(t)&&(t=this.getNearestHandle(o)),this.currentTrackingPointer=t;const l=this.getPointerElement(t);if(l.active=!0,this.preStartHandleValue=this.getCurrentTrackingValue(),this.viewOptions.keyboardSupport&&l.focus(),i){this.unsubscribeOnMove();const c=u=>this.dragging.active?this.onDragMove(u):this.onMove(u);this.onMoveEventListener=ro.isTouchEvent(o)?this.eventListenerHelper.attachPassiveEventListener(document,"touchmove",c):this.eventListenerHelper.attachEventListener(document,"mousemove",c)}if(r){this.unsubscribeOnEnd();const c=u=>this.onEnd(u);this.onEndEventListener=ro.isTouchEvent(o)?this.eventListenerHelper.attachPassiveEventListener(document,"touchend",c):this.eventListenerHelper.attachEventListener(document,"mouseup",c)}this.userChangeStart.emit(this.getChangeContext()),ro.isTouchEvent(o)&&!M.isNullOrUndefined(o.changedTouches)&&M.isNullOrUndefined(this.touchId)&&(this.touchId=o.changedTouches[0].identifier),s&&this.onMove(o,!0),a&&this.onEnd(o)}onMove(t,o){let i=null;if(ro.isTouchEvent(t)){const c=t.changedTouches;for(let u=0;u=this.maxHandlePosition?s=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(s=this.positionToValue(r),s=o&&!M.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(s,this.viewOptions.tickStep):this.roundStep(s)),this.positionTrackingHandle(s)}forceEnd(t=!1){this.moving=!1,this.viewOptions.animate&&(this.sliderElementAnimateClass=!0),t&&(this.sliderElementAnimateClass=!1,setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate})),this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext())}onEnd(t){ro.isTouchEvent(t)&&t.changedTouches[0].identifier!==this.touchId||this.forceEnd()}onPointerFocus(t){const o=this.getPointerElement(t);o.on("blur",()=>this.onPointerBlur(o)),o.on("keydown",i=>this.onKeyboardEvent(i)),o.on("keyup",()=>this.onKeyUp()),o.active=!0,this.currentTrackingPointer=t,this.currentFocusPointer=t,this.firstKeyDown=!0}onKeyUp(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}onPointerBlur(t){t.off("blur"),t.off("keydown"),t.off("keyup"),t.active=!1,M.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}getKeyActions(t){const o=this.viewOptions.ceil-this.viewOptions.floor;let i=t+this.viewOptions.step,r=t-this.viewOptions.step,s=t+o/10,a=t-o/10;this.viewOptions.reversedControls&&(i=t-this.viewOptions.step,r=t+this.viewOptions.step,s=t-o/10,a=t+o/10);const l={UP:i,DOWN:r,LEFT:r,RIGHT:i,PAGEUP:s,PAGEDOWN:a,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(l.LEFT=i,l.RIGHT=r,(this.viewOptions.vertical||0!==this.viewOptions.rotate)&&(l.UP=r,l.DOWN=i)),l}onKeyboardEvent(t){const o=this.getCurrentTrackingValue(),i=M.isNullOrUndefined(t.keyCode)?t.which:t.keyCode,l=this.getKeyActions(o)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[i]];if(M.isNullOrUndefined(l)||M.isNullOrUndefined(this.currentTrackingPointer))return;t.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));const c=Re.clampToRange(l,this.viewOptions.floor,this.viewOptions.ceil),u=this.roundStep(c);if(this.viewOptions.draggableRangeOnly){const d=this.viewHighValue-this.viewLowValue;let g,h;this.currentTrackingPointer===L.Min?(g=u,h=u+d,h>this.viewOptions.ceil&&(h=this.viewOptions.ceil,g=h-d)):this.currentTrackingPointer===L.Max&&(h=u,g=u-d,g=this.maxHandlePosition-i;let u,d;if(o<=r){if(0===s.position)return;u=this.getMinValue(o,!0,!1),d=this.getMaxValue(o,!0,!1)}else if(c){if(a.position===this.maxHandlePosition)return;d=this.getMaxValue(o,!0,!0),u=this.getMinValue(o,!0,!0)}else u=this.getMinValue(o,!1,!1),d=this.getMaxValue(o,!1,!1);this.positionTrackingBar(u,d)}positionTrackingBar(t,o){!M.isNullOrUndefined(this.viewOptions.minLimit)&&tthis.viewOptions.maxLimit&&(t=Re.roundToPrecisionLimit((o=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=t,this.viewHighValue=o,this.applyViewChange(),this.updateHandles(L.Min,this.valueToPosition(t)),this.updateHandles(L.Max,this.valueToPosition(o))}positionTrackingHandle(t){t=this.applyMinMaxLimit(t),this.range&&(this.viewOptions.pushRange?t=this.applyPushRange(t):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===L.Min&&t>this.viewHighValue?t=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===L.Max&&tthis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(L.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=L.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===L.Max&&tthis.viewOptions.maxLimit?this.viewOptions.maxLimit:t}applyMinMaxRange(t){const i=Math.abs(t-(this.currentTrackingPointer===L.Min?this.viewHighValue:this.viewLowValue));if(!M.isNullOrUndefined(this.viewOptions.minRange)&&ithis.viewOptions.maxRange){if(this.currentTrackingPointer===L.Min)return Re.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===L.Max)return Re.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return t}applyPushRange(t){const o=this.currentTrackingPointer===L.Min?this.viewHighValue-t:t-this.viewLowValue,i=M.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,r=this.viewOptions.maxRange;return or&&(this.currentTrackingPointer===L.Min?(this.viewHighValue=Re.roundToPrecisionLimit(t+r,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(L.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===L.Max&&(this.viewLowValue=Re.roundToPrecisionLimit(t-r,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(L.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),t}getChangeContext(){const t=new EU;return t.pointerType=this.currentTrackingPointer,t.value=+this.value,this.range&&(t.highValue=+this.highValue),t}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=qt({type:e,selectors:[["ngx-slider"]],contentQueries:function(o,i,r){if(1&o&&Zb(r,sU,5),2&o){let s;wt(s=Et())&&(i.tooltipTemplate=s.first)}},viewQuery:function(o,i){if(1&o&&(Ot(aU,5,so),Ot(lU,5,so),Ot(cU,5,so),Ot(uU,5,so),Ot(dU,5,Hg),Ot(fU,5,Hg),Ot(hU,5,ir),Ot(gU,5,ir),Ot(pU,5,ir),Ot(mU,5,ir),Ot(_U,5,ir),Ot(vU,5,so)),2&o){let r;wt(r=Et())&&(i.leftOuterSelectionBarElement=r.first),wt(r=Et())&&(i.rightOuterSelectionBarElement=r.first),wt(r=Et())&&(i.fullBarElement=r.first),wt(r=Et())&&(i.selectionBarElement=r.first),wt(r=Et())&&(i.minHandleElement=r.first),wt(r=Et())&&(i.maxHandleElement=r.first),wt(r=Et())&&(i.floorLabelElement=r.first),wt(r=Et())&&(i.ceilLabelElement=r.first),wt(r=Et())&&(i.minHandleLabelElement=r.first),wt(r=Et())&&(i.maxHandleLabelElement=r.first),wt(r=Et())&&(i.combinedLabelElement=r.first),wt(r=Et())&&(i.ticksElement=r.first)}},hostVars:10,hostBindings:function(o,i){1&o&&U("resize",function(s){return i.onResize(s)},Ba),2&o&&(ct("disabled",i.sliderElementDisabledAttr)("aria-label",i.sliderElementAriaLabel),An("ngx-slider",i.sliderElementNgxSliderClass)("vertical",i.sliderElementVerticalClass)("animate",i.sliderElementAnimateClass)("with-legend",i.sliderElementWithLegendClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus",cancelUserChange:"cancelUserChange"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},standalone:!1,features:[Ee([TU]),En],decls:30,vars:12,consts:[["leftOuterSelectionBar",""],["rightOuterSelectionBar",""],["fullBar",""],["selectionBar",""],["minHandle",""],["maxHandle",""],["floorLabel",""],["ceilLabel",""],["minHandleLabel",""],["maxHandleLabel",""],["combinedLabel",""],["ticksElement",""],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-left-out-selection"],[1,"ngx-slider-span","ngx-slider-bar"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-right-out-selection"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-full-bar"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-selection-bar"],[1,"ngx-slider-span","ngx-slider-bar","ngx-slider-selection",3,"ngStyle"],["ngxSliderHandle","",1,"ngx-slider-span","ngx-slider-pointer","ngx-slider-pointer-min",3,"ngStyle"],["ngxSliderHandle","",1,"ngx-slider-span","ngx-slider-pointer","ngx-slider-pointer-max",3,"ngStyle"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-limit","ngx-slider-floor"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-limit","ngx-slider-ceil"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-model-value"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-model-high"],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-combined"],["ngxSliderElement","",1,"ngx-slider-ticks",3,"hidden"],[1,"ngx-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],[1,"ngx-slider-span","ngx-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ngx-slider-span","ngx-slider-tick-legend",3,"innerText"],[1,"ngx-slider-span","ngx-slider-tick-legend",3,"innerHTML"]],template:function(o,i){1&o&&(v(0,"span",12,0),O(2,"span",13),_(),v(3,"span",14,1),O(5,"span",13),_(),v(6,"span",15,2),O(8,"span",13),_(),v(9,"span",16,3),O(11,"span",17),_(),O(12,"span",18,4)(14,"span",19,5)(16,"span",20,6)(18,"span",21,7)(20,"span",22,8)(22,"span",23,9)(24,"span",24,10),v(26,"span",25,11),Qe(28,wU,5,10,"span",26,Ye),_()),2&o&&(f(6),An("ngx-slider-transparent",i.fullBarTransparentClass),f(3),An("ngx-slider-draggable",i.selectionBarDraggableClass),f(2),A("ngStyle",i.barStyle),f(),A("ngStyle",i.minPointerStyle),f(2),zl("display",i.range?"inherit":"none"),A("ngStyle",i.maxPointerStyle),f(12),An("ngx-slider-ticks-values-under",i.ticksUnderValuesClass),A("hidden",!i.showTicks),f(2),Ke(i.ticks))},dependencies:[Xi,cE,so,Hg,ir,MU],styles:['.ngx-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;user-select:none;touch-action:pan-y} .ngx-slider.with-legend{margin-bottom:40px} .ngx-slider[disabled]{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ngx-slider[disabled] .ngx-slider-draggable{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-selection{background:#8b91a2} .ngx-slider[disabled] .ngx-slider-tick{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-tick.ngx-slider-selected{background:#8b91a2} .ngx-slider .ngx-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ngx-slider .ngx-slider-base{width:100%;height:100%;padding:0} .ngx-slider .ngx-slider-bar-wrapper{left:0;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ngx-slider .ngx-slider-draggable{cursor:move} .ngx-slider .ngx-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-transparent .ngx-slider-bar{background:transparent} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-left-out-selection .ngx-slider-bar{background:#df002d} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-right-out-selection .ngx-slider-bar{background:#03a688} .ngx-slider .ngx-slider-selection{z-index:2;background:#0db9f0;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px} .ngx-slider .ngx-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px} .ngx-slider .ngx-slider-pointer:after{content:"";width:8px;height:8px;position:absolute;top:12px;left:12px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;background:#fff} .ngx-slider .ngx-slider-pointer:hover:after{background-color:#fff} .ngx-slider .ngx-slider-pointer.ngx-slider-active{z-index:4} .ngx-slider .ngx-slider-pointer.ngx-slider-active:after{background-color:#451aff} .ngx-slider .ngx-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:#55637d} .ngx-slider .ngx-slider-ticks{box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ngx-slider .ngx-slider-ticks-values-under .ngx-slider-tick-value{top:auto;bottom:-36px} .ngx-slider .ngx-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ngx-slider .ngx-slider-tick.ngx-slider-selected{background:#0db9f0} .ngx-slider .ngx-slider-tick-value{position:absolute;top:-34px;transform:translate(-50%)} .ngx-slider .ngx-slider-tick-legend{position:absolute;top:24px;transform:translate(-50%);max-width:50px;white-space:normal} .ngx-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;touch-action:pan-x} .ngx-slider.vertical .ngx-slider-base{width:100%;height:100%;padding:0} .ngx-slider.vertical .ngx-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ngx-slider.vertical .ngx-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ngx-slider.vertical .ngx-slider-pointer{left:-14px!important;top:auto;bottom:0} .ngx-slider.vertical .ngx-slider-bubble{left:16px!important;bottom:0} .ngx-slider.vertical .ngx-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ngx-slider.vertical .ngx-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ngx-slider.vertical .ngx-slider-tick-value{left:24px;top:auto;transform:translateY(-28%)} .ngx-slider.vertical .ngx-slider-tick-legend{top:auto;right:24px;transform:translateY(-28%);max-width:none;white-space:nowrap} .ngx-slider.vertical .ngx-slider-ticks-values-under .ngx-slider-tick-value{bottom:auto;left:auto;right:24px} .ngx-slider *{transition:none} .ngx-slider.animate .ngx-slider-bar-wrapper{transition:all linear .3s} .ngx-slider.animate .ngx-slider-selection{transition:background-color linear .3s} .ngx-slider.animate .ngx-slider-pointer{transition:all linear .3s} .ngx-slider.animate .ngx-slider-pointer:after{transition:all linear .3s} .ngx-slider.animate .ngx-slider-bubble{transition:all linear .3s} .ngx-slider.animate .ngx-slider-bubble.ngx-slider-limit{transition:opacity linear .3s} .ngx-slider.animate .ngx-slider-bubble.ngx-slider-combined{transition:opacity linear .3s} .ngx-slider.animate .ngx-slider-tick{transition:background-color linear .3s}']})}return e})(),SU=(()=>{class e{static \u0275fac=function(o){return new(o||e)};static \u0275mod=Qn({type:e});static \u0275inj=dn({imports:[hE]})}return e})();class lI{constructor(){this.riskHotspotsSettings=null,this.coverageInfoSettings=null}}class AU{constructor(){this.showLineCoverage=!0,this.showBranchCoverage=!0,this.showMethodCoverage=!0,this.showFullMethodCoverage=!0,this.visibleMetrics=[],this.groupingMaximum=0,this.grouping=0,this.historyComparisionDate="",this.historyComparisionType="",this.filter="",this.lineCoverageMin=0,this.lineCoverageMax=100,this.branchCoverageMin=0,this.branchCoverageMax=100,this.methodCoverageMin=0,this.methodCoverageMax=100,this.methodFullCoverageMin=0,this.methodFullCoverageMax=100,this.sortBy="name",this.sortOrder="asc",this.collapseStates=[]}}class NU{constructor(n){this.et="",this.et=n.et,this.cl=n.cl,this.ucl=n.ucl,this.cal=n.cal,this.tl=n.tl,this.lcq=n.lcq,this.cb=n.cb,this.tb=n.tb,this.bcq=n.bcq,this.cm=n.cm,this.fcm=n.fcm,this.tm=n.tm,this.mcq=n.mcq,this.mfcq=n.mfcq}get coverageRatioText(){return 0===this.tl?"-":this.cl+"/"+this.cal}get branchCoverageRatioText(){return 0===this.tb?"-":this.cb+"/"+this.tb}get methodCoverageRatioText(){return 0===this.tm?"-":this.cm+"/"+this.tm}get methodFullCoverageRatioText(){return 0===this.tm?"-":this.fcm+"/"+this.tm}}class kt{static roundNumber(n){return Math.floor(n*Math.pow(10,kt.maximumDecimalPlacesForCoverageQuotas))/Math.pow(10,kt.maximumDecimalPlacesForCoverageQuotas)}static getNthOrLastIndexOf(n,t,o){let i=0,r=-1,s=-1;for(;i{this.historicCoverages.push(new NU(o))}),this.metrics=n.metrics}get coverage(){return 0===this.coverableLines?NaN:kt.roundNumber(100*this.coveredLines/this.coverableLines)}visible(n){if(""!==n.filter&&-1===this.name.toLowerCase().indexOf(n.filter.toLowerCase()))return!1;let t=this.coverage,o=t;if(t=Number.isNaN(t)?0:t,o=Number.isNaN(o)?100:o,n.lineCoverageMin>t||n.lineCoverageMaxi||n.branchCoverageMaxs||n.methodCoverageMaxl||n.methodFullCoverageMax=this.currentHistoricCoverage.lcq)return!1}else if("branchCoverageIncreaseOnly"===n.historyComparisionType){let u=this.branchCoverage;if(isNaN(u)||u<=this.currentHistoricCoverage.bcq)return!1}else if("branchCoverageDecreaseOnly"===n.historyComparisionType){let u=this.branchCoverage;if(isNaN(u)||u>=this.currentHistoricCoverage.bcq)return!1}else if("methodCoverageIncreaseOnly"===n.historyComparisionType){let u=this.methodCoverage;if(isNaN(u)||u<=this.currentHistoricCoverage.mcq)return!1}else if("methodCoverageDecreaseOnly"===n.historyComparisionType){let u=this.methodCoverage;if(isNaN(u)||u>=this.currentHistoricCoverage.mcq)return!1}else if("fullMethodCoverageIncreaseOnly"===n.historyComparisionType){let u=this.methodFullCoverage;if(isNaN(u)||u<=this.currentHistoricCoverage.mfcq)return!1}else if("fullMethodCoverageDecreaseOnly"===n.historyComparisionType){let u=this.methodFullCoverage;if(isNaN(u)||u>=this.currentHistoricCoverage.mfcq)return!1}return!0}updateCurrentHistoricCoverage(n){if(this.currentHistoricCoverage=null,""!==n)for(let t=0;t-1&&null===t}visible(n){if(""!==n.filter&&this.name.toLowerCase().indexOf(n.filter.toLowerCase())>-1)return!0;for(let t=0;t{var e;class n{get nativeWindow(){return function OU(){return window}()}static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)},this.\u0275prov=X({token:n,factory:n.\u0275fac}))}return e(),n})(),xU=(()=>{var e;class n{constructor(){this.translations={}}static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)},this.\u0275cmp=qt({type:n,selectors:[["pro-button"]],inputs:{translations:"translations"},standalone:!1,decls:3,vars:2,consts:[["href","https://reportgenerator.io/pro","target","_blank",1,"pro-button","pro-button-tiny",3,"title"]],template:function(i,r){1&i&&(D(0,"\xa0"),v(1,"a",0),D(2,"PRO"),_()),2&i&&(f(),A("title",On(r.translations.methodCoverageProVersion)))},encapsulation:2}))}return e(),n})();function RU(e,n){if(1&e){const t=ue();v(0,"div",3)(1,"label")(2,"input",4),Ge("ngModelChange",function(i){B(t);const r=m();return ye(r.showBranchCoverage,i)||(r.showBranchCoverage=i),j(i)}),U("change",function(){B(t);const i=m();return j(i.showBranchCoverageChange.emit(i.showBranchCoverage))}),_(),D(3),_()()}if(2&e){const t=m();f(2),je("ngModel",t.showBranchCoverage),f(),P(" ",t.translations.branchCoverage)}}function kU(e,n){1&e&&O(0,"pro-button",6),2&e&&A("translations",m().translations)}function FU(e,n){1&e&&O(0,"pro-button",6),2&e&&A("translations",m().translations)}function LU(e,n){1&e&&O(0,"pro-button",6),2&e&&A("translations",m(2).translations)}function PU(e,n){1&e&&(v(0,"a",8),O(1,"i",9),_()),2&e&&A("href",m().$implicit.explanationUrl,Wn)}function VU(e,n){if(1&e){const t=ue();v(0,"div",3)(1,"label")(2,"input",7),U("change",function(){const i=B(t).$implicit;return j(m(2).toggleMetric(i))}),_(),D(3),_(),D(4,"\xa0"),y(5,PU,2,1,"a",8),_()}if(2&e){const t=n.$implicit,o=m(2);f(2),A("checked",o.isMetricSelected(t))("disabled",!o.methodCoverageAvailable),f(),P(" ",t.name),f(2),C(t.explanationUrl?5:-1)}}function HU(e,n){if(1&e&&(O(0,"br")(1,"br"),v(2,"b"),D(3),_(),y(4,LU,1,1,"pro-button",6),Qe(5,VU,6,4,"div",3,Ye)),2&e){const t=m();f(3),k(t.translations.metrics),f(),C(t.methodCoverageAvailable?-1:4),f(),Ke(t.metrics)}}let BU=(()=>{var e;class n{constructor(){this.visible=!1,this.visibleChange=new ve,this.translations={},this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.metrics=[],this.showLineCoverage=!1,this.showLineCoverageChange=new ve,this.showBranchCoverage=!1,this.showBranchCoverageChange=new ve,this.showMethodCoverage=!1,this.showMethodCoverageChange=new ve,this.showMethodFullCoverage=!1,this.showMethodFullCoverageChange=new ve,this.visibleMetrics=[],this.visibleMetricsChange=new ve}isMetricSelected(o){return void 0!==this.visibleMetrics.find(i=>i.name===o.name)}toggleMetric(o){let i=this.visibleMetrics.find(r=>r.name===o.name);i?this.visibleMetrics.splice(this.visibleMetrics.indexOf(i),1):this.visibleMetrics.push(o),this.visibleMetrics=[...this.visibleMetrics],this.visibleMetricsChange.emit(this.visibleMetrics)}close(){this.visible=!1,this.visibleChange.emit(this.visible)}cancelEvent(o){o.stopPropagation()}static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)},this.\u0275cmp=qt({type:n,selectors:[["popup"]],inputs:{visible:"visible",translations:"translations",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",metrics:"metrics",showLineCoverage:"showLineCoverage",showBranchCoverage:"showBranchCoverage",showMethodCoverage:"showMethodCoverage",showMethodFullCoverage:"showMethodFullCoverage",visibleMetrics:"visibleMetrics"},outputs:{visibleChange:"visibleChange",showLineCoverageChange:"showLineCoverageChange",showBranchCoverageChange:"showBranchCoverageChange",showMethodCoverageChange:"showMethodCoverageChange",showMethodFullCoverageChange:"showMethodFullCoverageChange",visibleMetricsChange:"visibleMetricsChange"},standalone:!1,decls:22,vars:13,consts:[[1,"popup-container",3,"click"],[1,"popup",3,"click"],[1,"close",3,"click"],[1,"mt-1"],["type","checkbox",3,"ngModelChange","change","ngModel"],["type","checkbox",3,"ngModelChange","change","ngModel","disabled"],[3,"translations"],["type","checkbox",3,"change","checked","disabled"],["target","_blank",3,"href"],[1,"icon-info-circled"]],template:function(i,r){1&i&&(v(0,"div",0),U("click",function(){return r.close()}),v(1,"div",1),U("click",function(a){return r.cancelEvent(a)}),v(2,"div",2),U("click",function(){return r.close()}),D(3,"X"),_(),v(4,"b"),D(5),_(),v(6,"div",3)(7,"label")(8,"input",4),Ge("ngModelChange",function(a){return ye(r.showLineCoverage,a)||(r.showLineCoverage=a),a}),U("change",function(){return r.showLineCoverageChange.emit(r.showLineCoverage)}),_(),D(9),_()(),y(10,RU,4,2,"div",3),v(11,"div",3)(12,"label")(13,"input",5),Ge("ngModelChange",function(a){return ye(r.showMethodCoverage,a)||(r.showMethodCoverage=a),a}),U("change",function(){return r.showMethodCoverageChange.emit(r.showMethodCoverage)}),_(),D(14),_(),y(15,kU,1,1,"pro-button",6),_(),v(16,"div",3)(17,"label")(18,"input",5),Ge("ngModelChange",function(a){return ye(r.showMethodFullCoverage,a)||(r.showMethodFullCoverage=a),a}),U("change",function(){return r.showMethodFullCoverageChange.emit(r.showMethodFullCoverage)}),_(),D(19),_(),y(20,FU,1,1,"pro-button",6),_(),y(21,HU,7,2),_()()),2&i&&(f(5),k(r.translations.coverageTypes),f(3),je("ngModel",r.showLineCoverage),f(),P(" ",r.translations.coverage),f(),C(r.branchCoverageAvailable?10:-1),f(3),je("ngModel",r.showMethodCoverage),A("disabled",!r.methodCoverageAvailable),f(),P(" ",r.translations.methodCoverage),f(),C(r.methodCoverageAvailable?-1:15),f(3),je("ngModel",r.showMethodFullCoverage),A("disabled",!r.methodCoverageAvailable),f(),P(" ",r.translations.fullMethodCoverage),f(),C(r.methodCoverageAvailable?-1:20),f(),C(r.metrics.length>0?21:-1))},dependencies:[gg,vc,ks,xU],encapsulation:2}))}return e(),n})();function jU(e,n){1&e&&O(0,"td",1)}function UU(e,n){1&e&&O(0,"td"),2&e&&jt(Ut("green ",m().greenClass))}function $U(e,n){1&e&&O(0,"td"),2&e&&jt(Ut("red ",m().redClass))}let uI=(()=>{var e;class n{constructor(){this.grayVisible=!0,this.greenVisible=!1,this.redVisible=!1,this.greenClass="",this.redClass="",this._percentage=NaN}get percentage(){return this._percentage}set percentage(o){this._percentage=o,this.grayVisible=isNaN(o),this.greenVisible=!isNaN(o)&&Math.round(o)>0,this.redVisible=!isNaN(o)&&100-Math.round(o)>0,this.greenClass="covered"+Math.round(o),this.redClass="covered"+(100-Math.round(o))}static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)},this.\u0275cmp=qt({type:n,selectors:[["coverage-bar"]],inputs:{percentage:"percentage"},standalone:!1,decls:4,vars:3,consts:[[1,"coverage"],[1,"gray","covered100"],[3,"class"]],template:function(i,r){1&i&&(v(0,"table",0),y(1,jU,1,0,"td",1),y(2,UU,1,3,"td",2),y(3,$U,1,3,"td",2),_()),2&i&&(f(),C(r.grayVisible?1:-1),f(),C(r.greenVisible?2:-1),f(),C(r.redVisible?3:-1))},encapsulation:2,changeDetection:0}))}return e(),n})();const zU=["codeelement-row",""],GU=(e,n)=>({"icon-plus":e,"icon-minus":n});function WU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.coveredLines)}}function qU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.uncoveredLines)}}function ZU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.coverableLines)}}function YU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.totalLines)}}function QU(e,n){if(1&e&&(v(0,"th",3),D(1),_()),2&e){const t=m();A("title",t.element.coverageRatioText),f(),k(t.element.coveragePercentage)}}function KU(e,n){if(1&e&&(v(0,"th",2),O(1,"coverage-bar",4),_()),2&e){const t=m();f(),A("percentage",t.element.coverage)}}function JU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.coveredBranches)}}function XU(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.totalBranches)}}function e3(e,n){if(1&e&&(v(0,"th",3),D(1),_()),2&e){const t=m();A("title",t.element.branchCoverageRatioText),f(),k(t.element.branchCoveragePercentage)}}function t3(e,n){if(1&e&&(v(0,"th",2),O(1,"coverage-bar",4),_()),2&e){const t=m();f(),A("percentage",t.element.branchCoverage)}}function n3(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.coveredMethods)}}function o3(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.totalMethods)}}function i3(e,n){if(1&e&&(v(0,"th",3),D(1),_()),2&e){const t=m();A("title",t.element.methodCoverageRatioText),f(),k(t.element.methodCoveragePercentage)}}function r3(e,n){if(1&e&&(v(0,"th",2),O(1,"coverage-bar",4),_()),2&e){const t=m();f(),A("percentage",t.element.methodCoverage)}}function s3(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.fullyCoveredMethods)}}function a3(e,n){if(1&e&&(v(0,"th",2),D(1),_()),2&e){const t=m();f(),k(t.element.totalMethods)}}function l3(e,n){if(1&e&&(v(0,"th",3),D(1),_()),2&e){const t=m();A("title",t.element.methodFullCoverageRatioText),f(),k(t.element.methodFullCoveragePercentage)}}function c3(e,n){if(1&e&&(v(0,"th",2),O(1,"coverage-bar",4),_()),2&e){const t=m();f(),A("percentage",t.element.methodFullCoverage)}}function u3(e,n){1&e&&O(0,"th",2)}let d3=(()=>{var e;class n{constructor(){this.collapsed=!1,this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.methodFullCoverageAvailable=!1,this.visibleMetrics=[]}static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)},this.\u0275cmp=qt({type:n,selectors:[["","codeelement-row",""]],inputs:{element:"element",collapsed:"collapsed",lineCoverageAvailable:"lineCoverageAvailable",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",methodFullCoverageAvailable:"methodFullCoverageAvailable",visibleMetrics:"visibleMetrics"},standalone:!1,attrs:zU,decls:24,vars:23,consts:[["href","#",3,"click"],[3,"ngClass"],[1,"right"],[1,"right",3,"title"],[3,"percentage"]],template:function(i,r){1&i&&(v(0,"th")(1,"a",0),U("click",function(a){return r.element.toggleCollapse(a)}),O(2,"i",1),D(3),_()(),y(4,WU,2,1,"th",2),y(5,qU,2,1,"th",2),y(6,ZU,2,1,"th",2),y(7,YU,2,1,"th",2),y(8,QU,2,2,"th",3),y(9,KU,2,1,"th",2),y(10,JU,2,1,"th",2),y(11,XU,2,1,"th",2),y(12,e3,2,2,"th",3),y(13,t3,2,1,"th",2),y(14,n3,2,1,"th",2),y(15,o3,2,1,"th",2),y(16,i3,2,2,"th",3),y(17,r3,2,1,"th",2),y(18,s3,2,1,"th",2),y(19,a3,2,1,"th",2),y(20,l3,2,2,"th",3),y(21,c3,2,1,"th",2),Qe(22,u3,1,0,"th",2,Ye)),2&i&&(f(2),A("ngClass",Eh(20,GU,r.element.collapsed,!r.element.collapsed)),f(),P("\n",r.element.name),f(),C(r.lineCoverageAvailable?4:-1),f(),C(r.lineCoverageAvailable?5:-1),f(),C(r.lineCoverageAvailable?6:-1),f(),C(r.lineCoverageAvailable?7:-1),f(),C(r.lineCoverageAvailable?8:-1),f(),C(r.lineCoverageAvailable?9:-1),f(),C(r.branchCoverageAvailable?10:-1),f(),C(r.branchCoverageAvailable?11:-1),f(),C(r.branchCoverageAvailable?12:-1),f(),C(r.branchCoverageAvailable?13:-1),f(),C(r.methodCoverageAvailable?14:-1),f(),C(r.methodCoverageAvailable?15:-1),f(),C(r.methodCoverageAvailable?16:-1),f(),C(r.methodCoverageAvailable?17:-1),f(),C(r.methodFullCoverageAvailable?18:-1),f(),C(r.methodFullCoverageAvailable?19:-1),f(),C(r.methodFullCoverageAvailable?20:-1),f(),C(r.methodFullCoverageAvailable?21:-1),f(),Ke(r.visibleMetrics))},dependencies:[Xi,uI],encapsulation:2,changeDetection:0}))}return e(),n})();const f3=["coverage-history-chart",""];let h3=(()=>{var e;class n{constructor(){this.path=null,this._historicCoverages=[]}get historicCoverages(){return this._historicCoverages}set historicCoverages(o){if(this._historicCoverages=o,o.length>1){let i="";for(let r=0;r(this.\u0275fac=function(i){return new(i||n)},this.\u0275cmp=qt({type:n,selectors:[["","coverage-history-chart",""]],inputs:{historicCoverages:"historicCoverages"},standalone:!1,attrs:f3,decls:3,vars:1,consts:[["width","30","height","18",1,"ct-chart-line"],[1,"ct-series","ct-series-a"],[1,"ct-line"]],template:function(i,r){1&i&&(function tm(){G.lFrame.currentNamespace="svg"}(),v(0,"svg",0)(1,"g",1),O(2,"path",2),_()()),2&i&&(f(2),ct("d",r.path))},encapsulation:2,changeDetection:0}))}return e(),n})();const g3=["class-row",""],Lc=e=>({historiccoverageoffset:e});function p3(e,n){if(1&e&&(v(0,"a",0),D(1),_()),2&e){const t=m();A("href",t.clazz.reportPath,Wn),f(),k(t.clazz.name)}}function m3(e,n){1&e&&D(0),2&e&&P(" ",m().clazz.name," ")}function _3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.coveredLines,t.clazz.currentHistoricCoverage.cl))),f(),P(" ",t.clazz.coveredLines," "),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),P(" ",t.clazz.currentHistoricCoverage.cl," ")}}function v3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.coveredLines," ")}function y3(e,n){if(1&e&&(v(0,"td",1),y(1,_3,4,6),y(2,v3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function C3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.currentHistoricCoverage.ucl,t.clazz.uncoveredLines))),f(),P(" ",t.clazz.uncoveredLines," "),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),P(" ",t.clazz.currentHistoricCoverage.ucl," ")}}function b3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.uncoveredLines," ")}function D3(e,n){if(1&e&&(v(0,"td",1),y(1,C3,4,6),y(2,b3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function w3(e,n){if(1&e&&(v(0,"div",4),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);f(),k(t.clazz.coverableLines),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),k(t.clazz.currentHistoricCoverage.cal)}}function E3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.coverableLines," ")}function M3(e,n){if(1&e&&(v(0,"td",1),y(1,w3,4,3),y(2,E3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function I3(e,n){if(1&e&&(v(0,"div",4),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);f(),k(t.clazz.totalLines),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),k(t.clazz.currentHistoricCoverage.tl)}}function T3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.totalLines," ")}function S3(e,n){if(1&e&&(v(0,"td",1),y(1,I3,4,3),y(2,T3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function A3(e,n){if(1&e&&O(0,"div",5),2&e){const t=m(2);A("title",On(t.translations.history+": "+t.translations.coverage))("historicCoverages",t.clazz.lineCoverageHistory)("ngClass",Zi(4,Lc,null!==t.clazz.currentHistoricCoverage))}}function N3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.coverage,t.clazz.currentHistoricCoverage.lcq))),f(),P(" ",t.clazz.coveragePercentage," "),f(),A("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.coverageRatioText),f(),P("",t.clazz.currentHistoricCoverage.lcq,"%")}}function O3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.coveragePercentage," ")}function x3(e,n){if(1&e&&(v(0,"td",2),y(1,A3,1,6,"div",5),y(2,N3,4,6),y(3,O3,1,1),_()),2&e){const t=m();A("title",t.clazz.coverageRatioText),f(),C(t.clazz.lineCoverageHistory.length>1?1:-1),f(),C(null!==t.clazz.currentHistoricCoverage?2:-1),f(),C(null===t.clazz.currentHistoricCoverage?3:-1)}}function R3(e,n){if(1&e&&(v(0,"td",1),O(1,"coverage-bar",6),_()),2&e){const t=m();f(),A("percentage",t.clazz.coverage)}}function k3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.coveredBranches,t.clazz.currentHistoricCoverage.cb))),f(),P(" ",t.clazz.coveredBranches," "),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),P(" ",t.clazz.currentHistoricCoverage.cb," ")}}function F3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.coveredBranches," ")}function L3(e,n){if(1&e&&(v(0,"td",1),y(1,k3,4,6),y(2,F3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function P3(e,n){if(1&e&&(v(0,"div",4),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);f(),k(t.clazz.totalBranches),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),k(t.clazz.currentHistoricCoverage.tb)}}function V3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.totalBranches," ")}function H3(e,n){if(1&e&&(v(0,"td",1),y(1,P3,4,3),y(2,V3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function B3(e,n){if(1&e&&O(0,"div",7),2&e){const t=m(2);A("title",On(t.translations.history+": "+t.translations.branchCoverage))("historicCoverages",t.clazz.branchCoverageHistory)("ngClass",Zi(4,Lc,null!==t.clazz.currentHistoricCoverage))}}function j3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.branchCoverage,t.clazz.currentHistoricCoverage.bcq))),f(),P(" ",t.clazz.branchCoveragePercentage," "),f(),A("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.branchCoverageRatioText),f(),P("",t.clazz.currentHistoricCoverage.bcq,"%")}}function U3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.branchCoveragePercentage," ")}function $3(e,n){if(1&e&&(v(0,"td",2),y(1,B3,1,6,"div",7),y(2,j3,4,6),y(3,U3,1,1),_()),2&e){const t=m();A("title",t.clazz.branchCoverageRatioText),f(),C(t.clazz.branchCoverageHistory.length>1?1:-1),f(),C(null!==t.clazz.currentHistoricCoverage?2:-1),f(),C(null===t.clazz.currentHistoricCoverage?3:-1)}}function z3(e,n){if(1&e&&(v(0,"td",1),O(1,"coverage-bar",6),_()),2&e){const t=m();f(),A("percentage",t.clazz.branchCoverage)}}function G3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.coveredMethods,t.clazz.currentHistoricCoverage.cm))),f(),P(" ",t.clazz.coveredMethods," "),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),P(" ",t.clazz.currentHistoricCoverage.cm," ")}}function W3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.coveredMethods," ")}function q3(e,n){if(1&e&&(v(0,"td",1),y(1,G3,4,6),y(2,W3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function Z3(e,n){if(1&e&&(v(0,"div",4),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);f(),k(t.clazz.totalMethods),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),k(t.clazz.currentHistoricCoverage.tm)}}function Y3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.totalMethods," ")}function Q3(e,n){if(1&e&&(v(0,"td",1),y(1,Z3,4,3),y(2,Y3,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function K3(e,n){if(1&e&&O(0,"div",8),2&e){const t=m(2);A("title",On(t.translations.history+": "+t.translations.methodCoverage))("historicCoverages",t.clazz.methodCoverageHistory)("ngClass",Zi(4,Lc,null!==t.clazz.currentHistoricCoverage))}}function J3(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.methodCoverage,t.clazz.currentHistoricCoverage.mcq))),f(),P(" ",t.clazz.methodCoveragePercentage," "),f(),A("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.methodCoverageRatioText),f(),P("",t.clazz.currentHistoricCoverage.mcq,"%")}}function X3(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.methodCoveragePercentage," ")}function e$(e,n){if(1&e&&(v(0,"td",2),y(1,K3,1,6,"div",8),y(2,J3,4,6),y(3,X3,1,1),_()),2&e){const t=m();A("title",t.clazz.methodCoverageRatioText),f(),C(t.clazz.methodCoverageHistory.length>1?1:-1),f(),C(null!==t.clazz.currentHistoricCoverage?2:-1),f(),C(null===t.clazz.currentHistoricCoverage?3:-1)}}function t$(e,n){if(1&e&&(v(0,"td",1),O(1,"coverage-bar",6),_()),2&e){const t=m();f(),A("percentage",t.clazz.methodCoverage)}}function n$(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.fullyCoveredMethods,t.clazz.currentHistoricCoverage.fcm))),f(),P(" ",t.clazz.fullyCoveredMethods," "),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),P(" ",t.clazz.currentHistoricCoverage.fcm," ")}}function o$(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.fullyCoveredMethods," ")}function i$(e,n){if(1&e&&(v(0,"td",1),y(1,n$,4,6),y(2,o$,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function r$(e,n){if(1&e&&(v(0,"div",4),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);f(),k(t.clazz.totalMethods),f(),A("title",t.clazz.currentHistoricCoverage.et),f(),k(t.clazz.currentHistoricCoverage.tm)}}function s$(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.totalMethods," ")}function a$(e,n){if(1&e&&(v(0,"td",1),y(1,r$,4,3),y(2,s$,1,1),_()),2&e){const t=m();f(),C(null!==t.clazz.currentHistoricCoverage?1:-1),f(),C(null===t.clazz.currentHistoricCoverage?2:-1)}}function l$(e,n){if(1&e&&O(0,"div",9),2&e){const t=m(2);A("title",On(t.translations.history+": "+t.translations.fullMethodCoverage))("historicCoverages",t.clazz.methodFullCoverageHistory)("ngClass",Zi(4,Lc,null!==t.clazz.currentHistoricCoverage))}}function c$(e,n){if(1&e&&(v(0,"div"),D(1),_(),v(2,"div",3),D(3),_()),2&e){const t=m(2);jt(Ut("currenthistory ",t.getClassName(t.clazz.methodFullCoverage,t.clazz.currentHistoricCoverage.mfcq))),f(),P(" ",t.clazz.methodFullCoveragePercentage," "),f(),A("title",t.clazz.currentHistoricCoverage.et+": "+t.clazz.currentHistoricCoverage.methodFullCoverageRatioText),f(),P("",t.clazz.currentHistoricCoverage.mfcq,"%")}}function u$(e,n){1&e&&D(0),2&e&&P(" ",m(2).clazz.methodFullCoveragePercentage," ")}function d$(e,n){if(1&e&&(v(0,"td",2),y(1,l$,1,6,"div",9),y(2,c$,4,6),y(3,u$,1,1),_()),2&e){const t=m();A("title",t.clazz.methodFullCoverageRatioText),f(),C(t.clazz.methodFullCoverageHistory.length>1?1:-1),f(),C(null!==t.clazz.currentHistoricCoverage?2:-1),f(),C(null===t.clazz.currentHistoricCoverage?3:-1)}}function f$(e,n){if(1&e&&(v(0,"td",1),O(1,"coverage-bar",6),_()),2&e){const t=m();f(),A("percentage",t.clazz.methodFullCoverage)}}function h$(e,n){if(1&e&&(v(0,"td",1),D(1),_()),2&e){const t=n.$implicit,o=m();f(),k(o.clazz.metrics[t.abbreviation])}}let g$=(()=>{var e;class n{constructor(){this.translations={},this.lineCoverageAvailable=!1,this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.methodFullCoverageAvailable=!1,this.visibleMetrics=[],this.historyComparisionDate=""}getClassName(o,i){return o>i?"lightgreen":o(this.\u0275fac=function(i){return new(i||n)},this.\u0275cmp=qt({type:n,selectors:[["","class-row",""]],inputs:{clazz:"clazz",translations:"translations",lineCoverageAvailable:"lineCoverageAvailable",branchCoverageAvailable:"branchCoverageAvailable",methodCoverageAvailable:"methodCoverageAvailable",methodFullCoverageAvailable:"methodFullCoverageAvailable",visibleMetrics:"visibleMetrics",historyComparisionDate:"historyComparisionDate"},standalone:!1,attrs:g3,decls:23,vars:20,consts:[[3,"href"],[1,"right"],[1,"right",3,"title"],[3,"title"],[1,"currenthistory"],["coverage-history-chart","",1,"tinylinecoveragechart","ct-chart",3,"historicCoverages","ngClass","title"],[3,"percentage"],["coverage-history-chart","",1,"tinybranchcoveragechart","ct-chart",3,"historicCoverages","ngClass","title"],["coverage-history-chart","",1,"tinymethodcoveragechart","ct-chart",3,"historicCoverages","ngClass","title"],["coverage-history-chart","",1,"tinyfullmethodcoveragechart","ct-chart",3,"historicCoverages","ngClass","title"]],template:function(i,r){1&i&&(v(0,"td"),y(1,p3,2,2,"a",0),y(2,m3,1,1),_(),y(3,y3,3,2,"td",1),y(4,D3,3,2,"td",1),y(5,M3,3,2,"td",1),y(6,S3,3,2,"td",1),y(7,x3,4,4,"td",2),y(8,R3,2,1,"td",1),y(9,L3,3,2,"td",1),y(10,H3,3,2,"td",1),y(11,$3,4,4,"td",2),y(12,z3,2,1,"td",1),y(13,q3,3,2,"td",1),y(14,Q3,3,2,"td",1),y(15,e$,4,4,"td",2),y(16,t$,2,1,"td",1),y(17,i$,3,2,"td",1),y(18,a$,3,2,"td",1),y(19,d$,4,4,"td",2),y(20,f$,2,1,"td",1),Qe(21,h$,2,1,"td",1,Ye)),2&i&&(f(),C(""!==r.clazz.reportPath?1:-1),f(),C(""===r.clazz.reportPath?2:-1),f(),C(r.lineCoverageAvailable?3:-1),f(),C(r.lineCoverageAvailable?4:-1),f(),C(r.lineCoverageAvailable?5:-1),f(),C(r.lineCoverageAvailable?6:-1),f(),C(r.lineCoverageAvailable?7:-1),f(),C(r.lineCoverageAvailable?8:-1),f(),C(r.branchCoverageAvailable?9:-1),f(),C(r.branchCoverageAvailable?10:-1),f(),C(r.branchCoverageAvailable?11:-1),f(),C(r.branchCoverageAvailable?12:-1),f(),C(r.methodCoverageAvailable?13:-1),f(),C(r.methodCoverageAvailable?14:-1),f(),C(r.methodCoverageAvailable?15:-1),f(),C(r.methodCoverageAvailable?16:-1),f(),C(r.methodFullCoverageAvailable?17:-1),f(),C(r.methodFullCoverageAvailable?18:-1),f(),C(r.methodFullCoverageAvailable?19:-1),f(),C(r.methodFullCoverageAvailable?20:-1),f(),Ke(r.visibleMetrics))},dependencies:[Xi,h3,uI],encapsulation:2,changeDetection:0}))}return e(),n})();const it=(e,n,t)=>({"icon-up-dir_active":e,"icon-down-dir_active":n,"icon-up-down-dir":t});function p$(e,n){if(1&e){const t=ue();v(0,"popup",27),Ge("visibleChange",function(i){B(t);const r=m(2);return ye(r.popupVisible,i)||(r.popupVisible=i),j(i)})("showLineCoverageChange",function(i){B(t);const r=m(2);return ye(r.settings.showLineCoverage,i)||(r.settings.showLineCoverage=i),j(i)})("showBranchCoverageChange",function(i){B(t);const r=m(2);return ye(r.settings.showBranchCoverage,i)||(r.settings.showBranchCoverage=i),j(i)})("showMethodCoverageChange",function(i){B(t);const r=m(2);return ye(r.settings.showMethodCoverage,i)||(r.settings.showMethodCoverage=i),j(i)})("showMethodFullCoverageChange",function(i){B(t);const r=m(2);return ye(r.settings.showFullMethodCoverage,i)||(r.settings.showFullMethodCoverage=i),j(i)})("visibleMetricsChange",function(i){B(t);const r=m(2);return ye(r.settings.visibleMetrics,i)||(r.settings.visibleMetrics=i),j(i)}),_()}if(2&e){const t=m(2);je("visible",t.popupVisible),A("translations",t.translations)("branchCoverageAvailable",t.branchCoverageAvailable)("methodCoverageAvailable",t.methodCoverageAvailable)("metrics",t.metrics),je("showLineCoverage",t.settings.showLineCoverage)("showBranchCoverage",t.settings.showBranchCoverage)("showMethodCoverage",t.settings.showMethodCoverage)("showMethodFullCoverage",t.settings.showFullMethodCoverage)("visibleMetrics",t.settings.visibleMetrics)}}function m$(e,n){1&e&&D(0),2&e&&P(" ",m(2).translations.noGrouping," ")}function _$(e,n){1&e&&D(0),2&e&&P(" ",m(2).translations.byAssembly," ")}function v$(e,n){if(1&e&&D(0),2&e){const t=m(2);P(" ",t.translations.byNamespace+" "+t.settings.grouping," ")}}function y$(e,n){if(1&e&&(v(0,"option",30),D(1),_()),2&e){const t=n.$implicit;A("value",t),f(),k(t)}}function C$(e,n){1&e&&O(0,"br")}function b$(e,n){if(1&e&&(v(0,"option",34),D(1),_()),2&e){const t=m(4);f(),P(" ",t.translations.branchCoverageIncreaseOnly," ")}}function D$(e,n){if(1&e&&(v(0,"option",35),D(1),_()),2&e){const t=m(4);f(),P(" ",t.translations.branchCoverageDecreaseOnly," ")}}function w$(e,n){if(1&e&&(v(0,"option",36),D(1),_()),2&e){const t=m(4);f(),P(" ",t.translations.methodCoverageIncreaseOnly," ")}}function E$(e,n){if(1&e&&(v(0,"option",37),D(1),_()),2&e){const t=m(4);f(),P(" ",t.translations.methodCoverageDecreaseOnly," ")}}function M$(e,n){if(1&e&&(v(0,"option",38),D(1),_()),2&e){const t=m(4);f(),P(" ",t.translations.fullMethodCoverageIncreaseOnly," ")}}function I$(e,n){if(1&e&&(v(0,"option",39),D(1),_()),2&e){const t=m(4);f(),P(" ",t.translations.fullMethodCoverageDecreaseOnly," ")}}function T$(e,n){if(1&e){const t=ue();v(0,"div")(1,"select",28),Ge("ngModelChange",function(i){B(t);const r=m(3);return ye(r.settings.historyComparisionType,i)||(r.settings.historyComparisionType=i),j(i)}),v(2,"option",29),D(3),_(),v(4,"option",31),D(5),_(),v(6,"option",32),D(7),_(),v(8,"option",33),D(9),_(),y(10,b$,2,1,"option",34),y(11,D$,2,1,"option",35),y(12,w$,2,1,"option",36),y(13,E$,2,1,"option",37),y(14,M$,2,1,"option",38),y(15,I$,2,1,"option",39),_()()}if(2&e){const t=m(3);f(),je("ngModel",t.settings.historyComparisionType),f(2),k(t.translations.filter),f(2),k(t.translations.allChanges),f(2),k(t.translations.lineCoverageIncreaseOnly),f(2),k(t.translations.lineCoverageDecreaseOnly),f(),C(t.branchCoverageAvailable?10:-1),f(),C(t.branchCoverageAvailable?11:-1),f(),C(t.methodCoverageAvailable?12:-1),f(),C(t.methodCoverageAvailable?13:-1),f(),C(t.methodCoverageAvailable?14:-1),f(),C(t.methodCoverageAvailable?15:-1)}}function S$(e,n){if(1&e){const t=ue();v(0,"div"),D(1),v(2,"select",28),Ge("ngModelChange",function(i){B(t);const r=m(2);return ye(r.settings.historyComparisionDate,i)||(r.settings.historyComparisionDate=i),j(i)}),U("ngModelChange",function(){return B(t),j(m(2).updateCurrentHistoricCoverage())}),v(3,"option",29),D(4),_(),Qe(5,y$,2,2,"option",30,Ye),_()(),y(7,C$,1,0,"br"),y(8,T$,16,11,"div")}if(2&e){const t=m(2);f(),P(" ",t.translations.compareHistory," "),f(),je("ngModel",t.settings.historyComparisionDate),f(2),k(t.translations.date),f(),Ke(t.historicCoverageExecutionTimes),f(2),C(""!==t.settings.historyComparisionDate?7:-1),f(),C(""!==t.settings.historyComparisionDate?8:-1)}}function A$(e,n){1&e&&O(0,"col",12)}function N$(e,n){1&e&&O(0,"col",13)}function O$(e,n){1&e&&O(0,"col",14)}function x$(e,n){1&e&&O(0,"col",15)}function R$(e,n){1&e&&O(0,"col",16)}function k$(e,n){1&e&&O(0,"col",17)}function F$(e,n){1&e&&O(0,"col",12)}function L$(e,n){1&e&&O(0,"col",15)}function P$(e,n){1&e&&O(0,"col",16)}function V$(e,n){1&e&&O(0,"col",17)}function H$(e,n){1&e&&O(0,"col",12)}function B$(e,n){1&e&&O(0,"col",15)}function j$(e,n){1&e&&O(0,"col",16)}function U$(e,n){1&e&&O(0,"col",17)}function $$(e,n){1&e&&O(0,"col",12)}function z$(e,n){1&e&&O(0,"col",15)}function G$(e,n){1&e&&O(0,"col",16)}function W$(e,n){1&e&&O(0,"col",17)}function q$(e,n){1&e&&O(0,"col",17)}function Z$(e,n){if(1&e&&(v(0,"th",19),D(1),_()),2&e){const t=m(2);f(),k(t.translations.coverage)}}function Y$(e,n){if(1&e&&(v(0,"th",20),D(1),_()),2&e){const t=m(2);f(),k(t.translations.branchCoverage)}}function Q$(e,n){if(1&e&&(v(0,"th",20),D(1),_()),2&e){const t=m(2);f(),k(t.translations.methodCoverage)}}function K$(e,n){if(1&e&&(v(0,"th",20),D(1),_()),2&e){const t=m(2);f(),k(t.translations.fullMethodCoverage)}}function J$(e,n){if(1&e&&(v(0,"th",21),D(1),_()),2&e){const t=m(2);ct("colspan",t.settings.visibleMetrics.length),f(),k(t.translations.metrics)}}function X$(e,n){if(1&e){const t=ue();v(0,"td",19)(1,"ngx-slider",40),Ge("valueChange",function(i){B(t);const r=m(2);return ye(r.settings.lineCoverageMin,i)||(r.settings.lineCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const r=m(2);return ye(r.settings.lineCoverageMax,i)||(r.settings.lineCoverageMax=i),j(i)}),_()()}if(2&e){const t=m(2);f(),je("value",t.settings.lineCoverageMin)("highValue",t.settings.lineCoverageMax),A("options",t.sliderOptions)}}function e8(e,n){if(1&e){const t=ue();v(0,"td",20)(1,"ngx-slider",40),Ge("valueChange",function(i){B(t);const r=m(2);return ye(r.settings.branchCoverageMin,i)||(r.settings.branchCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const r=m(2);return ye(r.settings.branchCoverageMax,i)||(r.settings.branchCoverageMax=i),j(i)}),_()()}if(2&e){const t=m(2);f(),je("value",t.settings.branchCoverageMin)("highValue",t.settings.branchCoverageMax),A("options",t.sliderOptions)}}function t8(e,n){if(1&e){const t=ue();v(0,"td",20)(1,"ngx-slider",40),Ge("valueChange",function(i){B(t);const r=m(2);return ye(r.settings.methodCoverageMin,i)||(r.settings.methodCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const r=m(2);return ye(r.settings.methodCoverageMax,i)||(r.settings.methodCoverageMax=i),j(i)}),_()()}if(2&e){const t=m(2);f(),je("value",t.settings.methodCoverageMin)("highValue",t.settings.methodCoverageMax),A("options",t.sliderOptions)}}function n8(e,n){if(1&e){const t=ue();v(0,"td",20)(1,"ngx-slider",40),Ge("valueChange",function(i){B(t);const r=m(2);return ye(r.settings.methodFullCoverageMin,i)||(r.settings.methodFullCoverageMin=i),j(i)})("highValueChange",function(i){B(t);const r=m(2);return ye(r.settings.methodFullCoverageMax,i)||(r.settings.methodFullCoverageMax=i),j(i)}),_()()}if(2&e){const t=m(2);f(),je("value",t.settings.methodFullCoverageMin)("highValue",t.settings.methodFullCoverageMax),A("options",t.sliderOptions)}}function o8(e,n){1&e&&O(0,"td",21),2&e&&ct("colspan",m(2).settings.visibleMetrics.length)}function i8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("covered",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"covered"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered"!==t.settings.sortBy)),f(),k(t.translations.covered)}}function r8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("uncovered",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"uncovered"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"uncovered"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"uncovered"!==t.settings.sortBy)),f(),k(t.translations.uncovered)}}function s8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("coverable",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"coverable"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"coverable"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"coverable"!==t.settings.sortBy)),f(),k(t.translations.coverable)}}function a8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("total",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"total"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total"!==t.settings.sortBy)),f(),k(t.translations.total)}}function l8(e,n){if(1&e){const t=ue();v(0,"th",26)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("coverage",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"coverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"coverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"coverage"!==t.settings.sortBy)),f(),k(t.translations.percentage)}}function c8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("covered_branches",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"covered_branches"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered_branches"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered_branches"!==t.settings.sortBy)),f(),k(t.translations.covered)}}function u8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("total_branches",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"total_branches"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_branches"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_branches"!==t.settings.sortBy)),f(),k(t.translations.total)}}function d8(e,n){if(1&e){const t=ue();v(0,"th",26)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("branchcoverage",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"branchcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"branchcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"branchcoverage"!==t.settings.sortBy)),f(),k(t.translations.percentage)}}function f8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("covered_methods",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"covered_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"covered_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"covered_methods"!==t.settings.sortBy)),f(),k(t.translations.covered)}}function h8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("total_methods",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"total_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_methods"!==t.settings.sortBy)),f(),k(t.translations.total)}}function g8(e,n){if(1&e){const t=ue();v(0,"th",26)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("methodcoverage",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"methodcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"methodcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"methodcoverage"!==t.settings.sortBy)),f(),k(t.translations.percentage)}}function p8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("fullycovered_methods",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"fullycovered_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"fullycovered_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"fullycovered_methods"!==t.settings.sortBy)),f(),k(t.translations.covered)}}function m8(e,n){if(1&e){const t=ue();v(0,"th",25)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("total_methods",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"total_methods"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"total_methods"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"total_methods"!==t.settings.sortBy)),f(),k(t.translations.total)}}function _8(e,n){if(1&e){const t=ue();v(0,"th",26)(1,"a",2),U("click",function(i){return B(t),j(m(2).updateSorting("methodfullcoverage",i))}),O(2,"i",24),D(3),_()()}if(2&e){const t=m(2);f(2),A("ngClass",Ne(2,it,"methodfullcoverage"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"methodfullcoverage"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"methodfullcoverage"!==t.settings.sortBy)),f(),k(t.translations.percentage)}}function v8(e,n){if(1&e){const t=ue();v(0,"th")(1,"a",2),U("click",function(i){const r=B(t).$implicit;return j(m(2).updateSorting(r.abbreviation,i))}),O(2,"i",24),D(3),_(),v(4,"a",41),O(5,"i",42),_()()}if(2&e){const t=n.$implicit,o=m(2);f(2),A("ngClass",Ne(4,it,o.settings.sortBy===t.abbreviation&&"asc"===o.settings.sortOrder,o.settings.sortBy===t.abbreviation&&"desc"===o.settings.sortOrder,o.settings.sortBy!==t.abbreviation)),f(),k(t.name),f(),A("href",On(t.explanationUrl),Wn)}}function y8(e,n){if(1&e&&O(0,"tr",43),2&e){const t=m().$implicit,o=m(2);A("element",t)("collapsed",t.collapsed)("lineCoverageAvailable",o.settings.showLineCoverage)("branchCoverageAvailable",o.branchCoverageAvailable&&o.settings.showBranchCoverage)("methodCoverageAvailable",o.methodCoverageAvailable&&o.settings.showMethodCoverage)("methodFullCoverageAvailable",o.methodCoverageAvailable&&o.settings.showFullMethodCoverage)("visibleMetrics",o.settings.visibleMetrics)}}function C8(e,n){if(1&e&&O(0,"tr",44),2&e){const t=m().$implicit,o=m(3);A("clazz",t)("translations",o.translations)("lineCoverageAvailable",o.settings.showLineCoverage)("branchCoverageAvailable",o.branchCoverageAvailable&&o.settings.showBranchCoverage)("methodCoverageAvailable",o.methodCoverageAvailable&&o.settings.showMethodCoverage)("methodFullCoverageAvailable",o.methodCoverageAvailable&&o.settings.showFullMethodCoverage)("visibleMetrics",o.settings.visibleMetrics)("historyComparisionDate",o.settings.historyComparisionDate)}}function b8(e,n){if(1&e&&y(0,C8,1,8,"tr",44),2&e){const t=n.$implicit,o=m().$implicit,i=m(2);C(!o.collapsed&&t.visible(i.settings)?0:-1)}}function D8(e,n){if(1&e&&O(0,"tr",46),2&e){const t=m().$implicit,o=m(5);A("clazz",t)("translations",o.translations)("lineCoverageAvailable",o.settings.showLineCoverage)("branchCoverageAvailable",o.branchCoverageAvailable&&o.settings.showBranchCoverage)("methodCoverageAvailable",o.methodCoverageAvailable&&o.settings.showMethodCoverage)("methodFullCoverageAvailable",o.methodCoverageAvailable&&o.settings.showFullMethodCoverage)("visibleMetrics",o.settings.visibleMetrics)("historyComparisionDate",o.settings.historyComparisionDate)}}function w8(e,n){if(1&e&&y(0,D8,1,8,"tr",46),2&e){const t=n.$implicit,o=m(2).$implicit,i=m(3);C(!o.collapsed&&t.visible(i.settings)?0:-1)}}function E8(e,n){if(1&e&&(O(0,"tr",45),Qe(1,w8,1,1,null,null,Ye)),2&e){const t=m().$implicit,o=m(3);A("element",t)("collapsed",t.collapsed)("lineCoverageAvailable",o.settings.showLineCoverage)("branchCoverageAvailable",o.branchCoverageAvailable&&o.settings.showBranchCoverage)("methodCoverageAvailable",o.methodCoverageAvailable&&o.settings.showMethodCoverage)("methodFullCoverageAvailable",o.methodCoverageAvailable&&o.settings.showFullMethodCoverage)("visibleMetrics",o.settings.visibleMetrics),f(),Ke(t.classes)}}function M8(e,n){if(1&e&&y(0,E8,3,7),2&e){const t=n.$implicit,o=m().$implicit,i=m(2);C(!o.collapsed&&t.visible(i.settings)?0:-1)}}function I8(e,n){if(1&e&&(y(0,y8,1,7,"tr",43),Qe(1,b8,1,1,null,null,Ye),Qe(3,M8,1,1,null,null,Ye)),2&e){const t=n.$implicit,o=m(2);C(t.visible(o.settings)?0:-1),f(),Ke(t.classes),f(2),Ke(t.subElements)}}function T8(e,n){if(1&e){const t=ue();v(0,"div"),y(1,p$,1,10,"popup",0),v(2,"div",1)(3,"div")(4,"a",2),U("click",function(i){return B(t),j(m().collapseAll(i))}),D(5),_(),D(6," | "),v(7,"a",2),U("click",function(i){return B(t),j(m().expandAll(i))}),D(8),_()(),v(9,"div",3)(10,"span",4),y(11,m$,1,1),y(12,_$,1,1),y(13,v$,1,1),_(),O(14,"br"),D(15),v(16,"input",5),Ge("ngModelChange",function(i){B(t);const r=m();return ye(r.settings.grouping,i)||(r.settings.grouping=i),j(i)}),U("ngModelChange",function(){return B(t),j(m().updateCoverageInfo())}),_()(),v(17,"div",3),y(18,S$,9,5),_(),v(19,"div",6)(20,"button",7),U("click",function(){return B(t),j(m().popupVisible=!0)}),O(21,"i",8),D(22),_()()(),v(23,"div",9)(24,"table",10)(25,"colgroup"),O(26,"col",11),y(27,A$,1,0,"col",12),y(28,N$,1,0,"col",13),y(29,O$,1,0,"col",14),y(30,x$,1,0,"col",15),y(31,R$,1,0,"col",16),y(32,k$,1,0,"col",17),y(33,F$,1,0,"col",12),y(34,L$,1,0,"col",15),y(35,P$,1,0,"col",16),y(36,V$,1,0,"col",17),y(37,H$,1,0,"col",12),y(38,B$,1,0,"col",15),y(39,j$,1,0,"col",16),y(40,U$,1,0,"col",17),y(41,$$,1,0,"col",12),y(42,z$,1,0,"col",15),y(43,G$,1,0,"col",16),y(44,W$,1,0,"col",17),Qe(45,q$,1,0,"col",17,Ye),_(),v(47,"thead")(48,"tr",18),O(49,"th"),y(50,Z$,2,1,"th",19),y(51,Y$,2,1,"th",20),y(52,Q$,2,1,"th",20),y(53,K$,2,1,"th",20),y(54,J$,2,2,"th",21),_(),v(55,"tr",22)(56,"td")(57,"input",23),Ge("ngModelChange",function(i){B(t);const r=m();return ye(r.settings.filter,i)||(r.settings.filter=i),j(i)}),_()(),y(58,X$,2,3,"td",19),y(59,e8,2,3,"td",20),y(60,t8,2,3,"td",20),y(61,n8,2,3,"td",20),y(62,o8,1,1,"td",21),_(),v(63,"tr")(64,"th")(65,"a",2),U("click",function(i){return B(t),j(m().updateSorting("name",i))}),O(66,"i",24),D(67),_()(),y(68,i8,4,6,"th",25),y(69,r8,4,6,"th",25),y(70,s8,4,6,"th",25),y(71,a8,4,6,"th",25),y(72,l8,4,6,"th",26),y(73,c8,4,6,"th",25),y(74,u8,4,6,"th",25),y(75,d8,4,6,"th",26),y(76,f8,4,6,"th",25),y(77,h8,4,6,"th",25),y(78,g8,4,6,"th",26),y(79,p8,4,6,"th",25),y(80,m8,4,6,"th",25),y(81,_8,4,6,"th",26),Qe(82,v8,6,8,"th",null,Ye),_()(),v(84,"tbody"),Qe(85,I8,5,1,null,null,Ye),_()()()()}if(2&e){const t=m();f(),C(t.popupVisible?1:-1),f(4),k(t.translations.collapseAll),f(3),k(t.translations.expandAll),f(3),C(-1===t.settings.grouping?11:-1),f(),C(0===t.settings.grouping?12:-1),f(),C(t.settings.grouping>0?13:-1),f(2),P(" ",t.translations.grouping," "),f(),A("max",t.settings.groupingMaximum),je("ngModel",t.settings.grouping),f(2),C(t.historicCoverageExecutionTimes.length>0?18:-1),f(4),k(t.metrics.length>0?t.translations.selectCoverageTypesAndMetrics:t.translations.selectCoverageTypes),f(5),C(t.settings.showLineCoverage?27:-1),f(),C(t.settings.showLineCoverage?28:-1),f(),C(t.settings.showLineCoverage?29:-1),f(),C(t.settings.showLineCoverage?30:-1),f(),C(t.settings.showLineCoverage?31:-1),f(),C(t.settings.showLineCoverage?32:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?33:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?34:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?35:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?36:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?37:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?38:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?39:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?40:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?41:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?42:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?43:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?44:-1),f(),Ke(t.settings.visibleMetrics),f(5),C(t.settings.showLineCoverage?50:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?51:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?52:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?53:-1),f(),C(t.settings.visibleMetrics.length>0?54:-1),f(3),A("placeholder",On(t.translations.filter)),je("ngModel",t.settings.filter),f(),C(t.settings.showLineCoverage?58:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?59:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?60:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?61:-1),f(),C(t.settings.visibleMetrics.length>0?62:-1),f(4),A("ngClass",Ne(58,it,"name"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"name"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"name"!==t.settings.sortBy)),f(),k(t.translations.name),f(),C(t.settings.showLineCoverage?68:-1),f(),C(t.settings.showLineCoverage?69:-1),f(),C(t.settings.showLineCoverage?70:-1),f(),C(t.settings.showLineCoverage?71:-1),f(),C(t.settings.showLineCoverage?72:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?73:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?74:-1),f(),C(t.branchCoverageAvailable&&t.settings.showBranchCoverage?75:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?76:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?77:-1),f(),C(t.methodCoverageAvailable&&t.settings.showMethodCoverage?78:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?79:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?80:-1),f(),C(t.methodCoverageAvailable&&t.settings.showFullMethodCoverage?81:-1),f(),Ke(t.settings.visibleMetrics),f(3),Ke(t.codeElements)}}let S8=(()=>{var e;class n{constructor(o){this.queryString="",this.historicCoverageExecutionTimes=[],this.branchCoverageAvailable=!1,this.methodCoverageAvailable=!1,this.metrics=[],this.codeElements=[],this.translations={},this.popupVisible=!1,this.settings=new AU,this.sliderOptions={floor:0,ceil:100,step:1,ticksArray:[0,10,20,30,40,50,60,70,80,90,100],showTicks:!0},this.window=o.nativeWindow}ngOnInit(){this.historicCoverageExecutionTimes=this.window.historicCoverageExecutionTimes,this.branchCoverageAvailable=this.window.branchCoverageAvailable,this.methodCoverageAvailable=this.window.methodCoverageAvailable,this.metrics=this.window.metrics,this.translations=this.window.translations,kt.maximumDecimalPlacesForCoverageQuotas=this.window.maximumDecimalPlacesForCoverageQuotas;let o=!1;if(void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.coverageInfoSettings)console.log("Coverage info: Restoring from history",this.window.history.state.coverageInfoSettings),o=!0,this.settings=JSON.parse(JSON.stringify(this.window.history.state.coverageInfoSettings));else{let r=0,s=this.window.assemblies;for(let a=0;a-1&&(this.queryString=window.location.href.substring(i)),this.updateCoverageInfo(),o&&this.restoreCollapseState()}onBeforeUnload(){if(this.saveCollapseState(),void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Coverage info: Updating history",this.settings);let o=new lI;null!==window.history.state&&(o=JSON.parse(JSON.stringify(this.window.history.state))),o.coverageInfoSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(o,"")}}updateCoverageInfo(){let o=(new Date).getTime(),i=this.window.assemblies,r=[],s=0;if(0===this.settings.grouping)for(let c=0;c{for(let r=0;r{for(let s=0;so&&(r[s].collapsed=this.settings.collapseStates[o]),o++,i(r[s].subElements)};i(this.codeElements)}static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)(x(jg))},this.\u0275cmp=qt({type:n,selectors:[["coverage-info"]],hostBindings:function(i,r){1&i&&U("beforeunload",function(){return r.onBeforeUnload()},Ba)},standalone:!1,decls:1,vars:1,consts:[[3,"visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","showMethodFullCoverage","visibleMetrics"],[1,"customizebox"],["href","#",3,"click"],[1,"col-center"],[1,"slider-label"],["type","range","step","1","min","-1",3,"ngModelChange","max","ngModel"],[1,"col-right","right"],["type","button",3,"click"],[1,"icon-cog"],[1,"table-responsive"],[1,"overview","table-fixed","stripped"],[1,"column-min-200"],[1,"column90"],[1,"column105"],[1,"column100"],[1,"column70"],[1,"column98"],[1,"column112"],[1,"header"],["colspan","6",1,"center"],["colspan","4",1,"center"],[1,"center"],[1,"filterbar"],["type","search",3,"ngModelChange","ngModel","placeholder"],[3,"ngClass"],[1,"right"],["colspan","2",1,"center"],[3,"visibleChange","showLineCoverageChange","showBranchCoverageChange","showMethodCoverageChange","showMethodFullCoverageChange","visibleMetricsChange","visible","translations","branchCoverageAvailable","methodCoverageAvailable","metrics","showLineCoverage","showBranchCoverage","showMethodCoverage","showMethodFullCoverage","visibleMetrics"],[3,"ngModelChange","ngModel"],["value",""],[3,"value"],["value","allChanges"],["value","lineCoverageIncreaseOnly"],["value","lineCoverageDecreaseOnly"],["value","branchCoverageIncreaseOnly"],["value","branchCoverageDecreaseOnly"],["value","methodCoverageIncreaseOnly"],["value","methodCoverageDecreaseOnly"],["value","fullMethodCoverageIncreaseOnly"],["value","fullMethodCoverageDecreaseOnly"],[3,"valueChange","highValueChange","value","highValue","options"],["target","_blank",3,"href"],[1,"icon-info-circled"],["codeelement-row","",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics"],["class-row","",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics","historyComparisionDate"],["codeelement-row","",1,"namespace",3,"element","collapsed","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics"],["class-row","",1,"namespace",3,"clazz","translations","lineCoverageAvailable","branchCoverageAvailable","methodCoverageAvailable","methodFullCoverageAvailable","visibleMetrics","historyComparisionDate"]],template:function(i,r){1&i&&y(0,T8,87,62,"div"),2&i&&C(r.codeElements.length>0?0:-1)},dependencies:[Xi,kg,Lg,As,Rg,Ls,vc,ks,aI,BU,d3,g$],encapsulation:2}))}return e(),n})();class A8{constructor(){this.assembly="",this.numberOfRiskHotspots=10,this.filter="",this.sortBy="",this.sortOrder="asc"}}const Pc=(e,n,t)=>({"icon-up-dir_active":e,"icon-down-dir_active":n,"icon-up-down-dir":t}),N8=(e,n)=>({lightred:e,lightgreen:n});function O8(e,n){if(1&e&&(v(0,"option",3),D(1),_()),2&e){const t=n.$implicit;A("value",t),f(),k(t)}}function x8(e,n){if(1&e&&(v(0,"span"),D(1),_()),2&e){const t=m(2);f(),k(t.translations.top)}}function R8(e,n){1&e&&(v(0,"option",16),D(1,"20"),_())}function k8(e,n){1&e&&(v(0,"option",17),D(1,"50"),_())}function F8(e,n){1&e&&(v(0,"option",18),D(1,"100"),_())}function L8(e,n){if(1&e&&(v(0,"option",3),D(1),_()),2&e){const t=m(3);A("value",t.totalNumberOfRiskHotspots),f(),k(t.translations.all)}}function P8(e,n){if(1&e){const t=ue();v(0,"select",14),Ge("ngModelChange",function(i){B(t);const r=m(2);return ye(r.settings.numberOfRiskHotspots,i)||(r.settings.numberOfRiskHotspots=i),j(i)}),v(1,"option",15),D(2,"10"),_(),y(3,R8,2,0,"option",16),y(4,k8,2,0,"option",17),y(5,F8,2,0,"option",18),y(6,L8,2,2,"option",3),_()}if(2&e){const t=m(2);je("ngModel",t.settings.numberOfRiskHotspots),f(3),C(t.totalNumberOfRiskHotspots>10?3:-1),f(),C(t.totalNumberOfRiskHotspots>20?4:-1),f(),C(t.totalNumberOfRiskHotspots>50?5:-1),f(),C(t.totalNumberOfRiskHotspots>100?6:-1)}}function V8(e,n){1&e&&O(0,"col",11)}function H8(e,n){if(1&e){const t=ue();v(0,"th")(1,"a",12),U("click",function(i){const r=B(t).$index;return j(m(2).updateSorting(""+r,i))}),O(2,"i",13),D(3),_(),v(4,"a",19),O(5,"i",20),_()()}if(2&e){const t=n.$implicit,o=n.$index,i=m(2);f(2),A("ngClass",Ne(4,Pc,i.settings.sortBy===""+o&&"asc"===i.settings.sortOrder,i.settings.sortBy===""+o&&"desc"===i.settings.sortOrder,i.settings.sortBy!==""+o)),f(),k(t.name),f(),A("href",On(t.explanationUrl),Wn)}}function B8(e,n){if(1&e&&(v(0,"td",23),D(1),_()),2&e){const t=n.$implicit;A("ngClass",Eh(2,N8,t.exceeded,!t.exceeded)),f(),k(t.value)}}function j8(e,n){if(1&e&&(v(0,"tr")(1,"td"),D(2),_(),v(3,"td")(4,"a",21),D(5),_()(),v(6,"td",22)(7,"a",21),D(8),_()(),Qe(9,B8,2,5,"td",23,Ye),_()),2&e){const t=n.$implicit,o=m(2);f(2),k(t.assembly),f(2),A("href",t.reportPath+o.queryString,Wn),f(),k(t.class),f(),A("title",t.methodName),f(),A("href",t.reportPath+o.queryString+"#file"+t.fileIndex+"_line"+t.line,Wn),f(),P(" ",t.methodShortName," "),f(),Ke(t.metrics)}}function U8(e,n){if(1&e){const t=ue();v(0,"div")(1,"div",0)(2,"div")(3,"select",1),Ge("ngModelChange",function(i){B(t);const r=m();return ye(r.settings.assembly,i)||(r.settings.assembly=i),j(i)}),U("ngModelChange",function(){return B(t),j(m().updateRiskHotpots())}),v(4,"option",2),D(5),_(),Qe(6,O8,2,2,"option",3,Ye),_()(),v(8,"div",4),y(9,x8,2,1,"span"),y(10,P8,7,5,"select",5),_(),O(11,"div",4),v(12,"div",6)(13,"span"),D(14),_(),v(15,"input",7),Ge("ngModelChange",function(i){B(t);const r=m();return ye(r.settings.filter,i)||(r.settings.filter=i),j(i)}),U("ngModelChange",function(){return B(t),j(m().updateRiskHotpots())}),_()()(),v(16,"div",8)(17,"table",9)(18,"colgroup"),O(19,"col",10)(20,"col",10)(21,"col",10),Qe(22,V8,1,0,"col",11,Ye),_(),v(24,"thead")(25,"tr")(26,"th")(27,"a",12),U("click",function(i){return B(t),j(m().updateSorting("assembly",i))}),O(28,"i",13),D(29),_()(),v(30,"th")(31,"a",12),U("click",function(i){return B(t),j(m().updateSorting("class",i))}),O(32,"i",13),D(33),_()(),v(34,"th")(35,"a",12),U("click",function(i){return B(t),j(m().updateSorting("method",i))}),O(36,"i",13),D(37),_()(),Qe(38,H8,6,8,"th",null,Ye),_()(),v(40,"tbody"),Qe(41,j8,11,6,"tr",null,Ye),function PD(e,n){const t=K();let o;const i=e+H;t.firstCreatePass?(o=function JL(e,n){if(n)for(let t=n.length-1;t>=0;t--){const o=n[t];if(e===o.name)return o}}(n,t.pipeRegistry),t.data[i]=o,o.onDestroy&&(t.destroyHooks??=[]).push(i,o.onDestroy)):o=t.data[i];const r=o.factory||(o.factory=po(o.type)),a=pt(x);try{const l=_a(!1),c=r();return _a(l),function Iu(e,n,t,o){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=o}(t,w(),i,c),c}finally{pt(a)}}(43,"slice"),_()()()()}if(2&e){const t=m();f(3),je("ngModel",t.settings.assembly),f(2),k(t.translations.assembly),f(),Ke(t.assemblies),f(3),C(t.totalNumberOfRiskHotspots>10?9:-1),f(),C(t.totalNumberOfRiskHotspots>10?10:-1),f(4),P("",t.translations.filter," "),f(),je("ngModel",t.settings.filter),f(7),Ke(t.riskHotspotMetrics),f(6),A("ngClass",Ne(16,Pc,"assembly"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"assembly"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"assembly"!==t.settings.sortBy)),f(),k(t.translations.assembly),f(3),A("ngClass",Ne(20,Pc,"class"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"class"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"class"!==t.settings.sortBy)),f(),k(t.translations.class),f(3),A("ngClass",Ne(24,Pc,"method"===t.settings.sortBy&&"asc"===t.settings.sortOrder,"method"===t.settings.sortBy&&"desc"===t.settings.sortOrder,"method"!==t.settings.sortBy)),f(),k(t.translations.method),f(),Ke(t.riskHotspotMetrics),f(3),Ke(function VD(e,n,t,o,i){const r=e+H,s=w(),a=function bo(e,n){return e[n]}(s,r);return function bs(e,n){return e[1].data[n].pure}(s,r)?kD(s,lt(),n,a.transform,t,o,i,a):a.transform(t,o,i)}(43,12,t.riskHotspots,0,t.settings.numberOfRiskHotspots))}}let $8=(()=>{var e;class n{constructor(o){this.queryString="",this.riskHotspotMetrics=[],this.riskHotspots=[],this.totalNumberOfRiskHotspots=0,this.assemblies=[],this.translations={},this.settings=new A8,this.window=o.nativeWindow}ngOnInit(){this.riskHotspotMetrics=this.window.riskHotspotMetrics,this.translations=this.window.translations,void 0!==this.window.history&&void 0!==this.window.history.replaceState&&null!==this.window.history.state&&null!=this.window.history.state.riskHotspotsSettings&&(console.log("Risk hotspots: Restoring from history",this.window.history.state.riskHotspotsSettings),this.settings=JSON.parse(JSON.stringify(this.window.history.state.riskHotspotsSettings)));const o=window.location.href.indexOf("?");o>-1&&(this.queryString=window.location.href.substring(o)),this.updateRiskHotpots()}onDonBeforeUnlodad(){if(void 0!==this.window.history&&void 0!==this.window.history.replaceState){console.log("Risk hotspots: Updating history",this.settings);let o=new lI;null!==window.history.state&&(o=JSON.parse(JSON.stringify(this.window.history.state))),o.riskHotspotsSettings=JSON.parse(JSON.stringify(this.settings)),window.history.replaceState(o,"")}}updateRiskHotpots(){const o=this.window.riskHotspots;if(this.totalNumberOfRiskHotspots=o.length,0===this.assemblies.length){let a=[];for(let l=0;l(this.\u0275fac=function(i){return new(i||n)(x(jg))},this.\u0275cmp=qt({type:n,selectors:[["risk-hotspots"]],hostBindings:function(i,r){1&i&&U("beforeunload",function(){return r.onDonBeforeUnlodad()},Ba)},standalone:!1,decls:1,vars:1,consts:[[1,"customizebox"],["name","assembly",3,"ngModelChange","ngModel"],["value",""],[3,"value"],[1,"col-center"],[3,"ngModel"],[1,"col-right"],["type","search",3,"ngModelChange","ngModel"],[1,"table-responsive"],[1,"overview","table-fixed","stripped"],[1,"column-min-200"],[1,"column105"],["href","#",3,"click"],[3,"ngClass"],[3,"ngModelChange","ngModel"],["value","10"],["value","20"],["value","50"],["value","100"],["target","_blank",3,"href"],[1,"icon-info-circled"],[3,"href"],[3,"title"],[1,"right",3,"ngClass"]],template:function(i,r){1&i&&y(0,U8,44,28,"div"),2&i&&C(r.totalNumberOfRiskHotspots>0?0:-1)},dependencies:[Xi,kg,Lg,As,Ls,vc,ks,fE],encapsulation:2}))}return e(),n})(),z8=(()=>{var e;class n{static#e=e=()=>(this.\u0275fac=function(i){return new(i||n)},this.\u0275mod=Qn({type:n,bootstrap:[$8,S8]}),this.\u0275inj=dn({providers:[jg],imports:[BH,Hj,SU]}))}return e(),n})();HH().bootstrapModule(z8).catch(e=>console.error(e))}},Yo=>{Yo(Yo.s=653)}]); \ No newline at end of file diff --git a/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/polyfills.js b/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/polyfills.js index 596566e8..56f7cbd1 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/polyfills.js +++ b/src/ReportGenerator.Core/Reporting/Builders/Rendering/resources/polyfills.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcoverage_app=self.webpackChunkcoverage_app||[]).push([[461],{50:(te,Q,ve)=>{ve(935)},935:()=>{const te=globalThis;function Q(e){return(te.__Zone_symbol_prefix||"__zone_symbol__")+e}const Te=Object.getOwnPropertyDescriptor,Le=Object.defineProperty,Ie=Object.getPrototypeOf,_t=Object.create,Et=Array.prototype.slice,Me="addEventListener",Ze="removeEventListener",Ae=Q(Me),je=Q(Ze),ae="true",le="false",Pe=Q("");function He(e,r){return Zone.current.wrap(e,r)}function xe(e,r,c,t,i){return Zone.current.scheduleMacroTask(e,r,c,t,i)}const j=Q,Ce=typeof window<"u",ge=Ce?window:void 0,$=Ce&&ge||globalThis;function Ve(e,r){for(let c=e.length-1;c>=0;c--)"function"==typeof e[c]&&(e[c]=He(e[c],r+"_"+c));return e}function We(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const qe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,De=!("nw"in $)&&typeof $.process<"u"&&"[object process]"===$.process.toString(),Ge=!De&&!qe&&!(!Ce||!ge.HTMLElement),Xe=typeof $.process<"u"&&"[object process]"===$.process.toString()&&!qe&&!(!Ce||!ge.HTMLElement),Se={},pt=j("enable_beforeunload"),Ye=function(e){if(!(e=e||$.event))return;let r=Se[e.type];r||(r=Se[e.type]=j("ON_PROPERTY"+e.type));const c=this||e.target||$,t=c[r];let i;return Ge&&c===ge&&"error"===e.type?(i=t&&t.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===i&&e.preventDefault()):(i=t&&t.apply(this,arguments),"beforeunload"===e.type&&$[pt]&&"string"==typeof i?e.returnValue=i:null!=i&&!i&&e.preventDefault()),i};function $e(e,r,c){let t=Te(e,r);if(!t&&c&&Te(c,r)&&(t={enumerable:!0,configurable:!0}),!t||!t.configurable)return;const i=j("on"+r+"patched");if(e.hasOwnProperty(i)&&e[i])return;delete t.writable,delete t.value;const u=t.get,E=t.set,T=r.slice(2);let y=Se[T];y||(y=Se[T]=j("ON_PROPERTY"+T)),t.set=function(D){let d=this;!d&&e===$&&(d=$),d&&("function"==typeof d[y]&&d.removeEventListener(T,Ye),E&&E.call(d,null),d[y]=D,"function"==typeof D&&d.addEventListener(T,Ye,!1))},t.get=function(){let D=this;if(!D&&e===$&&(D=$),!D)return null;const d=D[y];if(d)return d;if(u){let w=u.call(this);if(w)return t.set.call(this,w),"function"==typeof D.removeAttribute&&D.removeAttribute(r),w}return null},Le(e,r,t),e[i]=!0}function Ke(e,r,c){if(r)for(let t=0;tfunction(E,T){const y=c(E,T);return y.cbIdx>=0&&"function"==typeof T[y.cbIdx]?xe(y.name,T[y.cbIdx],y,i):u.apply(E,T)})}function fe(e,r){e[j("OriginalDelegate")]=r}let Je=!1,Be=!1;function kt(){if(Je)return Be;Je=!0;try{const e=ge.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(Be=!0)}catch{}return Be}function Qe(e){return"function"==typeof e}function et(e){return"number"==typeof e}let pe=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){pe=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{pe=!1}const vt={useG:!0},ne={},tt={},nt=new RegExp("^"+Pe+"(\\w+)(true|false)$"),rt=j("propagationStopped");function ot(e,r){const c=(r?r(e):e)+le,t=(r?r(e):e)+ae,i=Pe+c,u=Pe+t;ne[e]={},ne[e][le]=i,ne[e][ae]=u}function bt(e,r,c,t){const i=t&&t.add||Me,u=t&&t.rm||Ze,E=t&&t.listeners||"eventListeners",T=t&&t.rmAll||"removeAllListeners",y=j(i),D="."+i+":",d="prependListener",w="."+d+":",Z=function(k,h,H){if(k.isRemoved)return;const V=k.callback;let Y;"object"==typeof V&&V.handleEvent&&(k.callback=g=>V.handleEvent(g),k.originalDelegate=V);try{k.invoke(k,h,[H])}catch(g){Y=g}const G=k.options;return G&&"object"==typeof G&&G.once&&h[u].call(h,H.type,k.originalDelegate?k.originalDelegate:k.callback,G),Y};function x(k,h,H){if(!(h=h||e.event))return;const V=k||h.target||e,Y=V[ne[h.type][H?ae:le]];if(Y){const G=[];if(1===Y.length){const g=Z(Y[0],V,h);g&&G.push(g)}else{const g=Y.slice();for(let z=0;z{throw z})}}}const U=function(k){return x(this,k,!1)},K=function(k){return x(this,k,!0)};function J(k,h){if(!k)return!1;let H=!0;h&&void 0!==h.useG&&(H=h.useG);const V=h&&h.vh;let Y=!0;h&&void 0!==h.chkDup&&(Y=h.chkDup);let G=!1;h&&void 0!==h.rt&&(G=h.rt);let g=k;for(;g&&!g.hasOwnProperty(i);)g=Ie(g);if(!g&&k[i]&&(g=k),!g||g[y])return!1;const z=h&&h.eventNameToString,O={},R=g[y]=g[i],b=g[j(u)]=g[u],S=g[j(E)]=g[E],ee=g[j(T)]=g[T];let W;h&&h.prepend&&(W=g[j(h.prepend)]=g[h.prepend]);const q=H?function(s){if(!O.isExisting)return R.call(O.target,O.eventName,O.capture?K:U,O.options)}:function(s){return R.call(O.target,O.eventName,s.invoke,O.options)},A=H?function(s){if(!s.isRemoved){const l=ne[s.eventName];let v;l&&(v=l[s.capture?ae:le]);const C=v&&s.target[v];if(C)for(let p=0;pse.zone.cancelTask(se);s.call(me,"abort",ce,{once:!0}),se.removeAbortListener=()=>me.removeEventListener("abort",ce)}return O.target=null,Re&&(Re.taskData=null),lt&&(O.options.once=!0),!pe&&"boolean"==typeof se.options||(se.options=ie),se.target=I,se.capture=Ue,se.eventName=M,F&&(se.originalDelegate=B),L?ke.unshift(se):ke.push(se),p?I:void 0}};return g[i]=a(R,D,q,A,G),W&&(g[d]=a(W,w,function(s){return W.call(O.target,O.eventName,s.invoke,O.options)},A,G,!0)),g[u]=function(){const s=this||e;let l=arguments[0];h&&h.transferEventName&&(l=h.transferEventName(l));const v=arguments[2],C=!!v&&("boolean"==typeof v||v.capture),p=arguments[1];if(!p)return b.apply(this,arguments);if(V&&!V(b,p,s,arguments))return;const L=ne[l];let I;L&&(I=L[C?ae:le]);const M=I&&s[I];if(M)for(let B=0;Bfunction(i,u){i[rt]=!0,t&&t.apply(i,u)})}const Oe=j("zoneTask");function ye(e,r,c,t){let i=null,u=null;c+=t;const E={};function T(D){const d=D.data;d.args[0]=function(){return D.invoke.apply(this,arguments)};const w=i.apply(e,d.args);return et(w)?d.handleId=w:(d.handle=w,d.isRefreshable=Qe(w.refresh)),D}function y(D){const{handle:d,handleId:w}=D.data;return u.call(e,d??w)}i=ue(e,r+=t,D=>function(d,w){if(Qe(w[0])){const Z={isRefreshable:!1,isPeriodic:"Interval"===t,delay:"Timeout"===t||"Interval"===t?w[1]||0:void 0,args:w},x=w[0];w[0]=function(){try{return x.apply(this,arguments)}finally{const{handle:H,handleId:V,isPeriodic:Y,isRefreshable:G}=Z;!Y&&!G&&(V?delete E[V]:H&&(H[Oe]=null))}};const U=xe(r,w[0],Z,T,y);if(!U)return U;const{handleId:K,handle:J,isRefreshable:X,isPeriodic:k}=U.data;if(K)E[K]=U;else if(J&&(J[Oe]=U,X&&!k)){const h=J.refresh;J.refresh=function(){const{zone:H,state:V}=U;return"notScheduled"===V?(U._state="scheduled",H._updateTaskCount(U,1)):"running"===V&&(U._state="scheduling"),h.call(this)}}return J??K??U}return D.apply(e,w)}),u=ue(e,c,D=>function(d,w){const Z=w[0];let x;et(Z)?(x=E[Z],delete E[Z]):(x=Z?.[Oe],x?Z[Oe]=null:x=Z),x?.type?x.cancelFn&&x.zone.cancelTask(x):D.apply(e,w)})}function it(e,r,c){if(!c||0===c.length)return r;const t=c.filter(u=>u.target===e);if(!t||0===t.length)return r;const i=t[0].ignoreProperties;return r.filter(u=>-1===i.indexOf(u))}function ct(e,r,c,t){e&&Ke(e,it(e,r,c),t)}function Fe(e){return Object.getOwnPropertyNames(e).filter(r=>r.startsWith("on")&&r.length>2).map(r=>r.substring(2))}function It(e,r,c,t,i){const u=Zone.__symbol__(t);if(r[u])return;const E=r[u]=r[t];r[t]=function(T,y,D){return y&&y.prototype&&i.forEach(function(d){const w=`${c}.${t}::`+d,Z=y.prototype;try{if(Z.hasOwnProperty(d)){const x=e.ObjectGetOwnPropertyDescriptor(Z,d);x&&x.value?(x.value=e.wrapWithCurrentZone(x.value,w),e._redefineProperty(y.prototype,d,x)):Z[d]&&(Z[d]=e.wrapWithCurrentZone(Z[d],w))}else Z[d]&&(Z[d]=e.wrapWithCurrentZone(Z[d],w))}catch{}}),E.call(r,T,y,D)},e.attachOriginToPatched(r[t],E)}const at=function be(){const e=globalThis,r=!0===e[Q("forceDuplicateZoneCheck")];if(e.Zone&&(r||"function"!=typeof e.Zone.__symbol__))throw new Error("Zone already loaded.");return e.Zone??=function ve(){const e=te.performance;function r(N){e&&e.mark&&e.mark(N)}function c(N,_){e&&e.measure&&e.measure(N,_)}r("Zone");let t=(()=>{class N{static{this.__symbol__=Q}static assertZonePatched(){if(te.Promise!==O.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let n=N.current;for(;n.parent;)n=n.parent;return n}static get current(){return b.zone}static get currentTask(){return S}static __load_patch(n,o,m=!1){if(O.hasOwnProperty(n)){const P=!0===te[Q("forceDuplicateZoneCheck")];if(!m&&P)throw Error("Already loaded patch: "+n)}else if(!te["__Zone_disable_"+n]){const P="Zone:"+n;r(P),O[n]=o(te,N,R),c(P,P)}}get parent(){return this._parent}get name(){return this._name}constructor(n,o){this._parent=n,this._name=o?o.name||"unnamed":"",this._properties=o&&o.properties||{},this._zoneDelegate=new u(this,this._parent&&this._parent._zoneDelegate,o)}get(n){const o=this.getZoneWith(n);if(o)return o._properties[n]}getZoneWith(n){let o=this;for(;o;){if(o._properties.hasOwnProperty(n))return o;o=o._parent}return null}fork(n){if(!n)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,n)}wrap(n,o){if("function"!=typeof n)throw new Error("Expecting function got: "+n);const m=this._zoneDelegate.intercept(this,n,o),P=this;return function(){return P.runGuarded(m,this,arguments,o)}}run(n,o,m,P){b={parent:b,zone:this};try{return this._zoneDelegate.invoke(this,n,o,m,P)}finally{b=b.parent}}runGuarded(n,o=null,m,P){b={parent:b,zone:this};try{try{return this._zoneDelegate.invoke(this,n,o,m,P)}catch(q){if(this._zoneDelegate.handleError(this,q))throw q}}finally{b=b.parent}}runTask(n,o,m){if(n.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(n.zone||J).name+"; Execution: "+this.name+")");const P=n,{type:q,data:{isPeriodic:A=!1,isRefreshable:_e=!1}={}}=n;if(n.state===X&&(q===z||q===g))return;const he=n.state!=H;he&&P._transitionTo(H,h);const de=S;S=P,b={parent:b,zone:this};try{q==g&&n.data&&!A&&!_e&&(n.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,P,o,m)}catch(oe){if(this._zoneDelegate.handleError(this,oe))throw oe}}finally{const oe=n.state;if(oe!==X&&oe!==Y)if(q==z||A||_e&&oe===k)he&&P._transitionTo(h,H,k);else{const f=P._zoneDelegates;this._updateTaskCount(P,-1),he&&P._transitionTo(X,H,X),_e&&(P._zoneDelegates=f)}b=b.parent,S=de}}scheduleTask(n){if(n.zone&&n.zone!==this){let m=this;for(;m;){if(m===n.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${n.zone.name}`);m=m.parent}}n._transitionTo(k,X);const o=[];n._zoneDelegates=o,n._zone=this;try{n=this._zoneDelegate.scheduleTask(this,n)}catch(m){throw n._transitionTo(Y,k,X),this._zoneDelegate.handleError(this,m),m}return n._zoneDelegates===o&&this._updateTaskCount(n,1),n.state==k&&n._transitionTo(h,k),n}scheduleMicroTask(n,o,m,P){return this.scheduleTask(new E(G,n,o,m,P,void 0))}scheduleMacroTask(n,o,m,P,q){return this.scheduleTask(new E(g,n,o,m,P,q))}scheduleEventTask(n,o,m,P,q){return this.scheduleTask(new E(z,n,o,m,P,q))}cancelTask(n){if(n.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(n.zone||J).name+"; Execution: "+this.name+")");if(n.state===h||n.state===H){n._transitionTo(V,h,H);try{this._zoneDelegate.cancelTask(this,n)}catch(o){throw n._transitionTo(Y,V),this._zoneDelegate.handleError(this,o),o}return this._updateTaskCount(n,-1),n._transitionTo(X,V),n.runCount=-1,n}}_updateTaskCount(n,o){const m=n._zoneDelegates;-1==o&&(n._zoneDelegates=null);for(let P=0;PN.hasTask(n,o),onScheduleTask:(N,_,n,o)=>N.scheduleTask(n,o),onInvokeTask:(N,_,n,o,m,P)=>N.invokeTask(n,o,m,P),onCancelTask:(N,_,n,o)=>N.cancelTask(n,o)};class u{get zone(){return this._zone}constructor(_,n,o){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this._zone=_,this._parentDelegate=n,this._forkZS=o&&(o&&o.onFork?o:n._forkZS),this._forkDlgt=o&&(o.onFork?n:n._forkDlgt),this._forkCurrZone=o&&(o.onFork?this._zone:n._forkCurrZone),this._interceptZS=o&&(o.onIntercept?o:n._interceptZS),this._interceptDlgt=o&&(o.onIntercept?n:n._interceptDlgt),this._interceptCurrZone=o&&(o.onIntercept?this._zone:n._interceptCurrZone),this._invokeZS=o&&(o.onInvoke?o:n._invokeZS),this._invokeDlgt=o&&(o.onInvoke?n:n._invokeDlgt),this._invokeCurrZone=o&&(o.onInvoke?this._zone:n._invokeCurrZone),this._handleErrorZS=o&&(o.onHandleError?o:n._handleErrorZS),this._handleErrorDlgt=o&&(o.onHandleError?n:n._handleErrorDlgt),this._handleErrorCurrZone=o&&(o.onHandleError?this._zone:n._handleErrorCurrZone),this._scheduleTaskZS=o&&(o.onScheduleTask?o:n._scheduleTaskZS),this._scheduleTaskDlgt=o&&(o.onScheduleTask?n:n._scheduleTaskDlgt),this._scheduleTaskCurrZone=o&&(o.onScheduleTask?this._zone:n._scheduleTaskCurrZone),this._invokeTaskZS=o&&(o.onInvokeTask?o:n._invokeTaskZS),this._invokeTaskDlgt=o&&(o.onInvokeTask?n:n._invokeTaskDlgt),this._invokeTaskCurrZone=o&&(o.onInvokeTask?this._zone:n._invokeTaskCurrZone),this._cancelTaskZS=o&&(o.onCancelTask?o:n._cancelTaskZS),this._cancelTaskDlgt=o&&(o.onCancelTask?n:n._cancelTaskDlgt),this._cancelTaskCurrZone=o&&(o.onCancelTask?this._zone:n._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const m=o&&o.onHasTask;(m||n&&n._hasTaskZS)&&(this._hasTaskZS=m?o:i,this._hasTaskDlgt=n,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=this._zone,o.onScheduleTask||(this._scheduleTaskZS=i,this._scheduleTaskDlgt=n,this._scheduleTaskCurrZone=this._zone),o.onInvokeTask||(this._invokeTaskZS=i,this._invokeTaskDlgt=n,this._invokeTaskCurrZone=this._zone),o.onCancelTask||(this._cancelTaskZS=i,this._cancelTaskDlgt=n,this._cancelTaskCurrZone=this._zone))}fork(_,n){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,_,n):new t(_,n)}intercept(_,n,o){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,_,n,o):n}invoke(_,n,o,m,P){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,_,n,o,m,P):n.apply(o,m)}handleError(_,n){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,_,n)}scheduleTask(_,n){let o=n;if(this._scheduleTaskZS)this._hasTaskZS&&o._zoneDelegates.push(this._hasTaskDlgtOwner),o=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,_,n),o||(o=n);else if(n.scheduleFn)n.scheduleFn(n);else{if(n.type!=G)throw new Error("Task is missing scheduleFn.");U(n)}return o}invokeTask(_,n,o,m){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,_,n,o,m):n.callback.apply(o,m)}cancelTask(_,n){let o;if(this._cancelTaskZS)o=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,_,n);else{if(!n.cancelFn)throw Error("Task is not cancelable");o=n.cancelFn(n)}return o}hasTask(_,n){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,_,n)}catch(o){this.handleError(_,o)}}_updateTaskCount(_,n){const o=this._taskCounts,m=o[_],P=o[_]=m+n;if(P<0)throw new Error("More tasks executed then were scheduled.");0!=m&&0!=P||this.hasTask(this._zone,{microTask:o.microTask>0,macroTask:o.macroTask>0,eventTask:o.eventTask>0,change:_})}}class E{constructor(_,n,o,m,P,q){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=_,this.source=n,this.data=m,this.scheduleFn=P,this.cancelFn=q,!o)throw new Error("callback is not defined");this.callback=o;const A=this;this.invoke=_===z&&m&&m.useG?E.invokeTask:function(){return E.invokeTask.call(te,A,this,arguments)}}static invokeTask(_,n,o){_||(_=this),ee++;try{return _.runCount++,_.zone.runTask(_,n,o)}finally{1==ee&&K(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(X,k)}_transitionTo(_,n,o){if(this._state!==n&&this._state!==o)throw new Error(`${this.type} '${this.source}': can not transition to '${_}', expecting state '${n}'${o?" or '"+o+"'":""}, was '${this._state}'.`);this._state=_,_==X&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const T=Q("setTimeout"),y=Q("Promise"),D=Q("then");let Z,d=[],w=!1;function x(N){if(Z||te[y]&&(Z=te[y].resolve(0)),Z){let _=Z[D];_||(_=Z.then),_.call(Z,N)}else te[T](N,0)}function U(N){0===ee&&0===d.length&&x(K),N&&d.push(N)}function K(){if(!w){for(w=!0;d.length;){const N=d;d=[];for(let _=0;_b,onUnhandledError:W,microtaskDrainDone:W,scheduleMicroTask:U,showUncaughtError:()=>!t[Q("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:W,patchMethod:()=>W,bindArguments:()=>[],patchThen:()=>W,patchMacroTask:()=>W,patchEventPrototype:()=>W,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>W,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>W,wrapWithCurrentZone:()=>W,filterProperties:()=>[],attachOriginToPatched:()=>W,_redefineProperty:()=>W,patchCallbacks:()=>W,nativeScheduleMicroTask:x};let b={parent:null,zone:new t(null,null)},S=null,ee=0;function W(){}return c("Zone","Zone"),t}(),e.Zone}();(function Zt(e){(function Nt(e){e.__load_patch("ZoneAwarePromise",(r,c,t)=>{const i=Object.getOwnPropertyDescriptor,u=Object.defineProperty,T=t.symbol,y=[],D=!1!==r[T("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],d=T("Promise"),w=T("then");t.onUnhandledError=f=>{if(t.showUncaughtError()){const a=f&&f.rejection;a?console.error("Unhandled Promise rejection:",a instanceof Error?a.message:a,"; Zone:",f.zone.name,"; Task:",f.task&&f.task.source,"; Value:",a,a instanceof Error?a.stack:void 0):console.error(f)}},t.microtaskDrainDone=()=>{for(;y.length;){const f=y.shift();try{f.zone.runGuarded(()=>{throw f.throwOriginal?f.rejection:f})}catch(a){U(a)}}};const x=T("unhandledPromiseRejectionHandler");function U(f){t.onUnhandledError(f);try{const a=c[x];"function"==typeof a&&a.call(this,f)}catch{}}function K(f){return f&&f.then}function J(f){return f}function X(f){return A.reject(f)}const k=T("state"),h=T("value"),H=T("finally"),V=T("parentPromiseValue"),Y=T("parentPromiseState"),g=null,z=!0,O=!1;function b(f,a){return s=>{try{N(f,a,s)}catch(l){N(f,!1,l)}}}const S=function(){let f=!1;return function(s){return function(){f||(f=!0,s.apply(null,arguments))}}},ee="Promise resolved with itself",W=T("currentTaskTrace");function N(f,a,s){const l=S();if(f===s)throw new TypeError(ee);if(f[k]===g){let v=null;try{("object"==typeof s||"function"==typeof s)&&(v=s&&s.then)}catch(C){return l(()=>{N(f,!1,C)})(),f}if(a!==O&&s instanceof A&&s.hasOwnProperty(k)&&s.hasOwnProperty(h)&&s[k]!==g)n(s),N(f,s[k],s[h]);else if(a!==O&&"function"==typeof v)try{v.call(s,l(b(f,a)),l(b(f,!1)))}catch(C){l(()=>{N(f,!1,C)})()}else{f[k]=a;const C=f[h];if(f[h]=s,f[H]===H&&a===z&&(f[k]=f[Y],f[h]=f[V]),a===O&&s instanceof Error){const p=c.currentTask&&c.currentTask.data&&c.currentTask.data.__creationTrace__;p&&u(s,W,{configurable:!0,enumerable:!1,writable:!0,value:p})}for(let p=0;p{try{const L=f[h],I=!!s&&H===s[H];I&&(s[V]=L,s[Y]=C);const M=a.run(p,void 0,I&&p!==X&&p!==J?[]:[L]);N(s,!0,M)}catch(L){N(s,!1,L)}},s)}const P=function(){},q=r.AggregateError;class A{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(a){return a instanceof A?a:N(new this(null),z,a)}static reject(a){return N(new this(null),O,a)}static withResolvers(){const a={};return a.promise=new A((s,l)=>{a.resolve=s,a.reject=l}),a}static any(a){if(!a||"function"!=typeof a[Symbol.iterator])return Promise.reject(new q([],"All promises were rejected"));const s=[];let l=0;try{for(let p of a)l++,s.push(A.resolve(p))}catch{return Promise.reject(new q([],"All promises were rejected"))}if(0===l)return Promise.reject(new q([],"All promises were rejected"));let v=!1;const C=[];return new A((p,L)=>{for(let I=0;I{v||(v=!0,p(M))},M=>{C.push(M),l--,0===l&&(v=!0,L(new q(C,"All promises were rejected")))})})}static race(a){let s,l,v=new this((L,I)=>{s=L,l=I});function C(L){s(L)}function p(L){l(L)}for(let L of a)K(L)||(L=this.resolve(L)),L.then(C,p);return v}static all(a){return A.allWithCallback(a)}static allSettled(a){return(this&&this.prototype instanceof A?this:A).allWithCallback(a,{thenCallback:l=>({status:"fulfilled",value:l}),errorCallback:l=>({status:"rejected",reason:l})})}static allWithCallback(a,s){let l,v,C=new this((M,B)=>{l=M,v=B}),p=2,L=0;const I=[];for(let M of a){K(M)||(M=this.resolve(M));const B=L;try{M.then(F=>{I[B]=s?s.thenCallback(F):F,p--,0===p&&l(I)},F=>{s?(I[B]=s.errorCallback(F),p--,0===p&&l(I)):v(F)})}catch(F){v(F)}p++,L++}return p-=2,0===p&&l(I),C}constructor(a){const s=this;if(!(s instanceof A))throw new Error("Must be an instanceof Promise.");s[k]=g,s[h]=[];try{const l=S();a&&a(l(b(s,z)),l(b(s,O)))}catch(l){N(s,!1,l)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return A}then(a,s){let l=this.constructor?.[Symbol.species];(!l||"function"!=typeof l)&&(l=this.constructor||A);const v=new l(P),C=c.current;return this[k]==g?this[h].push(C,v,a,s):o(this,C,v,a,s),v}catch(a){return this.then(null,a)}finally(a){let s=this.constructor?.[Symbol.species];(!s||"function"!=typeof s)&&(s=A);const l=new s(P);l[H]=H;const v=c.current;return this[k]==g?this[h].push(v,l,a,a):o(this,v,l,a,a),l}}A.resolve=A.resolve,A.reject=A.reject,A.race=A.race,A.all=A.all;const _e=r[d]=r.Promise;r.Promise=A;const he=T("thenPatched");function de(f){const a=f.prototype,s=i(a,"then");if(s&&(!1===s.writable||!s.configurable))return;const l=a.then;a[w]=l,f.prototype.then=function(v,C){return new A((L,I)=>{l.call(this,L,I)}).then(v,C)},f[he]=!0}return t.patchThen=de,_e&&(de(_e),ue(r,"fetch",f=>function oe(f){return function(a,s){let l=f.apply(a,s);if(l instanceof A)return l;let v=l.constructor;return v[he]||de(v),l}}(f))),Promise[c.__symbol__("uncaughtPromiseErrors")]=y,A})})(e),function Lt(e){e.__load_patch("toString",r=>{const c=Function.prototype.toString,t=j("OriginalDelegate"),i=j("Promise"),u=j("Error"),E=function(){if("function"==typeof this){const d=this[t];if(d)return"function"==typeof d?c.call(d):Object.prototype.toString.call(d);if(this===Promise){const w=r[i];if(w)return c.call(w)}if(this===Error){const w=r[u];if(w)return c.call(w)}}return c.call(this)};E[t]=c,Function.prototype.toString=E;const T=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":T.call(this)}})}(e),function Mt(e){e.__load_patch("util",(r,c,t)=>{const i=Fe(r);t.patchOnProperties=Ke,t.patchMethod=ue,t.bindArguments=Ve,t.patchMacroTask=yt;const u=c.__symbol__("BLACK_LISTED_EVENTS"),E=c.__symbol__("UNPATCHED_EVENTS");r[E]&&(r[u]=r[E]),r[u]&&(c[u]=c[E]=r[u]),t.patchEventPrototype=Pt,t.patchEventTarget=bt,t.isIEOrEdge=kt,t.ObjectDefineProperty=Le,t.ObjectGetOwnPropertyDescriptor=Te,t.ObjectCreate=_t,t.ArraySlice=Et,t.patchClass=we,t.wrapWithCurrentZone=He,t.filterProperties=it,t.attachOriginToPatched=fe,t._redefineProperty=Object.defineProperty,t.patchCallbacks=It,t.getGlobalObjects=()=>({globalSources:tt,zoneSymbolEventNames:ne,eventNames:i,isBrowser:Ge,isMix:Xe,isNode:De,TRUE_STR:ae,FALSE_STR:le,ZONE_SYMBOL_PREFIX:Pe,ADD_EVENT_LISTENER_STR:Me,REMOVE_EVENT_LISTENER_STR:Ze})})}(e)})(at),function Ot(e){e.__load_patch("legacy",r=>{const c=r[e.__symbol__("legacyPatch")];c&&c()}),e.__load_patch("timers",r=>{const c="set",t="clear";ye(r,c,t,"Timeout"),ye(r,c,t,"Interval"),ye(r,c,t,"Immediate")}),e.__load_patch("requestAnimationFrame",r=>{ye(r,"request","cancel","AnimationFrame"),ye(r,"mozRequest","mozCancel","AnimationFrame"),ye(r,"webkitRequest","webkitCancel","AnimationFrame")}),e.__load_patch("blocking",(r,c)=>{const t=["alert","prompt","confirm"];for(let i=0;ifunction(D,d){return c.current.run(E,r,d,y)})}),e.__load_patch("EventTarget",(r,c,t)=>{(function Dt(e,r){r.patchEventPrototype(e,r)})(r,t),function Ct(e,r){if(Zone[r.symbol("patchEventTarget")])return;const{eventNames:c,zoneSymbolEventNames:t,TRUE_STR:i,FALSE_STR:u,ZONE_SYMBOL_PREFIX:E}=r.getGlobalObjects();for(let y=0;y{we("MutationObserver"),we("WebKitMutationObserver")}),e.__load_patch("IntersectionObserver",(r,c,t)=>{we("IntersectionObserver")}),e.__load_patch("FileReader",(r,c,t)=>{we("FileReader")}),e.__load_patch("on_property",(r,c,t)=>{!function St(e,r){if(De&&!Xe||Zone[e.symbol("patchEvents")])return;const c=r.__Zone_ignore_on_properties;let t=[];if(Ge){const i=window;t=t.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const u=function mt(){try{const e=ge.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:i,ignoreProperties:["error"]}]:[];ct(i,Fe(i),c&&c.concat(u),Ie(i))}t=t.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let i=0;i{!function Rt(e,r){const{isBrowser:c,isMix:t}=r.getGlobalObjects();(c||t)&&e.customElements&&"customElements"in e&&r.patchCallbacks(r,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback","formAssociatedCallback","formDisabledCallback","formResetCallback","formStateRestoreCallback"])}(r,t)}),e.__load_patch("XHR",(r,c)=>{!function D(d){const w=d.XMLHttpRequest;if(!w)return;const Z=w.prototype;let U=Z[Ae],K=Z[je];if(!U){const R=d.XMLHttpRequestEventTarget;if(R){const b=R.prototype;U=b[Ae],K=b[je]}}const J="readystatechange",X="scheduled";function k(R){const b=R.data,S=b.target;S[E]=!1,S[y]=!1;const ee=S[u];U||(U=S[Ae],K=S[je]),ee&&K.call(S,J,ee);const W=S[u]=()=>{if(S.readyState===S.DONE)if(!b.aborted&&S[E]&&R.state===X){const _=S[c.__symbol__("loadfalse")];if(0!==S.status&&_&&_.length>0){const n=R.invoke;R.invoke=function(){const o=S[c.__symbol__("loadfalse")];for(let m=0;mfunction(R,b){return R[i]=0==b[2],R[T]=b[1],V.apply(R,b)}),G=j("fetchTaskAborting"),g=j("fetchTaskScheduling"),z=ue(Z,"send",()=>function(R,b){if(!0===c.current[g]||R[i])return z.apply(R,b);{const S={target:R,url:R[T],isPeriodic:!1,args:b,aborted:!1},ee=xe("XMLHttpRequest.send",h,S,k,H);R&&!0===R[y]&&!S.aborted&&ee.state===X&&ee.invoke()}}),O=ue(Z,"abort",()=>function(R,b){const S=function x(R){return R[t]}(R);if(S&&"string"==typeof S.type){if(null==S.cancelFn||S.data&&S.data.aborted)return;S.zone.cancelTask(S)}else if(!0===c.current[G])return O.apply(R,b)})}(r);const t=j("xhrTask"),i=j("xhrSync"),u=j("xhrListener"),E=j("xhrScheduled"),T=j("xhrURL"),y=j("xhrErrorBeforeScheduled")}),e.__load_patch("geolocation",r=>{r.navigator&&r.navigator.geolocation&&function gt(e,r){const c=e.constructor.name;for(let t=0;t{const y=function(){return T.apply(this,Ve(arguments,c+"."+i))};return fe(y,T),y})(u)}}}(r.navigator.geolocation,["getCurrentPosition","watchPosition"])}),e.__load_patch("PromiseRejectionEvent",(r,c)=>{function t(i){return function(u){st(r,i).forEach(T=>{const y=r.PromiseRejectionEvent;if(y){const D=new y(i,{promise:u.promise,reason:u.rejection});T.invoke(D)}})}}r.PromiseRejectionEvent&&(c[j("unhandledPromiseRejectionHandler")]=t("unhandledrejection"),c[j("rejectionHandledHandler")]=t("rejectionhandled"))}),e.__load_patch("queueMicrotask",(r,c,t)=>{!function wt(e,r){r.patchMethod(e,"queueMicrotask",c=>function(t,i){Zone.current.scheduleMicroTask("queueMicrotask",i[0])})}(r,t)})}(at)}},te=>{te(te.s=50)}]); \ No newline at end of file +"use strict";(self.webpackChunkcoverage_app=self.webpackChunkcoverage_app||[]).push([[461],{50:(te,Q,ve)=>{ve(935)},935:()=>{const te=globalThis;function Q(t){return(te.__Zone_symbol_prefix||"__zone_symbol__")+t}const Ee=Object.getOwnPropertyDescriptor,Le=Object.defineProperty,Ie=Object.getPrototypeOf,_t=Object.create,Et=Array.prototype.slice,Me="addEventListener",Ze="removeEventListener",Ae=Q(Me),je=Q(Ze),ae="true",le="false",Pe=Q("");function He(t,r){return Zone.current.wrap(t,r)}function xe(t,r,i,n,s){return Zone.current.scheduleMacroTask(t,r,i,n,s)}const H=Q,Ce=typeof window<"u",Te=Ce?window:void 0,$=Ce&&Te||globalThis;function Ve(t,r){for(let i=t.length-1;i>=0;i--)"function"==typeof t[i]&&(t[i]=He(t[i],r+"_"+i));return t}function We(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&typeof t.set>"u")}const qe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,De=!("nw"in $)&&typeof $.process<"u"&&"[object process]"===$.process.toString(),Ge=!De&&!qe&&!(!Ce||!Te.HTMLElement),Xe=typeof $.process<"u"&&"[object process]"===$.process.toString()&&!qe&&!(!Ce||!Te.HTMLElement),Se={},pt=H("enable_beforeunload"),Ye=function(t){if(!(t=t||$.event))return;let r=Se[t.type];r||(r=Se[t.type]=H("ON_PROPERTY"+t.type));const i=this||t.target||$,n=i[r];let s;return Ge&&i===Te&&"error"===t.type?(s=n&&n.call(this,t.message,t.filename,t.lineno,t.colno,t.error),!0===s&&t.preventDefault()):(s=n&&n.apply(this,arguments),"beforeunload"===t.type&&$[pt]&&"string"==typeof s?t.returnValue=s:null!=s&&!s&&t.preventDefault()),s};function $e(t,r,i){let n=Ee(t,r);if(!n&&i&&Ee(i,r)&&(n={enumerable:!0,configurable:!0}),!n||!n.configurable)return;const s=H("on"+r+"patched");if(t.hasOwnProperty(s)&&t[s])return;delete n.writable,delete n.value;const f=n.get,T=n.set,g=r.slice(2);let m=Se[g];m||(m=Se[g]=H("ON_PROPERTY"+g)),n.set=function(C){let E=this;!E&&t===$&&(E=$),E&&("function"==typeof E[m]&&E.removeEventListener(g,Ye),T&&T.call(E,null),E[m]=C,"function"==typeof C&&E.addEventListener(g,Ye,!1))},n.get=function(){let C=this;if(!C&&t===$&&(C=$),!C)return null;const E=C[m];if(E)return E;if(f){let P=f.call(this);if(P)return n.set.call(this,P),"function"==typeof C.removeAttribute&&C.removeAttribute(r),P}return null},Le(t,r,n),t[s]=!0}function Ke(t,r,i){if(r)for(let n=0;nfunction(T,g){const m=i(T,g);return m.cbIdx>=0&&"function"==typeof g[m.cbIdx]?xe(m.name,g[m.cbIdx],m,s):f.apply(T,g)})}function fe(t,r){t[H("OriginalDelegate")]=r}let Je=!1,Be=!1;function kt(){if(Je)return Be;Je=!0;try{const t=Te.navigator.userAgent;(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/")||-1!==t.indexOf("Edge/"))&&(Be=!0)}catch{}return Be}function Qe(t){return"function"==typeof t}function et(t){return"number"==typeof t}let ge=!1;if(typeof window<"u")try{const t=Object.defineProperty({},"passive",{get:function(){ge=!0}});window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch{ge=!1}const vt={useG:!0},ne={},tt={},nt=new RegExp("^"+Pe+"(\\w+)(true|false)$"),rt=H("propagationStopped");function ot(t,r){const i=(r?r(t):t)+le,n=(r?r(t):t)+ae,s=Pe+i,f=Pe+n;ne[t]={},ne[t][le]=s,ne[t][ae]=f}function bt(t,r,i,n){const s=n&&n.add||Me,f=n&&n.rm||Ze,T=n&&n.listeners||"eventListeners",g=n&&n.rmAll||"removeAllListeners",m=H(s),C="."+s+":",E="prependListener",P="."+E+":",A=function(k,h,x){if(k.isRemoved)return;const G=k.callback;let Y;"object"==typeof G&&G.handleEvent&&(k.callback=p=>G.handleEvent(p),k.originalDelegate=G);try{k.invoke(k,h,[x])}catch(p){Y=p}const B=k.options;return B&&"object"==typeof B&&B.once&&h[f].call(h,x.type,k.originalDelegate?k.originalDelegate:k.callback,B),Y};function V(k,h,x){if(!(h=h||t.event))return;const G=k||h.target||t,Y=G[ne[h.type][x?ae:le]];if(Y){const B=[];if(1===Y.length){const p=A(Y[0],G,h);p&&B.push(p)}else{const p=Y.slice();for(let W=0;W{throw W})}}}const z=function(k){return V(this,k,!1)},K=function(k){return V(this,k,!0)};function J(k,h){if(!k)return!1;let x=!0;h&&void 0!==h.useG&&(x=h.useG);const G=h&&h.vh;let Y=!0;h&&void 0!==h.chkDup&&(Y=h.chkDup);let B=!1;h&&void 0!==h.rt&&(B=h.rt);let p=k;for(;p&&!p.hasOwnProperty(s);)p=Ie(p);if(!p&&k[s]&&(p=k),!p||p[m])return!1;const W=h&&h.eventNameToString,L={},w=p[m]=p[s],b=p[H(f)]=p[f],S=p[H(T)]=p[T],ee=p[H(g)]=p[g];let q;h&&h.prepend&&(q=p[H(h.prepend)]=p[h.prepend]);const N=x?function(o){if(!L.isExisting)return w.call(L.target,L.eventName,L.capture?K:z,L.options)}:function(o){return w.call(L.target,L.eventName,o.invoke,L.options)},D=x?function(o){if(!o.isRemoved){const u=ne[o.eventName];let v;u&&(v=u[o.capture?ae:le]);const R=v&&o.target[v];if(R)for(let y=0;yse.zone.cancelTask(se);o.call(me,"abort",ce,{once:!0}),se.removeAbortListener=()=>me.removeEventListener("abort",ce)}return L.target=null,Re&&(Re.taskData=null),lt&&(L.options.once=!0),!ge&&"boolean"==typeof se.options||(se.options=ie),se.target=M,se.capture=Ue,se.eventName=Z,U&&(se.originalDelegate=F),I?ke.unshift(se):ke.push(se),y?M:void 0}};return p[s]=a(w,C,N,D,B),q&&(p[E]=a(q,P,function(o){return q.call(L.target,L.eventName,o.invoke,L.options)},D,B,!0)),p[f]=function(){const o=this||t;let u=arguments[0];h&&h.transferEventName&&(u=h.transferEventName(u));const v=arguments[2],R=!!v&&("boolean"==typeof v||v.capture),y=arguments[1];if(!y)return b.apply(this,arguments);if(G&&!G(b,y,o,arguments))return;const I=ne[u];let M;I&&(M=I[R?ae:le]);const Z=M&&o[M];if(Z)for(let F=0;Ffunction(s,f){s[rt]=!0,n&&n.apply(s,f)})}const Oe=H("zoneTask");function pe(t,r,i,n){let s=null,f=null;i+=n;const T={};function g(C){const E=C.data;E.args[0]=function(){return C.invoke.apply(this,arguments)};const P=s.apply(t,E.args);return et(P)?E.handleId=P:(E.handle=P,E.isRefreshable=Qe(P.refresh)),C}function m(C){const{handle:E,handleId:P}=C.data;return f.call(t,E??P)}s=ue(t,r+=n,C=>function(E,P){if(Qe(P[0])){const A={isRefreshable:!1,isPeriodic:"Interval"===n,delay:"Timeout"===n||"Interval"===n?P[1]||0:void 0,args:P},V=P[0];P[0]=function(){try{return V.apply(this,arguments)}finally{const{handle:x,handleId:G,isPeriodic:Y,isRefreshable:B}=A;!Y&&!B&&(G?delete T[G]:x&&(x[Oe]=null))}};const z=xe(r,P[0],A,g,m);if(!z)return z;const{handleId:K,handle:J,isRefreshable:X,isPeriodic:k}=z.data;if(K)T[K]=z;else if(J&&(J[Oe]=z,X&&!k)){const h=J.refresh;J.refresh=function(){const{zone:x,state:G}=z;return"notScheduled"===G?(z._state="scheduled",x._updateTaskCount(z,1)):"running"===G&&(z._state="scheduling"),h.call(this)}}return J??K??z}return C.apply(t,P)}),f=ue(t,i,C=>function(E,P){const A=P[0];let V;et(A)?(V=T[A],delete T[A]):(V=A?.[Oe],V?A[Oe]=null:V=A),V?.type?V.cancelFn&&V.zone.cancelTask(V):C.apply(t,P)})}function it(t,r,i){if(!i||0===i.length)return r;const n=i.filter(f=>f.target===t);if(!n||0===n.length)return r;const s=n[0].ignoreProperties;return r.filter(f=>-1===s.indexOf(f))}function ct(t,r,i,n){t&&Ke(t,it(t,r,i),n)}function Fe(t){return Object.getOwnPropertyNames(t).filter(r=>r.startsWith("on")&&r.length>2).map(r=>r.substring(2))}function It(t,r,i,n,s){const f=Zone.__symbol__(n);if(r[f])return;const T=r[f]=r[n];r[n]=function(g,m,C){return m&&m.prototype&&s.forEach(function(E){const P=`${i}.${n}::`+E,A=m.prototype;try{if(A.hasOwnProperty(E)){const V=t.ObjectGetOwnPropertyDescriptor(A,E);V&&V.value?(V.value=t.wrapWithCurrentZone(V.value,P),t._redefineProperty(m.prototype,E,V)):A[E]&&(A[E]=t.wrapWithCurrentZone(A[E],P))}else A[E]&&(A[E]=t.wrapWithCurrentZone(A[E],P))}catch{}}),T.call(r,g,m,C)},t.attachOriginToPatched(r[n],T)}const at=function be(){const t=globalThis,r=!0===t[Q("forceDuplicateZoneCheck")];if(t.Zone&&(r||"function"!=typeof t.Zone.__symbol__))throw new Error("Zone already loaded.");return t.Zone??=function ve(){const t=te.performance;function r(j){t&&t.mark&&t.mark(j)}function i(j,_){t&&t.measure&&t.measure(j,_)}r("Zone");let n=(()=>{var j;class _{static assertZonePatched(){if(te.Promise!==L.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let e=_.current;for(;e.parent;)e=e.parent;return e}static get current(){return b.zone}static get currentTask(){return S}static __load_patch(e,d,O=!1){if(L.hasOwnProperty(e)){const N=!0===te[Q("forceDuplicateZoneCheck")];if(!O&&N)throw Error("Already loaded patch: "+e)}else if(!te["__Zone_disable_"+e]){const N="Zone:"+e;r(N),L[e]=d(te,_,w),i(N,N)}}get parent(){return this._parent}get name(){return this._name}constructor(e,d){this._parent=e,this._name=d?d.name||"unnamed":"",this._properties=d&&d.properties||{},this._zoneDelegate=new f(this,this._parent&&this._parent._zoneDelegate,d)}get(e){const d=this.getZoneWith(e);if(d)return d._properties[e]}getZoneWith(e){let d=this;for(;d;){if(d._properties.hasOwnProperty(e))return d;d=d._parent}return null}fork(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)}wrap(e,d){if("function"!=typeof e)throw new Error("Expecting function got: "+e);const O=this._zoneDelegate.intercept(this,e,d),N=this;return function(){return N.runGuarded(O,this,arguments,d)}}run(e,d,O,N){b={parent:b,zone:this};try{return this._zoneDelegate.invoke(this,e,d,O,N)}finally{b=b.parent}}runGuarded(e,d=null,O,N){b={parent:b,zone:this};try{try{return this._zoneDelegate.invoke(this,e,d,O,N)}catch(D){if(this._zoneDelegate.handleError(this,D))throw D}}finally{b=b.parent}}runTask(e,d,O){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||J).name+"; Execution: "+this.name+")");const N=e,{type:D,data:{isPeriodic:_e=!1,isRefreshable:he=!1}={}}=e;if(e.state===X&&(D===W||D===p))return;const oe=e.state!=x;oe&&N._transitionTo(x,h);const ye=S;S=N,b={parent:b,zone:this};try{D==p&&e.data&&!_e&&!he&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,N,d,O)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{const l=e.state;if(l!==X&&l!==Y)if(D==W||_e||he&&l===k)oe&&N._transitionTo(h,x,k);else{const a=N._zoneDelegates;this._updateTaskCount(N,-1),oe&&N._transitionTo(X,x,X),he&&(N._zoneDelegates=a)}b=b.parent,S=ye}}scheduleTask(e){if(e.zone&&e.zone!==this){let O=this;for(;O;){if(O===e.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${e.zone.name}`);O=O.parent}}e._transitionTo(k,X);const d=[];e._zoneDelegates=d,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(O){throw e._transitionTo(Y,k,X),this._zoneDelegate.handleError(this,O),O}return e._zoneDelegates===d&&this._updateTaskCount(e,1),e.state==k&&e._transitionTo(h,k),e}scheduleMicroTask(e,d,O,N){return this.scheduleTask(new T(B,e,d,O,N,void 0))}scheduleMacroTask(e,d,O,N,D){return this.scheduleTask(new T(p,e,d,O,N,D))}scheduleEventTask(e,d,O,N,D){return this.scheduleTask(new T(W,e,d,O,N,D))}cancelTask(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||J).name+"; Execution: "+this.name+")");if(e.state===h||e.state===x){e._transitionTo(G,h,x);try{this._zoneDelegate.cancelTask(this,e)}catch(d){throw e._transitionTo(Y,G),this._zoneDelegate.handleError(this,d),d}return this._updateTaskCount(e,-1),e._transitionTo(X,G),e.runCount=-1,e}}_updateTaskCount(e,d){const O=e._zoneDelegates;-1==d&&(e._zoneDelegates=null);for(let N=0;Nthis.__symbol__=Q}return j(),_})();const s={name:"",onHasTask:(j,_,c,e)=>j.hasTask(c,e),onScheduleTask:(j,_,c,e)=>j.scheduleTask(c,e),onInvokeTask:(j,_,c,e,d,O)=>j.invokeTask(c,e,d,O),onCancelTask:(j,_,c,e)=>j.cancelTask(c,e)};class f{get zone(){return this._zone}constructor(_,c,e){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this._zone=_,this._parentDelegate=c,this._forkZS=e&&(e&&e.onFork?e:c._forkZS),this._forkDlgt=e&&(e.onFork?c:c._forkDlgt),this._forkCurrZone=e&&(e.onFork?this._zone:c._forkCurrZone),this._interceptZS=e&&(e.onIntercept?e:c._interceptZS),this._interceptDlgt=e&&(e.onIntercept?c:c._interceptDlgt),this._interceptCurrZone=e&&(e.onIntercept?this._zone:c._interceptCurrZone),this._invokeZS=e&&(e.onInvoke?e:c._invokeZS),this._invokeDlgt=e&&(e.onInvoke?c:c._invokeDlgt),this._invokeCurrZone=e&&(e.onInvoke?this._zone:c._invokeCurrZone),this._handleErrorZS=e&&(e.onHandleError?e:c._handleErrorZS),this._handleErrorDlgt=e&&(e.onHandleError?c:c._handleErrorDlgt),this._handleErrorCurrZone=e&&(e.onHandleError?this._zone:c._handleErrorCurrZone),this._scheduleTaskZS=e&&(e.onScheduleTask?e:c._scheduleTaskZS),this._scheduleTaskDlgt=e&&(e.onScheduleTask?c:c._scheduleTaskDlgt),this._scheduleTaskCurrZone=e&&(e.onScheduleTask?this._zone:c._scheduleTaskCurrZone),this._invokeTaskZS=e&&(e.onInvokeTask?e:c._invokeTaskZS),this._invokeTaskDlgt=e&&(e.onInvokeTask?c:c._invokeTaskDlgt),this._invokeTaskCurrZone=e&&(e.onInvokeTask?this._zone:c._invokeTaskCurrZone),this._cancelTaskZS=e&&(e.onCancelTask?e:c._cancelTaskZS),this._cancelTaskDlgt=e&&(e.onCancelTask?c:c._cancelTaskDlgt),this._cancelTaskCurrZone=e&&(e.onCancelTask?this._zone:c._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const d=e&&e.onHasTask;(d||c&&c._hasTaskZS)&&(this._hasTaskZS=d?e:s,this._hasTaskDlgt=c,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=this._zone,e.onScheduleTask||(this._scheduleTaskZS=s,this._scheduleTaskDlgt=c,this._scheduleTaskCurrZone=this._zone),e.onInvokeTask||(this._invokeTaskZS=s,this._invokeTaskDlgt=c,this._invokeTaskCurrZone=this._zone),e.onCancelTask||(this._cancelTaskZS=s,this._cancelTaskDlgt=c,this._cancelTaskCurrZone=this._zone))}fork(_,c){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,_,c):new n(_,c)}intercept(_,c,e){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,_,c,e):c}invoke(_,c,e,d,O){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,_,c,e,d,O):c.apply(e,d)}handleError(_,c){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,_,c)}scheduleTask(_,c){let e=c;if(this._scheduleTaskZS)this._hasTaskZS&&e._zoneDelegates.push(this._hasTaskDlgtOwner),e=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,_,c),e||(e=c);else if(c.scheduleFn)c.scheduleFn(c);else{if(c.type!=B)throw new Error("Task is missing scheduleFn.");z(c)}return e}invokeTask(_,c,e,d){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,_,c,e,d):c.callback.apply(e,d)}cancelTask(_,c){let e;if(this._cancelTaskZS)e=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,_,c);else{if(!c.cancelFn)throw Error("Task is not cancelable");e=c.cancelFn(c)}return e}hasTask(_,c){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,_,c)}catch(e){this.handleError(_,e)}}_updateTaskCount(_,c){const e=this._taskCounts,d=e[_],O=e[_]=d+c;if(O<0)throw new Error("More tasks executed then were scheduled.");0!=d&&0!=O||this.hasTask(this._zone,{microTask:e.microTask>0,macroTask:e.macroTask>0,eventTask:e.eventTask>0,change:_})}}class T{constructor(_,c,e,d,O,N){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=_,this.source=c,this.data=d,this.scheduleFn=O,this.cancelFn=N,!e)throw new Error("callback is not defined");this.callback=e;const D=this;this.invoke=_===W&&d&&d.useG?T.invokeTask:function(){return T.invokeTask.call(te,D,this,arguments)}}static invokeTask(_,c,e){_||(_=this),ee++;try{return _.runCount++,_.zone.runTask(_,c,e)}finally{1==ee&&K(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(X,k)}_transitionTo(_,c,e){if(this._state!==c&&this._state!==e)throw new Error(`${this.type} '${this.source}': can not transition to '${_}', expecting state '${c}'${e?" or '"+e+"'":""}, was '${this._state}'.`);this._state=_,_==X&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const g=Q("setTimeout"),m=Q("Promise"),C=Q("then");let A,E=[],P=!1;function V(j){if(A||te[m]&&(A=te[m].resolve(0)),A){let _=A[C];_||(_=A.then),_.call(A,j)}else te[g](j,0)}function z(j){0===ee&&0===E.length&&V(K),j&&E.push(j)}function K(){if(!P){for(P=!0;E.length;){const j=E;E=[];for(let _=0;_b,onUnhandledError:q,microtaskDrainDone:q,scheduleMicroTask:z,showUncaughtError:()=>!n[Q("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:q,patchMethod:()=>q,bindArguments:()=>[],patchThen:()=>q,patchMacroTask:()=>q,patchEventPrototype:()=>q,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>q,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>q,wrapWithCurrentZone:()=>q,filterProperties:()=>[],attachOriginToPatched:()=>q,_redefineProperty:()=>q,patchCallbacks:()=>q,nativeScheduleMicroTask:V};let b={parent:null,zone:new n(null,null)},S=null,ee=0;function q(){}return i("Zone","Zone"),n}(),t.Zone}();(function Zt(t){(function Nt(t){t.__load_patch("ZoneAwarePromise",(r,i,n)=>{const s=Object.getOwnPropertyDescriptor,f=Object.defineProperty,g=n.symbol,m=[],C=!1!==r[g("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],E=g("Promise"),P=g("then");n.onUnhandledError=l=>{if(n.showUncaughtError()){const a=l&&l.rejection;a?console.error("Unhandled Promise rejection:",a instanceof Error?a.message:a,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",a,a instanceof Error?a.stack:void 0):console.error(l)}},n.microtaskDrainDone=()=>{for(;m.length;){const l=m.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(a){z(a)}}};const V=g("unhandledPromiseRejectionHandler");function z(l){n.onUnhandledError(l);try{const a=i[V];"function"==typeof a&&a.call(this,l)}catch{}}function K(l){return l&&l.then}function J(l){return l}function X(l){return D.reject(l)}const k=g("state"),h=g("value"),x=g("finally"),G=g("parentPromiseValue"),Y=g("parentPromiseState"),p=null,W=!0,L=!1;function b(l,a){return o=>{try{j(l,a,o)}catch(u){j(l,!1,u)}}}const S=function(){let l=!1;return function(o){return function(){l||(l=!0,o.apply(null,arguments))}}},ee="Promise resolved with itself",q=g("currentTaskTrace");function j(l,a,o){const u=S();if(l===o)throw new TypeError(ee);if(l[k]===p){let v=null;try{("object"==typeof o||"function"==typeof o)&&(v=o&&o.then)}catch(R){return u(()=>{j(l,!1,R)})(),l}if(a!==L&&o instanceof D&&o.hasOwnProperty(k)&&o.hasOwnProperty(h)&&o[k]!==p)c(o),j(l,o[k],o[h]);else if(a!==L&&"function"==typeof v)try{v.call(o,u(b(l,a)),u(b(l,!1)))}catch(R){u(()=>{j(l,!1,R)})()}else{l[k]=a;const R=l[h];if(l[h]=o,l[x]===x&&a===W&&(l[k]=l[Y],l[h]=l[G]),a===L&&o instanceof Error){const y=i.currentTask&&i.currentTask.data&&i.currentTask.data.__creationTrace__;y&&f(o,q,{configurable:!0,enumerable:!1,writable:!0,value:y})}for(let y=0;y{try{const I=l[h],M=!!o&&x===o[x];M&&(o[G]=I,o[Y]=R);const Z=a.run(y,void 0,M&&y!==X&&y!==J?[]:[I]);j(o,!0,Z)}catch(I){j(o,!1,I)}},o)}const O=function(){},N=r.AggregateError;class D{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(a){return a instanceof D?a:j(new this(null),W,a)}static reject(a){return j(new this(null),L,a)}static withResolvers(){const a={};return a.promise=new D((o,u)=>{a.resolve=o,a.reject=u}),a}static any(a){if(!a||"function"!=typeof a[Symbol.iterator])return Promise.reject(new N([],"All promises were rejected"));const o=[];let u=0;try{for(let y of a)u++,o.push(D.resolve(y))}catch{return Promise.reject(new N([],"All promises were rejected"))}if(0===u)return Promise.reject(new N([],"All promises were rejected"));let v=!1;const R=[];return new D((y,I)=>{for(let M=0;M{v||(v=!0,y(Z))},Z=>{R.push(Z),u--,0===u&&(v=!0,I(new N(R,"All promises were rejected")))})})}static race(a){let o,u,v=new this((I,M)=>{o=I,u=M});function R(I){o(I)}function y(I){u(I)}for(let I of a)K(I)||(I=this.resolve(I)),I.then(R,y);return v}static all(a){return D.allWithCallback(a)}static allSettled(a){return(this&&this.prototype instanceof D?this:D).allWithCallback(a,{thenCallback:u=>({status:"fulfilled",value:u}),errorCallback:u=>({status:"rejected",reason:u})})}static allWithCallback(a,o){let u,v,R=new this((Z,F)=>{u=Z,v=F}),y=2,I=0;const M=[];for(let Z of a){K(Z)||(Z=this.resolve(Z));const F=I;try{Z.then(U=>{M[F]=o?o.thenCallback(U):U,y--,0===y&&u(M)},U=>{o?(M[F]=o.errorCallback(U),y--,0===y&&u(M)):v(U)})}catch(U){v(U)}y++,I++}return y-=2,0===y&&u(M),R}constructor(a){const o=this;if(!(o instanceof D))throw new Error("Must be an instanceof Promise.");o[k]=p,o[h]=[];try{const u=S();a&&a(u(b(o,W)),u(b(o,L)))}catch(u){j(o,!1,u)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return D}then(a,o){let u=this.constructor?.[Symbol.species];(!u||"function"!=typeof u)&&(u=this.constructor||D);const v=new u(O),R=i.current;return this[k]==p?this[h].push(R,v,a,o):e(this,R,v,a,o),v}catch(a){return this.then(null,a)}finally(a){let o=this.constructor?.[Symbol.species];(!o||"function"!=typeof o)&&(o=D);const u=new o(O);u[x]=x;const v=i.current;return this[k]==p?this[h].push(v,u,a,a):e(this,v,u,a,a),u}}D.resolve=D.resolve,D.reject=D.reject,D.race=D.race,D.all=D.all;const _e=r[E]=r.Promise;r.Promise=D;const he=g("thenPatched");function oe(l){const a=l.prototype,o=s(a,"then");if(o&&(!1===o.writable||!o.configurable))return;const u=a.then;a[P]=u,l.prototype.then=function(v,R){return new D((I,M)=>{u.call(this,I,M)}).then(v,R)},l[he]=!0}return n.patchThen=oe,_e&&(oe(_e),ue(r,"fetch",l=>function ye(l){return function(a,o){let u=l.apply(a,o);if(u instanceof D)return u;let v=u.constructor;return v[he]||oe(v),u}}(l))),Promise[i.__symbol__("uncaughtPromiseErrors")]=m,D})})(t),function Lt(t){t.__load_patch("toString",r=>{const i=Function.prototype.toString,n=H("OriginalDelegate"),s=H("Promise"),f=H("Error"),T=function(){if("function"==typeof this){const E=this[n];if(E)return"function"==typeof E?i.call(E):Object.prototype.toString.call(E);if(this===Promise){const P=r[s];if(P)return i.call(P)}if(this===Error){const P=r[f];if(P)return i.call(P)}}return i.call(this)};T[n]=i,Function.prototype.toString=T;const g=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":g.call(this)}})}(t),function Mt(t){t.__load_patch("util",(r,i,n)=>{const s=Fe(r);n.patchOnProperties=Ke,n.patchMethod=ue,n.bindArguments=Ve,n.patchMacroTask=yt;const f=i.__symbol__("BLACK_LISTED_EVENTS"),T=i.__symbol__("UNPATCHED_EVENTS");r[T]&&(r[f]=r[T]),r[f]&&(i[f]=i[T]=r[f]),n.patchEventPrototype=Pt,n.patchEventTarget=bt,n.isIEOrEdge=kt,n.ObjectDefineProperty=Le,n.ObjectGetOwnPropertyDescriptor=Ee,n.ObjectCreate=_t,n.ArraySlice=Et,n.patchClass=we,n.wrapWithCurrentZone=He,n.filterProperties=it,n.attachOriginToPatched=fe,n._redefineProperty=Object.defineProperty,n.patchCallbacks=It,n.getGlobalObjects=()=>({globalSources:tt,zoneSymbolEventNames:ne,eventNames:s,isBrowser:Ge,isMix:Xe,isNode:De,TRUE_STR:ae,FALSE_STR:le,ZONE_SYMBOL_PREFIX:Pe,ADD_EVENT_LISTENER_STR:Me,REMOVE_EVENT_LISTENER_STR:Ze})})}(t)})(at),function Ot(t){t.__load_patch("legacy",r=>{const i=r[t.__symbol__("legacyPatch")];i&&i()}),t.__load_patch("timers",r=>{const n="clear";pe(r,"set",n,"Timeout"),pe(r,"set",n,"Interval"),pe(r,"set",n,"Immediate")}),t.__load_patch("requestAnimationFrame",r=>{pe(r,"request","cancel","AnimationFrame"),pe(r,"mozRequest","mozCancel","AnimationFrame"),pe(r,"webkitRequest","webkitCancel","AnimationFrame")}),t.__load_patch("blocking",(r,i)=>{const n=["alert","prompt","confirm"];for(let s=0;sfunction(C,E){return i.current.run(T,r,E,m)})}),t.__load_patch("EventTarget",(r,i,n)=>{(function Dt(t,r){r.patchEventPrototype(t,r)})(r,n),function Ct(t,r){if(Zone[r.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:n,TRUE_STR:s,FALSE_STR:f,ZONE_SYMBOL_PREFIX:T}=r.getGlobalObjects();for(let m=0;m{we("MutationObserver"),we("WebKitMutationObserver")}),t.__load_patch("IntersectionObserver",(r,i,n)=>{we("IntersectionObserver")}),t.__load_patch("FileReader",(r,i,n)=>{we("FileReader")}),t.__load_patch("on_property",(r,i,n)=>{!function St(t,r){if(De&&!Xe||Zone[t.symbol("patchEvents")])return;const i=r.__Zone_ignore_on_properties;let n=[];if(Ge){const s=window;n=n.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const f=function mt(){try{const t=Te.navigator.userAgent;if(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:s,ignoreProperties:["error"]}]:[];ct(s,Fe(s),i&&i.concat(f),Ie(s))}n=n.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let s=0;s{!function Rt(t,r){const{isBrowser:i,isMix:n}=r.getGlobalObjects();(i||n)&&t.customElements&&"customElements"in t&&r.patchCallbacks(r,t.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback","formAssociatedCallback","formDisabledCallback","formResetCallback","formStateRestoreCallback"])}(r,n)}),t.__load_patch("XHR",(r,i)=>{!function C(E){const P=E.XMLHttpRequest;if(!P)return;const A=P.prototype;let z=A[Ae],K=A[je];if(!z){const w=E.XMLHttpRequestEventTarget;if(w){const b=w.prototype;z=b[Ae],K=b[je]}}const J="readystatechange",X="scheduled";function k(w){const b=w.data,S=b.target;S[T]=!1,S[m]=!1;const ee=S[f];z||(z=S[Ae],K=S[je]),ee&&K.call(S,J,ee);const q=S[f]=()=>{if(S.readyState===S.DONE)if(!b.aborted&&S[T]&&w.state===X){const _=S[i.__symbol__("loadfalse")];if(0!==S.status&&_&&_.length>0){const c=w.invoke;w.invoke=function(){const e=S[i.__symbol__("loadfalse")];for(let d=0;dfunction(w,b){return w[s]=0==b[2],w[g]=b[1],G.apply(w,b)}),B=H("fetchTaskAborting"),p=H("fetchTaskScheduling"),W=ue(A,"send",()=>function(w,b){if(!0===i.current[p]||w[s])return W.apply(w,b);{const S={target:w,url:w[g],isPeriodic:!1,args:b,aborted:!1},ee=xe("XMLHttpRequest.send",h,S,k,x);w&&!0===w[m]&&!S.aborted&&ee.state===X&&ee.invoke()}}),L=ue(A,"abort",()=>function(w,b){const S=function V(w){return w[n]}(w);if(S&&"string"==typeof S.type){if(null==S.cancelFn||S.data&&S.data.aborted)return;S.zone.cancelTask(S)}else if(!0===i.current[B])return L.apply(w,b)})}(r);const n=H("xhrTask"),s=H("xhrSync"),f=H("xhrListener"),T=H("xhrScheduled"),g=H("xhrURL"),m=H("xhrErrorBeforeScheduled")}),t.__load_patch("geolocation",r=>{r.navigator&&r.navigator.geolocation&&function gt(t,r){const i=t.constructor.name;for(let n=0;n{const m=function(){return g.apply(this,Ve(arguments,i+"."+s))};return fe(m,g),m})(f)}}}(r.navigator.geolocation,["getCurrentPosition","watchPosition"])}),t.__load_patch("PromiseRejectionEvent",(r,i)=>{function n(s){return function(f){st(r,s).forEach(g=>{const m=r.PromiseRejectionEvent;if(m){const C=new m(s,{promise:f.promise,reason:f.rejection});g.invoke(C)}})}}r.PromiseRejectionEvent&&(i[H("unhandledPromiseRejectionHandler")]=n("unhandledrejection"),i[H("rejectionHandledHandler")]=n("rejectionhandled"))}),t.__load_patch("queueMicrotask",(r,i,n)=>{!function wt(t,r){r.patchMethod(t,"queueMicrotask",i=>function(n,s){Zone.current.scheduleMicroTask("queueMicrotask",s[0])})}(r,n)})}(at)}},te=>{te(te.s=50)}]); \ No newline at end of file diff --git a/src/ReportGenerator.Core/Reporting/Builders/SvgChartReportBuilder.cs b/src/ReportGenerator.Core/Reporting/Builders/SvgChartReportBuilder.cs index 317f9a8b..7656527a 100644 --- a/src/ReportGenerator.Core/Reporting/Builders/SvgChartReportBuilder.cs +++ b/src/ReportGenerator.Core/Reporting/Builders/SvgChartReportBuilder.cs @@ -107,7 +107,9 @@ private List FilterHistoricCoverages(IEnumerable public int MaximumDecimalPlacesForCoverageQuotas { get; set; } = 1; + /// + /// Gets or sets a value indicating whether the maximum grouping level should be applied instead of the default 'By assembly' grouping. + /// + public bool ApplyMaximumGroupingLevel { get; set; } = false; + /// /// Gets or sets the prefix for history files. /// @@ -87,5 +92,16 @@ public int CachingDuringOfRemoteFilesInMinutes /// In raw mode the coverage data is reported for each class separately. ///
public bool RawMode { get; set; } + + /// + /// Gets or sets a value indicating whether all dates should be included in charts. + /// If false consecutive elements with the same value will result in a single value in the chart. + /// + public bool IncludeAllDatesInCharts { get; set; } + + /// + /// Gets or sets a value indicating whether empty trailing line in source files should be preserved. + /// + public bool PreserveTrailingEmptyLine { get; set; } } } diff --git a/src/ReportGenerator.Core/appsettings.json b/src/ReportGenerator.Core/appsettings.json index 5d97905f..4cc5683c 100644 --- a/src/ReportGenerator.Core/appsettings.json +++ b/src/ReportGenerator.Core/appsettings.json @@ -24,7 +24,10 @@ "customHeadersForRemoteFiles": null, "defaultAssemblyName": "Default", "maximumDecimalPlacesForCoverageQuotas": 1, + "applyMaximumGroupingLevel": false, "historyFileNamePrefix": null, - "rawMode": false + "rawMode": false, + "includeAllDatesInCharts": false, + "preserveTrailingEmptyLine": false } } \ No newline at end of file diff --git a/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj b/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj index d428715b..c9343cf9 100644 --- a/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj +++ b/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj @@ -1,9 +1,9 @@  - net8.0;net9.0 + net8.0;net9.0;net10.0 ReportGenerator.DotnetCorePluginLoader - 5.4.7.0 - 5.4.7.0 + 5.5.1.0 + 5.5.1.0 True diff --git a/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj b/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj index c3d51b25..5c4ca947 100644 --- a/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj +++ b/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj @@ -2,13 +2,13 @@ Exe - net8.0;net9.0 + net8.0;net9.0;net10.0 ProgramIcon.ico ReportGenerator Palmmedia.ReportGenerator Palmmedia.ReportGenerator.DotnetGlobalTool.Program - 5.4.7.0 - 5.4.7.0 + 5.5.1.0 + 5.5.1.0 diff --git a/src/ReportGenerator.MSBuild/ReportGenerator.MSBuild.csproj b/src/ReportGenerator.MSBuild/ReportGenerator.MSBuild.csproj index 9e3ac934..3b558dc5 100644 --- a/src/ReportGenerator.MSBuild/ReportGenerator.MSBuild.csproj +++ b/src/ReportGenerator.MSBuild/ReportGenerator.MSBuild.csproj @@ -5,12 +5,12 @@ Palmmedia.ReportGenerator.MSBuild false true - 5.4.7.0 - 5.4.7.0 + 5.5.1.0 + 5.5.1.0 - + diff --git a/src/ReportGenerator.sln b/src/ReportGenerator.sln index ff029c9c..4d3d40e1 100644 --- a/src/ReportGenerator.sln +++ b/src/ReportGenerator.sln @@ -92,6 +92,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Other", "Other", "{0974779A Testprojects\Other\Clover_Groovy.xml = Testprojects\Other\Clover_Groovy.xml Testprojects\Other\Clover_Istanbul.xml = Testprojects\Other\Clover_Istanbul.xml Testprojects\Other\Cobertura_Istanbul.xml = Testprojects\Other\Cobertura_Istanbul.xml + Testprojects\Other\Cobertura_Swift.xml = Testprojects\Other\Cobertura_Swift.xml EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReportGenerator.MSBuild", "ReportGenerator.MSBuild\ReportGenerator.MSBuild.csproj", "{E0AC1EE8-82A3-41EE-BD42-44659CDBD333}" @@ -146,6 +147,21 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution .editorconfig = .editorconfig EndProjectSection EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CTC", "CTC", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}" + ProjectSection(SolutionItems) = preProject + Testprojects\CTC\source-00001.xml = Testprojects\CTC\source-00001.xml + Testprojects\CTC\source-00002.xml = Testprojects\CTC\source-00002.xml + Testprojects\CTC\source-00003.xml = Testprojects\CTC\source-00003.xml + Testprojects\CTC\source-00004.xml = Testprojects\CTC\source-00004.xml + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scala", "Scala", "{5B32C4FE-6EB9-4A2C-8999-4B22B11F7FA4}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{DEA9E2B4-90D3-4235-A0C5-33BA186C648C}" + ProjectSection(SolutionItems) = preProject + Testprojects\Scala\Reports\scoverage.xml = Testprojects\Scala\Reports\scoverage.xml + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -199,6 +215,7 @@ Global {DF7C180A-CE3E-41CE-B088-5345779C548B} = {0AB95F76-AA76-40B2-81E9-AE42550BDB26} {9EE7E19D-250E-48A9-A9B9-455B5534D91C} = {0AB95F76-AA76-40B2-81E9-AE42550BDB26} {83869904-851E-487E-8817-9FF24C11E53C} = {0AB95F76-AA76-40B2-81E9-AE42550BDB26} + {DEA9E2B4-90D3-4235-A0C5-33BA186C648C} = {5B32C4FE-6EB9-4A2C-8999-4B22B11F7FA4} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {2D015F29-27FC-43DD-91EE-3E5BA880F7D2} diff --git a/src/Testprojects/CSharp/Project_DotNetCore/Test/AutoMapperExtensions.cs b/src/Testprojects/CSharp/Project_DotNetCore/Test/AutoMapperExtensions.cs new file mode 100644 index 00000000..bd004ccd --- /dev/null +++ b/src/Testprojects/CSharp/Project_DotNetCore/Test/AutoMapperExtensions.cs @@ -0,0 +1,19 @@ +using System.Linq; +using AutoMapper; + +namespace Test +{ + public static class AutoMapperExtensions + { + public static TResult MergeIntoSingle(this IMapper mapper, object item) + { + return mapper.Map(item); + } + + public static TResult MergeIntoSeveral(this IMapper mapper, params object?[] objects) + { + var res = mapper.Map(objects.First()); + return objects.Skip(1).Where(x => x is not null).Aggregate(res, (r, obj) => mapper.Map(obj, r)); + } + } +} diff --git a/src/Testprojects/CSharp/Project_DotNetCore/Test/GenericAsyncClass.cs b/src/Testprojects/CSharp/Project_DotNetCore/Test/GenericAsyncClass.cs index 4633d4bc..19963aac 100644 --- a/src/Testprojects/CSharp/Project_DotNetCore/Test/GenericAsyncClass.cs +++ b/src/Testprojects/CSharp/Project_DotNetCore/Test/GenericAsyncClass.cs @@ -1,13 +1,68 @@ -using System.Net.Http; -using System.Threading; +using System; using System.Threading.Tasks; namespace Test { public class GenericAsyncClass { + public void DoWork() + { + Console.WriteLine("BaseService DoWork"); + } + + public void MyMethod() + { + } + public async Task MyAsyncMethod() { } + + public async Task MyAsyncGenericMethod(T1 something) + { + return default; + } + + public async Task MyAsyncMethod(T something) + { + return something; + } + + public class InnerGenericClass + { + public void MyNestedMethod() + { + } + + public async Task MyNestedAsyncMethod() + { + } + + public async Task MyNestedAsyncGenericMethod(U1 something) + { + return default; + } + + public async Task MyNestedAsyncMethod(U something) + { + return something; + } + } + + public class InnerNonGenericClass + { + public void MyNestedMethod() + { + } + + public async Task MyNestedAsyncMethod() + { + } + + public async Task MyNestedAsyncGenericMethod(U1 something) + { + return default; + } + } } } diff --git a/src/Testprojects/CSharp/Project_DotNetCore/Test/Program.cs b/src/Testprojects/CSharp/Project_DotNetCore/Test/Program.cs index 9e7ef916..66b53003 100644 --- a/src/Testprojects/CSharp/Project_DotNetCore/Test/Program.cs +++ b/src/Testprojects/CSharp/Project_DotNetCore/Test/Program.cs @@ -46,6 +46,7 @@ public static void Main(string[] args) } new GenericAsyncClass().MyAsyncMethod().Wait(); + new GenericAsyncClass().MyAsyncMethod(new object()).Wait(); new ClassWithLocalFunctions.MyNestedClass().MyAsyncMethod(null).GetAwaiter().GetResult(); } diff --git a/src/Testprojects/CSharp/Project_DotNetCore/Test/Test.csproj b/src/Testprojects/CSharp/Project_DotNetCore/Test/Test.csproj index 710ade32..d34509d2 100644 --- a/src/Testprojects/CSharp/Project_DotNetCore/Test/Test.csproj +++ b/src/Testprojects/CSharp/Project_DotNetCore/Test/Test.csproj @@ -1,6 +1,9 @@ - net8.0 + net10.0 false + + + diff --git a/src/Testprojects/CSharp/Project_DotNetCore/Test/TestClass.cs b/src/Testprojects/CSharp/Project_DotNetCore/Test/TestClass.cs index 42298ce3..c05f81d4 100644 --- a/src/Testprojects/CSharp/Project_DotNetCore/Test/TestClass.cs +++ b/src/Testprojects/CSharp/Project_DotNetCore/Test/TestClass.cs @@ -1,5 +1,6 @@ using System; using System.Linq; +using System.Threading.Tasks; namespace Test { @@ -46,6 +47,17 @@ public void MethodWithLambda() var chars2 = "abc".Where(lambda).ToArray(); } + + public void GenericMethod(T messageObject) + { + + } + + public async Task GenericAsyncMethod(T messageObject) + { + + } + public class NestedClass { public void SampleFunction() diff --git a/src/Testprojects/CSharp/Project_DotNetCore/UnitTests/UnitTests.csproj b/src/Testprojects/CSharp/Project_DotNetCore/UnitTests/UnitTests.csproj index ce9962f1..e3b40f93 100644 --- a/src/Testprojects/CSharp/Project_DotNetCore/UnitTests/UnitTests.csproj +++ b/src/Testprojects/CSharp/Project_DotNetCore/UnitTests/UnitTests.csproj @@ -1,20 +1,20 @@ - net8.0 + net10.0 false - - + + runtime; build; native; contentfiles; analyzers all - - - - + + + + all runtime; build; native; contentfiles; analyzers diff --git a/src/Testprojects/CSharp/Reports/Cobertura_coverlet.xml b/src/Testprojects/CSharp/Reports/Cobertura_coverlet.xml index 02dc6590..95a897a5 100644 --- a/src/Testprojects/CSharp/Reports/Cobertura_coverlet.xml +++ b/src/Testprojects/CSharp/Reports/Cobertura_coverlet.xml @@ -1,10 +1,10 @@  - + C:\temp\ - + @@ -154,6 +154,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -290,18 +326,178 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + + + + + + + + + + + + + + + + + @@ -480,9 +676,9 @@ - + - + @@ -513,6 +709,7 @@ + @@ -546,164 +743,187 @@ + - + - + - - + + - + - + - + - - + - + + - - + - + + - - - + + + - - - - + + + + + + + + + + - + - - + - + + - - + - - + + - - - - - - + + + + + + - + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - + diff --git a/src/Testprojects/CSharp/Reports/DynamicCodeCoverage_dotnet-coverage.xml b/src/Testprojects/CSharp/Reports/DynamicCodeCoverage_dotnet-coverage.xml new file mode 100644 index 00000000..345dd5ba --- /dev/null +++ b/src/Testprojects/CSharp/Reports/DynamicCodeCoverage_dotnet-coverage.xml @@ -0,0 +1,652 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Testprojects/CSharp/Reports/OpenCover_coverlet.xml b/src/Testprojects/CSharp/Reports/OpenCover_coverlet.xml index 6c301ecc..5482870b 100644 --- a/src/Testprojects/CSharp/Reports/OpenCover_coverlet.xml +++ b/src/Testprojects/CSharp/Reports/OpenCover_coverlet.xml @@ -1,29 +1,30 @@  - + - + Test.dll - 2023-10-03T08:20:37 + 2025-10-29T08:13:28 Test - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -211,6 +212,42 @@ + + + Test.AutoMapperExtensions + + + + + TResult Test.AutoMapperExtensions::MergeIntoSingle(AutoMapper.IMapper,System.Object) + + + + + + + + + + + + + TResult Test.AutoMapperExtensions::MergeIntoSeveral(AutoMapper.IMapper,System.Object[]) + + + + + + + + + + + + + + + Test.ClassWithExcludes @@ -219,49 +256,49 @@ System.String Test.ClassWithExcludes::get_IncludedProperty() - + - + - + System.String Test.ClassWithExcludes::get_ExcludedProperty() - + - + - + System.Void Test.ClassWithExcludes::IncludedMethod() - + - - - + + + - + System.Void Test.ClassWithExcludes::ExcludedMethod() - + - - - + + + - + @@ -273,12 +310,12 @@ T2 Test.ClassWithLocalFunctions`1/MyNestedClass`1::get_MyProperty() - + - + - + @@ -290,16 +327,16 @@ System.Void Test.ClassWithLocalFunctions`1/MyNestedClass`1/<>c__DisplayClass4_0`1/<<MyAsyncMethod>g__MyAsyncLocalFunction|0>d`1::MoveNext() - + - - - - - + + + + + - + @@ -311,14 +348,14 @@ System.Void Test.ClassWithLocalFunctions`1/MyNestedClass`1/<MyAsyncMethod>d__4`1::MoveNext() - + - - - + + + - + @@ -330,15 +367,15 @@ System.Int32 Test.CodeContract_Contract::Calculate(System.Int32) - + - - - - + + + + - + @@ -350,39 +387,237 @@ System.Int32 Test.CodeContract_Target::Calculate(System.Int32) - + - - - - - - - + + + + + + + - - + + - + + + + + + + Test.GenericAsyncClass`1 + + + + + System.Void Test.GenericAsyncClass`1::DoWork() + + + + + + + + + + + + + System.Void Test.GenericAsyncClass`1::MyMethod() + + + + + + + + + + + + + Test.GenericAsyncClass`1/InnerGenericClass`1 + + + + + System.Void Test.GenericAsyncClass`1/InnerGenericClass`1::MyNestedMethod() + + + + + + + + + + + + + Test.GenericAsyncClass`1/InnerGenericClass`1/<MyNestedAsyncGenericMethod>d__2`1 + + + + + System.Void Test.GenericAsyncClass`1/InnerGenericClass`1/<MyNestedAsyncGenericMethod>d__2`1::MoveNext() + + + + + + + + + + + + + + Test.GenericAsyncClass`1/InnerGenericClass`1/<MyNestedAsyncMethod>d__1 + + + + + System.Void Test.GenericAsyncClass`1/InnerGenericClass`1/<MyNestedAsyncMethod>d__1::MoveNext() + + + + + + + + + + + + + Test.GenericAsyncClass`1/InnerGenericClass`1/<MyNestedAsyncMethod>d__3 + + + + + System.Void Test.GenericAsyncClass`1/InnerGenericClass`1/<MyNestedAsyncMethod>d__3::MoveNext() + + + + + + + + + + + + + + Test.GenericAsyncClass`1/InnerNonGenericClass + + + + + System.Void Test.GenericAsyncClass`1/InnerNonGenericClass::MyNestedMethod() + + + + + + + + + + + + + Test.GenericAsyncClass`1/InnerNonGenericClass/<MyNestedAsyncGenericMethod>d__2`1 + + + + + System.Void Test.GenericAsyncClass`1/InnerNonGenericClass/<MyNestedAsyncGenericMethod>d__2`1::MoveNext() + + + + + + + + + + + + + + Test.GenericAsyncClass`1/InnerNonGenericClass/<MyNestedAsyncMethod>d__1 + + + + + System.Void Test.GenericAsyncClass`1/InnerNonGenericClass/<MyNestedAsyncMethod>d__1::MoveNext() + + + + + + + + + + + + + Test.GenericAsyncClass`1/<MyAsyncGenericMethod>d__3`1 + + + + + System.Void Test.GenericAsyncClass`1/<MyAsyncGenericMethod>d__3`1::MoveNext() + + + + + + + + - Test.GenericAsyncClass`1/<MyAsyncMethod>d__0 + Test.GenericAsyncClass`1/<MyAsyncMethod>d__2 - System.Void Test.GenericAsyncClass`1/<MyAsyncMethod>d__0::MoveNext() - + System.Void Test.GenericAsyncClass`1/<MyAsyncMethod>d__2::MoveNext() + + + + + + + + + + + + + Test.GenericAsyncClass`1/<MyAsyncMethod>d__4 + + + + + System.Void Test.GenericAsyncClass`1/<MyAsyncMethod>d__4::MoveNext() + - - + + + - + @@ -394,14 +629,14 @@ System.Boolean Test.AbstractGenericClass`2::PostProcess(Test.ISomeObjectInterface`2<TModel,TState>) - + - - - + + + - + @@ -413,29 +648,29 @@ System.Boolean Test.GenericClass`2::Process(Test.ISomeObjectInterface`2<TModel,TState>) - + - - - - + + + + - + System.Boolean Test.GenericClass`2::PostProcess(Test.ISomeObjectInterface`2<TModel,TState>) - + - - - - + + + + - + @@ -447,12 +682,12 @@ System.String Test.SomeClass::get_Property1() - + - + - + @@ -464,60 +699,60 @@ System.Void Test.PartialClass::ExecutedMethod_1() - + - - - + + + - + System.Void Test.PartialClass::UnExecutedMethod_1() - + - - - + + + - + System.Int32 Test.PartialClass::get_SomeProperty() - + - + - + System.Void Test.PartialClass::set_SomeProperty(System.Int32) - + - - - - - - - - - + + + + + + + + + - - + + - + @@ -529,27 +764,27 @@ System.Void Test.PartialClass::ExecutedMethod_2() - + - - - + + + - + System.Void Test.PartialClass::UnExecutedMethod_2() - + - - - + + + - + @@ -561,12 +796,12 @@ System.String Test.PartialClassWithAutoProperties::get_Property1() - + - + - + @@ -578,68 +813,69 @@ System.String Test.PartialClassWithAutoProperties::get_Property2() - + - + - + System.String Test.PartialClassWithAutoProperties::get_ExpressionBodiedProperty() - + - + - + - + Test.Program - - + + System.Void Test.Program::Main(System.String[]) - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -651,28 +887,28 @@ System.Threading.Tasks.Task`1<System.Net.Http.HttpResponseMessage> Test.Program/EchoHandler::SendAsync(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken) - + - - - + + + - + System.Void Test.Program/EchoHandler::.ctor(System.Net.Http.HttpResponseMessage) - + - - - - + + + + - + @@ -684,95 +920,107 @@ System.Void Test.Program/<CallAsyncMethod>d__1::MoveNext() - + - - - - - - + + + + + + - + - + Test.TestClass System.Void Test.TestClass::SampleFunction() - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - + + + + - + System.Void Test.TestClass::ParentMethod() - + - - - - + + + + - + System.Void Test.TestClass::MethodWithLambda() - + + + + + + + + + + + + + + + System.Void Test.TestClass::GenericMethod(T) + - - - - - + + - + System.String Test.TestClass::<ParentMethod>g__NestedLocalFunction|1_0(System.String) - + - - - + + + - + @@ -784,17 +1032,35 @@ System.Void Test.TestClass/NestedClass::SampleFunction() - + + + + + + + + + + + + + + + + + Test.TestClass/<GenericAsyncMethod>d__4`1 + + + + + System.Void Test.TestClass/<GenericAsyncMethod>d__4`1::MoveNext() + - - - - - - + + - + @@ -806,124 +1072,124 @@ System.String Test.TestClass2::get_ExecutedProperty() - + - + - + System.String Test.TestClass2::get_UnExecutedProperty() - + - + - + System.Void Test.TestClass2::ExecutedMethod() - + - - - - + + + + - + System.Void Test.TestClass2::UnExecutedMethod() - + - - - - + + + + - + System.Void Test.TestClass2::SampleFunction(System.String) - + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - + + + + - + System.String Test.TestClass2::DoSomething(System.String,System.String[],System.Guid,System.Collections.Generic.IEnumerable`1<System.String>,System.Collections.Generic.IList`1<System.String>,System.Decimal,System.Int32,System.Collections.Generic.Dictionary`2<System.String,System.Int32>,System.Int32&,System.Single,System.Double,System.Boolean,System.Byte,System.Char,System.Object,System.SByte,System.Int16,System.UInt32,System.UInt64,System.UInt16) - + - - - - + + + + - + System.Void Test.TestClass2::.ctor() - + - - - - - - + + + + + + - + System.Void Test.TestClass2::.ctor(System.String) - + - - - - - + + + + + - + diff --git a/src/Testprojects/CTC/source-00001.xml b/src/Testprojects/CTC/source-00001.xml new file mode 100644 index 00000000..028ec027 --- /dev/null +++ b/src/Testprojects/CTC/source-00001.xml @@ -0,0 +1,81 @@ + + + -measures mcdc,d,s -layout S -include-justifications -template "D:\Consulting\Palme - 42962 - ReportGenerator\10 Finalisierung Phase II\xml_reportgenerator.zip" -D "ProjectName=Coasterbeispiel - XML4ReportGenerator" -o xml_ReportGenerator + + 75% + 100% + 100% + + + + + + + + 75% + 100% + 100% + + + FUNCTION hasAdmission() + + + + + + + if (BodyHeight >= 1.2 && BodyHeight <= 1.9 && Age >= 6) + + T && T && T + + + T && T && F + + + T && F && _ + + + F && _ && _ + + + BodyHeight >= 1.2 + + + BodyHeight <= 1.9 + + + Age >= 6 + + + + + + + + return true + + + + + + + else + + + + + + + return false + + + + + + + function end + + + + + diff --git a/src/Testprojects/CTC/source-00002.xml b/src/Testprojects/CTC/source-00002.xml new file mode 100644 index 00000000..57e40469 --- /dev/null +++ b/src/Testprojects/CTC/source-00002.xml @@ -0,0 +1,89 @@ + + + -measures mcdc,d,s -layout S -include-justifications -template "D:\Consulting\Palme - 42962 - ReportGenerator\10 Finalisierung Phase II\xml_reportgenerator.zip" -D "ProjectName=Coasterbeispiel - XML4ReportGenerator" -o xml_ReportGenerator + + 70% + 75% + 80% + + + + + + + + 70% + 75% + 80% + + + FUNCTION calcPrice() + + + + + + + if (Age < 10) + + + + + + + return 2 + + + + + + + else if (Age < 18 || Age >= 65) + + T || _ + + + F || T + + + F || F + + + Age < 18 + + + Age >= 65 + + + + + + + + return 3 + + + + + + + else + + + + + + + return 5 + + + + + + + function end + + + + + diff --git a/src/Testprojects/CTC/source-00003.xml b/src/Testprojects/CTC/source-00003.xml new file mode 100644 index 00000000..c8390b70 --- /dev/null +++ b/src/Testprojects/CTC/source-00003.xml @@ -0,0 +1,127 @@ + + + -measures mcdc,d,s -layout S -include-justifications -template "D:\Consulting\Palme - 42962 - ReportGenerator\10 Finalisierung Phase II\xml_reportgenerator.zip" -D "ProjectName=Coasterbeispiel - XML4ReportGenerator" -o xml_ReportGenerator + + 100% + 100% + 100% + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 100% + 100% + 100% + + + FUNCTION main() + + + + + + + + + + + + + + + + + do + + + + + + + + + + + + + + + + + + + + + + + + + if (hasAdmission ( passenger . BodyHeight , passenger . Age )) + + + + + + + + + + + else + + + + + + + + + + + do-while (myApp . shallProceed ( )) + + + + + + + + + return 0 + + + + + function end + + + + + diff --git a/src/Testprojects/CTC/source-00004.xml b/src/Testprojects/CTC/source-00004.xml new file mode 100644 index 00000000..2d0059e7 --- /dev/null +++ b/src/Testprojects/CTC/source-00004.xml @@ -0,0 +1,553 @@ + + + -measures mcdc,d,s -layout S -include-justifications -template "D:\Consulting\Palme - 42962 - ReportGenerator\10 Finalisierung Phase II\xml_reportgenerator.zip" -D "ProjectName=Coasterbeispiel - XML4ReportGenerator" -o xml_ReportGenerator + + 95% + 100% + 100% + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 100% + 100% + 100% + + + FUNCTION TicketApp::showInstruction() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + if (! ( selectedDialogueMode == "s" || selectedDialogueMode == "S" )) + + !(F || F) + + + !(T || _) + + + !(F || T) + + + selectedDialogueMode == "s" + + + selectedDialogueMode == "S" + + + + + + function end + + + + + 100% + 100% + 100% + + + FUNCTION TicketApp::switch2BatchMode() + + + + + + + + + + + + + + + + + function end + + + + + 100% + 100% + 100% + + + FUNCTION TicketApp::ask4Input() + + + + + + + if (runInDialogueMode) + + + + + + + + + + + function end + + + + + 100% + 100% + 100% + + + FUNCTION TicketApp::reportPrice() + + + + + + + if (runInDialogueMode) + + + + + + + + + + + else + + + + + + + + + + + function end + + + + + 100% + 100% + 100% + + + FUNCTION TicketApp::reportRefusal() + + + + + + + if (runInDialogueMode) + + + + + + + + + + + else + + + + + + + + + + + function end + + + + + 66% + 100% + 100% + + + FUNCTION TicketApp::shallProceed() + + + + + + + + + + + + + + + + + if (anotherPassenger == "j" || anotherPassenger == "ja" || anotherPassenger == "y" || anotherPassenger == "yes") + + T || _ || _ || _ + + + F || T || _ || _ + + + F || F || T || _ + + + F || F || F || T + + + F || F || F || F + + + anotherPassenger == "j" + + + anotherPassenger == "ja" + + + anotherPassenger == "y" + + + anotherPassenger == "yes" + + + + + + + + return true + + + + + + + else + + + + + + + return false + + + + + + + function end + + + + + 100% + 100% + 100% + + + FUNCTION TicketApp::sayGoodBye() + + + + + + + if (runInDialogueMode) + + + + + + + + + + + else + + + + + + + + + + + function end + + + + + 100% + 100% + 100% + + + FUNCTION TicketApp::greetUser() + + + + + + + + + + + + + + + + + switch (hour) + + + + + case 0: + + + + + case 1: + + + + + case 2: + + + + + case 3: + + + + + case 4: + + + + + case 5: + + + + + case 6: + + + + + case 7: + + + + + case 8: + + + + + case 9: + + + + + case 10: + + + + + case 11: + + + + + + + break + + + + + case 12: + + + + + case 13: + + + + + case 14: + + + + + case 15: + + + + + case 16: + + + + + case 17: + + + + + + + break + + + + + case 18: + + + + + case 19: + + + + + case 20: + + + + + case 21: + + + + + case 22: + + + + + case 23: + + + + + + + break + + + + + default: + + + + + + + break + + + + + + + function end + + + + + diff --git a/src/Testprojects/Other/Cobertura_Swift.xml b/src/Testprojects/Other/Cobertura_Swift.xml new file mode 100644 index 00000000..c9e46c14 --- /dev/null +++ b/src/Testprojects/Other/Cobertura_Swift.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Testprojects/Other/PreserveEmptyLinesTestFile.txt b/src/Testprojects/Other/PreserveEmptyLinesTestFile.txt new file mode 100644 index 00000000..d70f6df3 --- /dev/null +++ b/src/Testprojects/Other/PreserveEmptyLinesTestFile.txt @@ -0,0 +1,4 @@ +1 +2 +3 + diff --git a/src/Testprojects/Scala/Reports/scoverage.xml b/src/Testprojects/Scala/Reports/scoverage.xml new file mode 100644 index 00000000..2186b174 --- /dev/null +++ b/src/Testprojects/Scala/Reports/scoverage.xml @@ -0,0 +1,985 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/build.proj b/src/build.proj index 0771b6ac..59cb79c6 100644 --- a/src/build.proj +++ b/src/build.proj @@ -22,7 +22,7 @@ - 5.4.7 + 5.5.1 @@ -54,9 +54,11 @@ + + @@ -81,6 +83,7 @@ + @@ -90,6 +93,7 @@ +