diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 960feb41..97b0142c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -207,17 +207,17 @@ jobs: mkdir ftp copy "ReportGenerator_${{ env.Version }}.zip" "ftp\ReportGenerator_${{ env.Version }}.zip" - - name: 'FTP Upload: ZIP Release' - uses: SamKirkland/FTP-Deploy-Action@4.3.4 - with: - server: ${{ secrets.FTP_HOST }} - username: ${{ secrets.FTP_USER }} - password: ${{ secrets.FTP_PASSWORD }} - local-dir: ftp/ - server-dir: ${{ secrets.FTP_DIRECTORY }} - protocol: ftps - dangerous-clean-slate: true - continue-on-error: true + # - name: 'FTP Upload: ZIP Release' + # uses: SamKirkland/FTP-Deploy-Action@4.3.4 + # with: + # server: ${{ secrets.FTP_HOST }} + # username: ${{ secrets.FTP_USER }} + # password: ${{ secrets.FTP_PASSWORD }} + # local-dir: ftp/ + # server-dir: ${{ secrets.FTP_DIRECTORY }} + # protocol: ftps + # dangerous-clean-slate: true + # continue-on-error: true - name: 'NuGet push dotnet-reportgenerator-globaltool' run: nuget push dotnet-reportgenerator-globaltool.${{ env.Version }}.nupkg -ApiKey ${{ secrets.NUGETAPIKEY }} -Source https://www.nuget.org/api/v2/package diff --git a/docs/main.526b20fde383e6c8.js b/docs/main.526b20fde383e6c8.js index 3b3eadbc..d31eb160 100644 --- a/docs/main.526b20fde383e6c8.js +++ b/docs/main.526b20fde383e6c8.js @@ -1 +1 @@ -"use strict";(self.webpackChunkReportGenerator_io=self.webpackChunkReportGenerator_io||[]).push([[179],{304:()=>{function fe(e){return"function"==typeof e}function Ao(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 Zi=Ao(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((r,o)=>`${o+1}) ${r.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function To(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class Et{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 i of t)i.remove(this);else t.remove(this);const{initialTeardown:r}=this;if(fe(r))try{r()}catch(i){n=i instanceof Zi?i.errors:[i]}const{_finalizers:o}=this;if(o){this._finalizers=null;for(const i of o)try{xf(i)}catch(s){n=n??[],s instanceof Zi?n=[...n,...s.errors]:n.push(s)}}if(n)throw new Zi(n)}}add(n){var t;if(n&&n!==this)if(this.closed)xf(n);else{if(n instanceof Et){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)&&To(t,n)}remove(n){const{_finalizers:t}=this;t&&To(t,n),n instanceof Et&&n._removeParent(this)}}Et.EMPTY=(()=>{const e=new Et;return e.closed=!0,e})();const Af=Et.EMPTY;function Tf(e){return e instanceof Et||e&&"closed"in e&&fe(e.remove)&&fe(e.add)&&fe(e.unsubscribe)}function xf(e){fe(e)?e():e.unsubscribe()}const tr={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Qi={setTimeout(e,n,...t){const{delegate:r}=Qi;return r?.setTimeout?r.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=Qi;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Rf(e){Qi.setTimeout(()=>{const{onUnhandledError:n}=tr;if(!n)throw e;n(e)})}function Nf(){}const Cw=hl("C",void 0,void 0);function hl(e,n,t){return{kind:e,value:n,error:t}}let nr=null;function Xi(e){if(tr.useDeprecatedSynchronousErrorHandling){const n=!nr;if(n&&(nr={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:r}=nr;if(nr=null,t)throw r}}else e()}class pl extends Et{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Tf(n)&&n.add(this)):this.destination=Iw}static create(n,t,r){return new Ji(n,t,r)}next(n){this.isStopped?ml(function ww(e){return hl("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?ml(function Dw(e){return hl("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?ml(Cw,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 Ew=Function.prototype.bind;function gl(e,n){return Ew.call(e,n)}class Sw{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(r){es(r)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(r){es(r)}else es(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){es(t)}}}class Ji extends pl{constructor(n,t,r){let o;if(super(),fe(n)||!n)o={next:n??void 0,error:t??void 0,complete:r??void 0};else{let i;this&&tr.useDeprecatedNextContext?(i=Object.create(n),i.unsubscribe=()=>this.unsubscribe(),o={next:n.next&&gl(n.next,i),error:n.error&&gl(n.error,i),complete:n.complete&&gl(n.complete,i)}):o=n}this.destination=new Sw(o)}}function es(e){tr.useDeprecatedSynchronousErrorHandling?function bw(e){tr.useDeprecatedSynchronousErrorHandling&&nr&&(nr.errorThrown=!0,nr.error=e)}(e):Rf(e)}function ml(e,n){const{onStoppedNotification:t}=tr;t&&Qi.setTimeout(()=>t(e,n))}const Iw={closed:!0,next:Nf,error:function Mw(e){throw e},complete:Nf},yl="function"==typeof Symbol&&Symbol.observable||"@@observable";function rr(e){return e}function Ff(e){return 0===e.length?rr:1===e.length?e[0]:function(t){return e.reduce((r,o)=>o(r),t)}}let Se=(()=>{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,o){const i=function xw(e){return e&&e instanceof pl||function Tw(e){return e&&fe(e.next)&&fe(e.error)&&fe(e.complete)}(e)&&Tf(e)}(t)?t:new Ji(t,r,o);return Xi(()=>{const{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return new(r=Pf(r))((o,i)=>{const s=new Ji({next:a=>{try{t(a)}catch(l){i(l),s.unsubscribe()}},error:i,complete:o});this.subscribe(s)})}_subscribe(t){var r;return null===(r=this.source)||void 0===r?void 0:r.subscribe(t)}[yl](){return this}pipe(...t){return Ff(t)(this)}toPromise(t){return new(t=Pf(t))((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=n=>new e(n),e})();function Pf(e){var n;return null!==(n=e??tr.Promise)&&void 0!==n?n:Promise}const Rw=Ao(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let mn=(()=>{class e extends Se{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const r=new Of(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new Rw}next(t){Xi(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const r of this.currentObservers)r.next(t)}})}error(t){Xi(()=>{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(){Xi(()=>{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:o,observers:i}=this;return r||o?Af:(this.currentObservers=null,i.push(t),new Et(()=>{this.currentObservers=null,To(i,t)}))}_checkFinalizedStatuses(t){const{hasError:r,thrownError:o,isStopped:i}=this;r?t.error(o):i&&t.complete()}asObservable(){const t=new Se;return t.source=this,t}}return e.create=(n,t)=>new Of(n,t),e})();class Of extends mn{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:Af}}function kf(e){return fe(e?.lift)}function Be(e){return n=>{if(kf(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 Le(e,n,t,r,o){return new Nw(e,n,t,r,o)}class Nw extends pl{constructor(n,t,r,o,i,s){super(n),this.onFinalize=i,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=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 K(e,n){return Be((t,r)=>{let o=0;t.subscribe(Le(r,i=>{r.next(e.call(n,i,o++))}))})}function or(e){return this instanceof or?(this.v=e,this):new or(e)}function kw(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 Uf(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(i){t[i]=e[i]&&function(s){return new Promise(function(a,l){!function o(i,s,a,l){Promise.resolve(l).then(function(u){i({value:u,done:a})},s)}(a,l,(s=e[i](s)).done,s.value)})}}}const Hf=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function jf(e){return fe(e?.then)}function Bf(e){return fe(e[yl])}function $f(e){return Symbol.asyncIterator&&fe(e?.[Symbol.asyncIterator])}function Gf(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 zf=function Vw(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function qf(e){return fe(e?.[zf])}function Wf(e){return function Ow(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,r=t.apply(e,n||[]),i=[];return o={},s("next"),s("throw"),s("return"),o[Symbol.asyncIterator]=function(){return this},o;function s(g){r[g]&&(o[g]=function(m){return new Promise(function(y,_){i.push([g,m,y,_])>1||a(g,m)})})}function a(g,m){try{!function l(g){g.value instanceof or?Promise.resolve(g.value.v).then(u,c):d(i[0][2],g)}(r[g](m))}catch(y){d(i[0][3],y)}}function u(g){a("next",g)}function c(g){a("throw",g)}function d(g,m){g(m),i.shift(),i.length&&a(i[0][0],i[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:r,done:o}=yield or(t.read());if(o)return yield or(void 0);yield yield or(r)}}finally{t.releaseLock()}})}function Kf(e){return fe(e?.getReader)}function Qt(e){if(e instanceof Se)return e;if(null!=e){if(Bf(e))return function Uw(e){return new Se(n=>{const t=e[yl]();if(fe(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Hf(e))return function Hw(e){return new Se(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Rf)})}(e);if($f(e))return Yf(e);if(qf(e))return function Bw(e){return new Se(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(Kf(e))return function $w(e){return Yf(Wf(e))}(e)}throw Gf(e)}function Yf(e){return new Se(n=>{(function Gw(e,n){var t,r,o,i;return function Fw(e,n,t,r){return new(t||(t=Promise))(function(i,s){function a(c){try{u(r.next(c))}catch(d){s(d)}}function l(c){try{u(r.throw(c))}catch(d){s(d)}}function u(c){c.done?i(c.value):function o(i){return i instanceof t?i:new t(function(s){s(i)})}(c.value).then(a,l)}u((r=r.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=kw(e);!(r=yield t.next()).done;)if(n.next(r.value),n.closed)return}catch(s){o={error:s}}finally{try{r&&!r.done&&(i=t.return)&&(yield i.call(t))}finally{if(o)throw o.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function yn(e,n,t,r=0,o=!1){const i=n.schedule(function(){t(),o?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(i),!o)return i}function $e(e,n,t=1/0){return fe(n)?$e((r,o)=>K((i,s)=>n(r,i,o,s))(Qt(e(r,o))),t):("number"==typeof n&&(t=n),Be((r,o)=>function zw(e,n,t,r,o,i,s,a){const l=[];let u=0,c=0,d=!1;const g=()=>{d&&!l.length&&!u&&n.complete()},m=_=>u{i&&n.next(_),u++;let D=!1;Qt(t(_,c++)).subscribe(Le(n,b=>{o?.(b),i?m(b):n.next(b)},()=>{D=!0},void 0,()=>{if(D)try{for(u--;l.length&&uy(b)):y(b)}g()}catch(b){n.error(b)}}))};return e.subscribe(Le(n,m,()=>{d=!0,g()})),()=>{a?.()}}(r,o,e,t)))}function Sr(e=1/0){return $e(rr,e)}const Xt=new Se(e=>e.complete());function _l(e){return e[e.length-1]}function Zf(e){return fe(_l(e))?e.pop():void 0}function xo(e){return function Ww(e){return e&&fe(e.schedule)}(_l(e))?e.pop():void 0}function Qf(e,n=0){return Be((t,r)=>{t.subscribe(Le(r,o=>yn(r,e,()=>r.next(o),n),()=>yn(r,e,()=>r.complete(),n),o=>yn(r,e,()=>r.error(o),n)))})}function Xf(e,n=0){return Be((t,r)=>{r.add(e.schedule(()=>t.subscribe(r),n))})}function Jf(e,n){if(!e)throw new Error("Iterable cannot be null");return new Se(t=>{yn(t,n,()=>{const r=e[Symbol.asyncIterator]();yn(t,n,()=>{r.next().then(o=>{o.done?t.complete():t.next(o.value)})},0,!0)})})}function Me(e,n){return n?function eb(e,n){if(null!=e){if(Bf(e))return function Yw(e,n){return Qt(e).pipe(Xf(n),Qf(n))}(e,n);if(Hf(e))return function Qw(e,n){return new Se(t=>{let r=0;return n.schedule(function(){r===e.length?t.complete():(t.next(e[r++]),t.closed||this.schedule())})})}(e,n);if(jf(e))return function Zw(e,n){return Qt(e).pipe(Xf(n),Qf(n))}(e,n);if($f(e))return Jf(e,n);if(qf(e))return function Xw(e,n){return new Se(t=>{let r;return yn(t,n,()=>{r=e[zf](),yn(t,n,()=>{let o,i;try{({value:o,done:i}=r.next())}catch(s){return void t.error(s)}i?t.complete():t.next(o)},0,!0)}),()=>fe(r?.return)&&r.return()})}(e,n);if(Kf(e))return function Jw(e,n){return Jf(Wf(e),n)}(e,n)}throw Gf(e)}(e,n):Qt(e)}function ir(e){return e<=0?()=>Xt:Be((n,t)=>{let r=0;n.subscribe(Le(t,o=>{++r<=e&&(t.next(o),e<=r&&t.complete())}))})}function Cl(e,n,...t){return!0===n?(e(),null):!1===n?null:n(...t).pipe(ir(1)).subscribe(()=>e())}function le(e){for(let n in e)if(e[n]===le)return n;throw Error("Could not find renamed property on target object.")}function Dl(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function he(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(he).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 wl(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const rb=le({__forward_ref__:le});function pe(e){return e.__forward_ref__=pe,e.toString=function(){return he(this())},e}function V(e){return bl(e)?e():e}function bl(e){return"function"==typeof e&&e.hasOwnProperty(rb)&&e.__forward_ref__===pe}function El(e){return e&&!!e.\u0275providers}const eh="https://g.co/ng/security#xss";class I extends Error{constructor(n,t){super(ts(n,t)),this.code=n}}function ts(e,n){return`NG0${Math.abs(e)}${n?": "+n.trim():""}`}function G(e){return"string"==typeof e?e:null==e?"":String(e)}function ns(e,n){throw new I(-201,!1)}function St(e,n){null==e&&function ie(e,n,t,r){throw new Error(`ASSERTION ERROR: ${e}`+(null==r?"":` [Expected=> ${t} ${r} ${n} <=Actual]`))}(n,e,null,"!=")}function P(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Mt(e){return{providers:e.providers||[],imports:e.imports||[]}}function rs(e){return th(e,os)||th(e,rh)}function th(e,n){return e.hasOwnProperty(n)?e[n]:null}function nh(e){return e&&(e.hasOwnProperty(Sl)||e.hasOwnProperty(fb))?e[Sl]:null}const os=le({\u0275prov:le}),Sl=le({\u0275inj:le}),rh=le({ngInjectableDef:le}),fb=le({ngInjectorDef:le});var U=(()=>((U=U||{})[U.Default=0]="Default",U[U.Host=1]="Host",U[U.Self=2]="Self",U[U.SkipSelf=4]="SkipSelf",U[U.Optional=8]="Optional",U))();let Ml;function It(e){const n=Ml;return Ml=e,n}function oh(e,n,t){const r=rs(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:t&U.Optional?null:void 0!==n?n:void ns(he(e))}const me=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),Ro={},Il="__NG_DI_FLAG__",is="ngTempTokenPath",pb="ngTokenPath",gb=/\n/gm,mb="\u0275",ih="__source";let No;function Mr(e){const n=No;return No=e,n}function yb(e,n=U.Default){if(void 0===No)throw new I(-203,!1);return null===No?oh(e,void 0,n):No.get(e,n&U.Optional?null:void 0,n)}function N(e,n=U.Default){return(function hb(){return Ml}()||yb)(V(e),n)}function Q(e,n=U.Default){return N(e,ss(n))}function ss(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Al(e){const n=[];for(let t=0;t((Jt=Jt||{})[Jt.OnPush=0]="OnPush",Jt[Jt.Default=1]="Default",Jt))(),en=(()=>{return(e=en||(en={}))[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",en;var e})();const _n={},re=[],as=le({\u0275cmp:le}),Tl=le({\u0275dir:le}),xl=le({\u0275pipe:le}),ah=le({\u0275mod:le}),Cn=le({\u0275fac:le}),Po=le({__NG_ELEMENT_ID__:le});let Db=0;function At(e){return vn(()=>{const n=uh(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===Jt.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,data:e.data||{},encapsulation:e.encapsulation||en.Emulated,id:"c"+Db++,styles:e.styles||re,_:null,schemas:e.schemas||null,tView:null};ch(t);const r=e.dependencies;return t.directiveDefs=ls(r,!1),t.pipeDefs=ls(r,!0),t})}function bb(e){return se(e)||Ye(e)}function Eb(e){return null!==e}function Lt(e){return vn(()=>({type:e.type,bootstrap:e.bootstrap||re,declarations:e.declarations||re,imports:e.imports||re,exports:e.exports||re,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function lh(e,n){if(null==e)return _n;const t={};for(const r in e)if(e.hasOwnProperty(r)){let o=e[r],i=o;Array.isArray(o)&&(i=o[1],o=o[0]),t[o]=r,n&&(n[o]=i)}return t}function B(e){return vn(()=>{const n=uh(e);return ch(n),n})}function se(e){return e[as]||null}function Ye(e){return e[Tl]||null}function ct(e){return e[xl]||null}function mt(e,n){const t=e[ah]||null;if(!t&&!0===n)throw new Error(`Type ${he(e)} does not have '\u0275mod' property.`);return t}function uh(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,exportAs:e.exportAs||null,standalone:!0===e.standalone,selectors:e.selectors||re,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:lh(e.inputs,n),outputs:lh(e.outputs)}}function ch(e){e.features?.forEach(n=>n(e))}function ls(e,n){if(!e)return null;const t=n?ct:bb;return()=>("function"==typeof e?e():e).map(r=>t(r)).filter(Eb)}const Dn=0,x=1,Y=2,we=3,Vt=4,sr=5,Ze=6,Ar=7,Ie=8,us=9,cs=10,X=11,Rl=12,Oo=13,dh=14,Tr=15,Qe=16,ko=17,xr=18,tn=19,Lo=20,fh=21,ye=22,Nl=1,hh=2,ds=7,fs=8,Rr=9,rt=10;function yt(e){return Array.isArray(e)&&"object"==typeof e[Nl]}function Ut(e){return Array.isArray(e)&&!0===e[Nl]}function Fl(e){return 0!=(4&e.flags)}function Vo(e){return e.componentOffset>-1}function hs(e){return 1==(1&e.flags)}function Ht(e){return!!e.template}function Mb(e){return 0!=(256&e[Y])}function ar(e,n){return e.hasOwnProperty(Cn)?e[Cn]:null}class Tb{constructor(n,t,r){this.previousValue=n,this.currentValue=t,this.firstChange=r}isFirstChange(){return this.firstChange}}function Tt(){return mh}function mh(e){return e.type.prototype.ngOnChanges&&(e.setInput=Rb),xb}function xb(){const e=vh(this),n=e?.current;if(n){const t=e.previous;if(t===_n)e.previous=n;else for(let r in n)t[r]=n[r];e.current=null,this.ngOnChanges(n)}}function Rb(e,n,t,r){const o=this.declaredInputs[t],i=vh(e)||function Nb(e,n){return e[yh]=n}(e,{previous:_n,current:null}),s=i.current||(i.current={}),a=i.previous,l=a[o];s[o]=new Tb(l&&l.currentValue,n,a===_n),e[r]=n}Tt.ngInherit=!0;const yh="__ngSimpleChanges__";function vh(e){return e[yh]||null}const xt=function(e,n,t){};function ze(e){for(;Array.isArray(e);)e=e[Dn];return e}function ps(e,n){return ze(n[e])}function vt(e,n){return ze(n[e.index])}function Dh(e,n){return e.data[n]}function _t(e,n){const t=n[e];return yt(t)?t:t[Dn]}function gs(e){return 64==(64&e[Y])}function Un(e,n){return null==n?null:e[n]}function wh(e){e[xr]=0}function Ol(e,n){e[sr]+=n;let t=e,r=e[we];for(;null!==r&&(1===n&&1===t[sr]||-1===n&&0===t[sr]);)r[sr]+=n,t=r,r=r[we]}const z={lFrame:Nh(null),bindingsEnabled:!0};function Eh(){return z.bindingsEnabled}function E(){return z.lFrame.lView}function te(){return z.lFrame.tView}function ue(e){return z.lFrame.contextLView=e,e[Ie]}function ce(e){return z.lFrame.contextLView=null,e}function qe(){let e=Sh();for(;null!==e&&64===e.type;)e=e.parent;return e}function Sh(){return z.lFrame.currentTNode}function nn(e,n){const t=z.lFrame;t.currentTNode=e,t.isParent=n}function kl(){return z.lFrame.isParent}function Ll(){z.lFrame.isParent=!1}function ot(){const e=z.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function Fr(){return z.lFrame.bindingIndex++}function zb(e,n){const t=z.lFrame;t.bindingIndex=t.bindingRootIndex=e,Vl(n)}function Vl(e){z.lFrame.currentDirectiveIndex=e}function Th(){return z.lFrame.currentQueryIndex}function Hl(e){z.lFrame.currentQueryIndex=e}function Wb(e){const n=e[x];return 2===n.type?n.declTNode:1===n.type?e[Ze]:null}function xh(e,n,t){if(t&U.SkipSelf){let o=n,i=e;for(;!(o=o.parent,null!==o||t&U.Host||(o=Wb(i),null===o||(i=i[Tr],10&o.type))););if(null===o)return!1;n=o,e=i}const r=z.lFrame=Rh();return r.currentTNode=n,r.lView=e,!0}function jl(e){const n=Rh(),t=e[x];z.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function Rh(){const e=z.lFrame,n=null===e?null:e.child;return null===n?Nh(e):n}function Nh(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 Fh(){const e=z.lFrame;return z.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const Ph=Fh;function Bl(){const e=Fh();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 it(){return z.lFrame.selectedIndex}function lr(e){z.lFrame.selectedIndex=e}function _e(){const e=z.lFrame;return Dh(e.tView,e.selectedIndex)}function ms(e,n){for(let t=n.directiveStart,r=n.directiveEnd;t=r)break}else n[l]<0&&(e[xr]+=65536),(a>11>16&&(3&e[Y])===n){e[Y]+=2048,xt(4,a,i);try{i.call(a)}finally{xt(5,a,i)}}}else{xt(4,a,i);try{i.call(a)}finally{xt(5,a,i)}}}const Pr=-1;class Ho{constructor(n,t,r){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=r}}function zl(e,n,t){let r=0;for(;rn){s=i-1;break}}}for(;i>16}(e),r=n;for(;t>0;)r=r[Tr],t--;return r}let ql=!0;function Ds(e){const n=ql;return ql=e,n}const Hh=255,jh=5;let aE=0;const rn={};function ws(e,n){const t=Bh(e,n);if(-1!==t)return t;const r=n[x];r.firstCreatePass&&(e.injectorIndex=n.length,Wl(r.data,e),Wl(n,null),Wl(r.blueprint,null));const o=Kl(e,n),i=e.injectorIndex;if(Uh(o)){const s=_s(o),a=Cs(o,n),l=a[x].data;for(let u=0;u<8;u++)n[i+u]=a[s+u]|l[s+u]}return n[i+8]=o,i}function Wl(e,n){e.push(0,0,0,0,0,0,0,0,n)}function Bh(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function Kl(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,r=null,o=n;for(;null!==o;){if(r=Yh(o),null===r)return Pr;if(t++,o=o[Tr],-1!==r.injectorIndex)return r.injectorIndex|t<<16}return Pr}function Yl(e,n,t){!function lE(e,n,t){let r;"string"==typeof t?r=t.charCodeAt(0)||0:t.hasOwnProperty(Po)&&(r=t[Po]),null==r&&(r=t[Po]=aE++);const o=r&Hh;n.data[e+(o>>jh)]|=1<=0?n&Hh:fE:n}(t);if("function"==typeof i){if(!xh(n,e,r))return r&U.Host?$h(o,0,r):Gh(n,t,r,o);try{const s=i(r);if(null!=s||r&U.Optional)return s;ns()}finally{Ph()}}else if("number"==typeof i){let s=null,a=Bh(e,n),l=Pr,u=r&U.Host?n[Qe][Ze]:null;for((-1===a||r&U.SkipSelf)&&(l=-1===a?Kl(e,n):n[a+8],l!==Pr&&Kh(r,!1)?(s=n[x],a=_s(l),n=Cs(l,n)):a=-1);-1!==a;){const c=n[x];if(Wh(i,a,c.data)){const d=cE(a,n,t,s,r,u);if(d!==rn)return d}l=n[a+8],l!==Pr&&Kh(r,n[x].data[a+8]===u)&&Wh(i,a,n)?(s=c,a=_s(l),n=Cs(l,n)):a=-1}}return o}function cE(e,n,t,r,o,i){const s=n[x],a=s.data[e+8],c=bs(a,s,t,null==r?Vo(a)&&ql:r!=s&&0!=(3&a.type),o&U.Host&&i===a);return null!==c?ur(n,s,c,a):rn}function bs(e,n,t,r,o){const i=e.providerIndexes,s=n.data,a=1048575&i,l=e.directiveStart,c=i>>20,g=o?a+c:e.directiveEnd;for(let m=r?a:a+c;m=l&&y.type===t)return m}if(o){const m=s[l];if(m&&Ht(m)&&m.type===t)return l}return null}function ur(e,n,t,r){let o=e[t];const i=n.data;if(function rE(e){return e instanceof Ho}(o)){const s=o;s.resolving&&function ob(e,n){const t=n?`. Dependency path: ${n.join(" > ")} > ${e}`:"";throw new I(-200,`Circular dependency in DI detected for ${e}${t}`)}(function oe(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():G(e)}(i[t]));const a=Ds(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?It(s.injectImpl):null;xh(e,r,U.Default);try{o=e[t]=s.factory(void 0,i,e,r),n.firstCreatePass&&t>=r.directiveStart&&function tE(e,n,t){const{ngOnChanges:r,ngOnInit:o,ngDoCheck:i}=n.type.prototype;if(r){const s=mh(n);(t.preOrderHooks??(t.preOrderHooks=[])).push(e,s),(t.preOrderCheckHooks??(t.preOrderCheckHooks=[])).push(e,s)}o&&(t.preOrderHooks??(t.preOrderHooks=[])).push(0-e,o),i&&((t.preOrderHooks??(t.preOrderHooks=[])).push(e,i),(t.preOrderCheckHooks??(t.preOrderCheckHooks=[])).push(e,i))}(t,i[t],n)}finally{null!==l&&It(l),Ds(a),s.resolving=!1,Ph()}}return o}function Wh(e,n,t){return!!(t[n+(e>>jh)]&1<{const n=e.prototype.constructor,t=n[Cn]||Zl(n),r=Object.prototype;let o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){const i=o[Cn]||Zl(o);if(i&&i!==t)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function Zl(e){return bl(e)?()=>{const n=Zl(V(e));return n&&n()}:ar(e)}function Yh(e){const n=e[x],t=n.type;return 2===t?n.declTNode:1===t?e[Ze]:null}const Lr="__parameters__";function Ur(e,n,t){return vn(()=>{const r=function Ql(e){return function(...t){if(e){const r=e(...t);for(const o in r)this[o]=r[o]}}}(n);function o(...i){if(this instanceof o)return r.apply(this,i),this;const s=new o(...i);return a.annotation=s,a;function a(l,u,c){const d=l.hasOwnProperty(Lr)?l[Lr]:Object.defineProperty(l,Lr,{value:[]})[Lr];for(;d.length<=c;)d.push(null);return(d[c]=d[c]||[]).push(s),l}}return t&&(o.prototype=Object.create(t.prototype)),o.prototype.ngMetadataName=e,o.annotationCls=o,o})}class R{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=P({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function cr(e,n){e.forEach(t=>Array.isArray(t)?cr(t,n):n(t))}function Qh(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function Ss(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function Ct(e,n,t){let r=Hr(e,n);return r>=0?e[1|r]=t:(r=~r,function yE(e,n,t,r){let o=e.length;if(o==n)e.push(t,r);else if(1===o)e.push(r,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]=r}}(e,r,n,t)),r}function Jl(e,n){const t=Hr(e,n);if(t>=0)return e[1|t]}function Hr(e,n){return function Xh(e,n,t){let r=0,o=e.length>>t;for(;o!==r;){const i=r+(o-r>>1),s=e[i<n?o=i:r=i+1}return~(o<((dt=dt||{})[dt.Important=1]="Important",dt[dt.DashCase=2]="DashCase",dt))();const iu=new Map;let UE=0;const au="__ngContext__";function Xe(e,n){yt(n)?(e[au]=n[Lo],function jE(e){iu.set(e[Lo],e)}(n)):e[au]=n}let lu;function uu(e,n){return lu(e,n)}function Zo(e){const n=e[we];return Ut(n)?n[we]:n}function cu(e){return vp(e[Oo])}function du(e){return vp(e[Vt])}function vp(e){for(;null!==e&&!Ut(e);)e=e[Vt];return e}function Br(e,n,t,r,o){if(null!=r){let i,s=!1;Ut(r)?i=r:yt(r)&&(s=!0,r=r[Dn]);const a=ze(r);0===e&&null!==t?null==o?Ep(n,t,a):dr(n,t,a,o||null,!0):1===e&&null!==t?dr(n,t,a,o||null,!0):2===e?function vu(e,n,t){const r=Ts(e,n);r&&function l0(e,n,t,r){e.removeChild(n,t,r)}(e,r,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=i&&function d0(e,n,t,r,o){const i=t[ds];i!==ze(t)&&Br(n,e,r,i,o);for(let a=rt;a0&&(e[t-1][Vt]=r[Vt]);const i=Ss(e,rt+n);!function JE(e,n){Qo(e,n,n[X],2,null,null),n[Dn]=null,n[Ze]=null}(r[x],r);const s=i[tn];null!==s&&s.detachView(i[x]),r[we]=null,r[Vt]=null,r[Y]&=-65}return r}function Dp(e,n){if(!(128&n[Y])){const t=n[X];t.destroyNode&&Qo(e,n,t,3,null,null),function n0(e){let n=e[Oo];if(!n)return gu(e[x],e);for(;n;){let t=null;if(yt(n))t=n[Oo];else{const r=n[rt];r&&(t=r)}if(!t){for(;n&&!n[Vt]&&n!==e;)yt(n)&&gu(n[x],n),n=n[we];null===n&&(n=e),yt(n)&&gu(n[x],n),t=n&&n[Vt]}n=t}}(n)}}function gu(e,n){if(!(128&n[Y])){n[Y]&=-65,n[Y]|=128,function a0(e,n){let t;if(null!=e&&null!=(t=e.destroyHooks))for(let r=0;r=0?r[o=s]():r[o=-s].unsubscribe(),i+=2}else{const s=r[o=t[i+1]];t[i].call(s)}if(null!==r){for(let i=o+1;i-1){const{encapsulation:i}=e.data[r.directiveStart+o];if(i===en.None||i===en.Emulated)return null}return vt(r,t)}}(e,n.parent,t)}function dr(e,n,t,r,o){e.insertBefore(n,t,r,o)}function Ep(e,n,t){e.appendChild(n,t)}function Sp(e,n,t,r,o){null!==r?dr(e,n,t,r,o):Ep(e,n,t)}function Ts(e,n){return e.parentNode(n)}let mu,Du,Fs,Ap=function Ip(e,n,t){return 40&e.type?vt(e,t):null};function xs(e,n,t,r){const o=wp(e,r,n),i=n[X],a=function Mp(e,n,t){return Ap(e,n,t)}(r.parent||n[Ze],r,n);if(null!=o)if(Array.isArray(t))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Fs}()?.createScriptURL(e)||e}class Vp{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${eh})`}}function Hn(e){return e instanceof Vp?e.changingThisBreaksApplicationSecurity:e}function Xo(e,n){const t=function b0(e){return e instanceof Vp&&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 ${eh})`)}return t===n}const I0=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;var Fe=(()=>((Fe=Fe||{})[Fe.NONE=0]="NONE",Fe[Fe.HTML=1]="HTML",Fe[Fe.STYLE=2]="STYLE",Fe[Fe.SCRIPT=3]="SCRIPT",Fe[Fe.URL=4]="URL",Fe[Fe.RESOURCE_URL=5]="RESOURCE_URL",Fe))();function Gr(e){const n=ei();return n?n.sanitize(Fe.URL,e)||"":Xo(e,"URL")?Hn(e):function bu(e){return(e=String(e)).match(I0)?e:"unsafe:"+e}(G(e))}function zp(e){const n=ei();if(n)return Lp(n.sanitize(Fe.RESOURCE_URL,e)||"");if(Xo(e,"ResourceURL"))return Lp(Hn(e));throw new I(904,!1)}function ei(){const e=E();return e&&e[Rl]}const Os=new R("ENVIRONMENT_INITIALIZER"),Wp=new R("INJECTOR",-1),Kp=new R("INJECTOR_DEF_TYPES");class Yp{get(n,t=Ro){if(t===Ro){const r=new Error(`NullInjectorError: No provider for ${he(n)}!`);throw r.name="NullInjectorError",r}return t}}function j0(...e){return{\u0275providers:Zp(0,e),\u0275fromNgModule:!0}}function Zp(e,...n){const t=[],r=new Set;let o;return cr(n,i=>{const s=i;Iu(s,t,[],r)&&(o||(o=[]),o.push(s))}),void 0!==o&&Qp(o,t),t}function Qp(e,n){for(let t=0;t{n.push(i)})}}function Iu(e,n,t,r){if(!(e=V(e)))return!1;let o=null,i=nh(e);const s=!i&&se(e);if(i||s){if(s&&!s.standalone)return!1;o=e}else{const l=e.ngModule;if(i=nh(l),!i)return!1;o=l}const a=r.has(o);if(s){if(a)return!1;if(r.add(o),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const u of l)Iu(u,n,t,r)}}else{if(!i)return!1;{if(null!=i.imports&&!a){let u;r.add(o);try{cr(i.imports,c=>{Iu(c,n,t,r)&&(u||(u=[]),u.push(c))})}finally{}void 0!==u&&Qp(u,n)}if(!a){const u=ar(o)||(()=>new o);n.push({provide:o,useFactory:u,deps:re},{provide:Kp,useValue:o,multi:!0},{provide:Os,useValue:()=>N(o),multi:!0})}const l=i.providers;null==l||a||Au(l,c=>{n.push(c)})}}return o!==e&&void 0!==e.providers}function Au(e,n){for(let t of e)El(t)&&(t=t.\u0275providers),Array.isArray(t)?Au(t,n):n(t)}const B0=le({provide:String,useValue:le});function Tu(e){return null!==e&&"object"==typeof e&&B0 in e}function fr(e){return"function"==typeof e}const xu=new R("Set Injector scope."),ks={},G0={};let Ru;function Ls(){return void 0===Ru&&(Ru=new Yp),Ru}class on{}class eg extends on{get destroyed(){return this._destroyed}constructor(n,t,r,o){super(),this.parent=t,this.source=r,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Fu(n,s=>this.processProvider(s)),this.records.set(Wp,zr(void 0,this)),o.has("environment")&&this.records.set(on,zr(void 0,this));const i=this.records.get(xu);null!=i&&"string"==typeof i.value&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(Kp.multi,re,U.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const n of this._ngOnDestroyHooks)n.ngOnDestroy();for(const n of this._onDestroyHooks)n()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),this._onDestroyHooks.length=0}}onDestroy(n){this._onDestroyHooks.push(n)}runInContext(n){this.assertNotDestroyed();const t=Mr(this),r=It(void 0);try{return n()}finally{Mr(t),It(r)}}get(n,t=Ro,r=U.Default){this.assertNotDestroyed(),r=ss(r);const o=Mr(this),i=It(void 0);try{if(!(r&U.SkipSelf)){let a=this.records.get(n);if(void 0===a){const l=function Y0(e){return"function"==typeof e||"object"==typeof e&&e instanceof R}(n)&&rs(n);a=l&&this.injectableDefInScope(l)?zr(Nu(n),ks):null,this.records.set(n,a)}if(null!=a)return this.hydrate(n,a)}return(r&U.Self?Ls():this.parent).get(n,t=r&U.Optional&&t===Ro?null:t)}catch(s){if("NullInjectorError"===s.name){if((s[is]=s[is]||[]).unshift(he(n)),o)throw s;return function _b(e,n,t,r){const o=e[is];throw n[ih]&&o.unshift(n[ih]),e.message=function Cb(e,n,t,r=null){e=e&&"\n"===e.charAt(0)&&e.charAt(1)==mb?e.slice(2):e;let o=he(n);if(Array.isArray(n))o=n.map(he).join(" -> ");else if("object"==typeof n){let i=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];i.push(s+":"+("string"==typeof a?JSON.stringify(a):he(a)))}o=`{${i.join(", ")}}`}return`${t}${r?"("+r+")":""}[${o}]: ${e.replace(gb,"\n ")}`}("\n"+e.message,o,t,r),e[pb]=o,e[is]=null,e}(s,n,"R3InjectorError",this.source)}throw s}finally{It(i),Mr(o)}}resolveInjectorInitializers(){const n=Mr(this),t=It(void 0);try{const r=this.get(Os.multi,re,U.Self);for(const o of r)o()}finally{Mr(n),It(t)}}toString(){const n=[],t=this.records;for(const r of t.keys())n.push(he(r));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new I(205,!1)}processProvider(n){let t=fr(n=V(n))?n:V(n&&n.provide);const r=function q0(e){return Tu(e)?zr(void 0,e.useValue):zr(tg(e),ks)}(n);if(fr(n)||!0!==n.multi)this.records.get(t);else{let o=this.records.get(t);o||(o=zr(void 0,ks,!0),o.factory=()=>Al(o.multi),this.records.set(t,o)),t=n,o.multi.push(n)}this.records.set(t,r)}hydrate(n,t){return t.value===ks&&(t.value=G0,t.value=t.factory()),"object"==typeof t.value&&t.value&&function K0(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}injectableDefInScope(n){if(!n.providedIn)return!1;const t=V(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}}function Nu(e){const n=rs(e),t=null!==n?n.factory:ar(e);if(null!==t)return t;if(e instanceof R)throw new I(204,!1);if(e instanceof Function)return function z0(e){const n=e.length;if(n>0)throw function Go(e,n){const t=[];for(let r=0;rt.factory(e):()=>new e}(e);throw new I(204,!1)}function tg(e,n,t){let r;if(fr(e)){const o=V(e);return ar(o)||Nu(o)}if(Tu(e))r=()=>V(e.useValue);else if(function Jp(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...Al(e.deps||[]));else if(function Xp(e){return!(!e||!e.useExisting)}(e))r=()=>N(V(e.useExisting));else{const o=V(e&&(e.useClass||e.provide));if(!function W0(e){return!!e.deps}(e))return ar(o)||Nu(o);r=()=>new o(...Al(e.deps))}return r}function zr(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function Fu(e,n){for(const t of e)Array.isArray(t)?Fu(t,n):t&&El(t)?Fu(t.\u0275providers,n):n(t)}class Z0{}class ng{}class X0{resolveComponentFactory(n){throw function Q0(e){const n=Error(`No component factory found for ${he(e)}. Did you add it to @NgModule.entryComponents?`);return n.ngComponent=e,n}(n)}}let ti=(()=>{class e{}return e.NULL=new X0,e})();function J0(){return qr(qe(),E())}function qr(e,n){return new Dt(vt(e,n))}let Dt=(()=>{class e{constructor(t){this.nativeElement=t}}return e.__NG_ELEMENT_ID__=J0,e})();function e1(e){return e instanceof Dt?e.nativeElement:e}class og{}let Sn=(()=>{class e{}return e.__NG_ELEMENT_ID__=()=>function t1(){const e=E(),t=_t(qe().index,e);return(yt(t)?t:e)[X]}(),e})(),n1=(()=>{class e{}return e.\u0275prov=P({token:e,providedIn:"root",factory:()=>null}),e})();class ni{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const r1=new ni("15.2.6"),Pu={},Ou="ngOriginalError";function ku(e){return e[Ou]}class Wr{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&ku(n);for(;t&&ku(t);)t=ku(t);return t||null}}function Mn(e){return e instanceof Function?e():e}function sg(e,n,t){let r=e.length;for(;;){const o=e.indexOf(n,t);if(-1===o)return o;if(0===o||e.charCodeAt(o-1)<=32){const i=n.length;if(o+i===r||e.charCodeAt(o+i)<=32)return o}t=o+1}}const ag="ng-template";function p1(e,n,t){let r=0,o=!0;for(;ri?"":o[d+1].toLowerCase();const m=8&r?g:null;if(m&&-1!==sg(m,u,0)||2&r&&u!==g){if(jt(r))return!1;s=!0}}}}else{if(!s&&!jt(r)&&!jt(l))return!1;if(s&&jt(l))continue;s=!1,r=l|1&r}}return jt(r)||s}function jt(e){return 0==(1&e)}function y1(e,n,t,r){if(null===n)return-1;let o=0;if(r||!t){let i=!1;for(;o-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&r?o+="."+s:4&r&&(o+=" "+s);else""!==o&&!jt(s)&&(n+=cg(i,o),o=""),r=s,i=i||!jt(r);t++}return""!==o&&(n+=cg(i,o)),n}const q={};function C(e){dg(te(),E(),it()+e,!1)}function dg(e,n,t,r){if(!r)if(3==(3&n[Y])){const i=e.preOrderCheckHooks;null!==i&&ys(n,i,t)}else{const i=e.preOrderHooks;null!==i&&vs(n,i,0,t)}lr(t)}function gg(e,n=null,t=null,r){const o=mg(e,n,t,r);return o.resolveInjectorInitializers(),o}function mg(e,n=null,t=null,r,o=new Set){const i=[t||re,j0(e)];return r=r||("object"==typeof e?void 0:he(e)),new eg(i,n||Ls(),r||null,o)}let sn=(()=>{class e{static create(t,r){if(Array.isArray(t))return gg({name:""},r,t,"");{const o=t.name??"";return gg({name:o},t.parent,t.providers,o)}}}return e.THROW_IF_NOT_FOUND=Ro,e.NULL=new Yp,e.\u0275prov=P({token:e,providedIn:"any",factory:()=>N(Wp)}),e.__NG_ELEMENT_ID__=-1,e})();function M(e,n=U.Default){const t=E();return null===t?N(e,n):zh(qe(),t,V(e),n)}function Eg(e,n){const t=e.contentQueries;if(null!==t)for(let r=0;rye&&dg(e,n,ye,!1),xt(s?2:0,o),t(r,o)}finally{lr(i),xt(s?3:1,o)}}function $u(e,n,t){if(Fl(n)){const o=n.directiveEnd;for(let i=n.directiveStart;i0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,r,i)}}(e,n,r,ri(e,t,o.hostVars,q),o)}function an(e,n,t,r,o,i){const s=vt(e,n);!function Yu(e,n,t,r,o,i,s){if(null==i)e.removeAttribute(n,o,t);else{const a=null==s?G(i):s(i,r||"",o);e.setAttribute(n,o,a,t)}}(n[X],s,i,e.value,t,r,o)}function lS(e,n,t,r,o,i){const s=i[n];if(null!==s){const a=r.setInput;for(let l=0;l0&&Zu(t)}}function Zu(e){for(let r=cu(e);null!==r;r=du(r))for(let o=rt;o0&&Zu(i)}const t=e[x].components;if(null!==t)for(let r=0;r0&&Zu(o)}}function hS(e,n){const t=_t(n,e),r=t[x];(function pS(e,n){for(let t=n.length;t-1&&(pu(n,r),Ss(t,r))}this._attachedToViewContainer=!1}Dp(this._lView[x],this._lView)}onDestroy(n){Ig(this._lView[x],this._lView,null,n)}markForCheck(){Qu(this._cdRefInjectingView||this._lView)}detach(){this._lView[Y]&=-65}reattach(){this._lView[Y]|=64}detectChanges(){Bs(this._lView[x],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new I(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function t0(e,n){Qo(e,n,n[X],2,null,null)}(this._lView[x],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new I(902,!1);this._appRef=n}}class gS extends oi{constructor(n){super(n),this._view=n}detectChanges(){const n=this._view;Bs(n[x],n,n[Ie],!1)}checkNoChanges(){}get context(){return null}}class Vg extends ti{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const t=se(n);return new ii(t,this.ngModule)}}function Ug(e){const n=[];for(let t in e)e.hasOwnProperty(t)&&n.push({propName:e[t],templateName:t});return n}class yS{constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,r){r=ss(r);const o=this.injector.get(n,Pu,r);return o!==Pu||t===Pu?o:this.parentInjector.get(n,t,r)}}class ii extends ng{get inputs(){return Ug(this.componentDef.inputs)}get outputs(){return Ug(this.componentDef.outputs)}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function b1(e){return e.map(w1).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!t}create(n,t,r,o){let i=(o=o||this.ngModule)instanceof on?o:o?.injector;i&&null!==this.componentDef.getStandaloneInjector&&(i=this.componentDef.getStandaloneInjector(i)||i);const s=i?new yS(n,i):n,a=s.get(og,null);if(null===a)throw new I(407,!1);const l=s.get(n1,null),u=a.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",d=r?function W1(e,n,t){return e.selectRootElement(n,t===en.ShadowDom)}(u,r,this.componentDef.encapsulation):hu(u,c,function mS(e){const n=e.toLowerCase();return"svg"===n?"svg":"math"===n?"math":null}(c)),g=this.componentDef.onPush?288:272,m=qu(0,null,null,1,0,null,null,null,null,null),y=Us(null,m,null,g,null,null,a,u,l,s,null);let _,D;jl(y);try{const b=this.componentDef;let A,w=null;b.findHostDirectiveDefs?(A=[],w=new Map,b.findHostDirectiveDefs(b,A,w),A.push(b)):A=[b];const L=function _S(e,n){const t=e[x],r=ye;return e[r]=n,Zr(t,r,2,"#host",null)}(y,d),de=function CS(e,n,t,r,o,i,s,a){const l=o[x];!function DS(e,n,t,r){for(const o of e)n.mergedAttrs=jo(n.mergedAttrs,o.hostAttrs);null!==n.mergedAttrs&&($s(n,n.mergedAttrs,!0),null!==t&&Fp(r,t,n))}(r,e,n,s);const u=i.createRenderer(n,t),c=Us(o,Mg(t),null,t.onPush?32:16,o[e.index],e,i,u,a||null,null,null);return l.firstCreatePass&&Ku(l,e,r.length-1),js(o,c),o[e.index]=c}(L,d,b,A,y,a,u);D=Dh(m,ye),d&&function bS(e,n,t,r){if(r)zl(e,t,["ng-version",r1.full]);else{const{attrs:o,classes:i}=function E1(e){const n=[],t=[];let r=1,o=2;for(;r0&&Np(e,t,i.join(" "))}}(u,b,d,r),void 0!==t&&function ES(e,n,t){const r=e.projection=[];for(let o=0;o=0;r--){const o=e[r];o.hostVars=n+=o.hostVars,o.hostAttrs=jo(o.hostAttrs,t=jo(t,o.hostAttrs))}}(r)}function ec(e){return e===_n?{}:e===re?[]:e}function IS(e,n){const t=e.viewQuery;e.viewQuery=t?(r,o)=>{n(r,o),t(r,o)}:n}function AS(e,n){const t=e.contentQueries;e.contentQueries=t?(r,o,i)=>{n(r,o,i),t(r,o,i)}:n}function TS(e,n){const t=e.hostBindings;e.hostBindings=t?(r,o)=>{n(r,o),t(r,o)}:n}function zs(e){return!!tc(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function tc(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function ln(e,n,t){return e[n]=t}function Je(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function Bt(e,n,t,r){const o=E();return Je(o,Fr(),n)&&(te(),an(_e(),o,e,n,t,r)),Bt}function Xr(e,n,t,r){return Je(e,Fr(),t)?n+G(t)+r:q}function $(e,n,t,r,o,i,s,a){const l=E(),u=te(),c=e+ye,d=u.firstCreatePass?function US(e,n,t,r,o,i,s,a,l){const u=n.consts,c=Zr(n,e,4,s||null,Un(u,a));Wu(n,t,c,Un(u,l)),ms(n,c);const d=c.tView=qu(2,c,r,o,i,n.directiveRegistry,n.pipeRegistry,null,n.schemas,u);return null!==n.queries&&(n.queries.template(n,c),d.queries=n.queries.embeddedTView(c)),c}(c,u,l,n,t,r,o,i,s):u.data[c];nn(d,!1);const g=l[X].createComment("");xs(u,l,g,d),Xe(g,l),js(l,l[c]=Fg(g,l,g,d)),hs(d)&&Gu(u,l,d),null!=s&&zu(l,d,a)}function S(e,n,t){const r=E();return Je(r,Fr(),n)&&wt(te(),_e(),r,e,n,r[X],t,!1),S}function nc(e,n,t,r,o){const s=o?"class":"style";Ju(e,t,n.inputs[s],s,r)}function h(e,n,t,r){const o=E(),i=te(),s=ye+e,a=o[X],l=i.firstCreatePass?function jS(e,n,t,r,o,i){const s=n.consts,l=Zr(n,e,2,r,Un(s,o));return Wu(n,t,l,Un(s,i)),null!==l.attrs&&$s(l,l.attrs,!1),null!==l.mergedAttrs&&$s(l,l.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,l),l}(s,i,o,n,t,r):i.data[s],u=o[s]=hu(a,n,function eE(){return z.lFrame.currentNamespace}()),c=hs(l);return nn(l,!0),Fp(a,u,l),32!=(32&l.flags)&&xs(i,o,u,l),0===function Vb(){return z.lFrame.elementDepthCount}()&&Xe(u,o),function Ub(){z.lFrame.elementDepthCount++}(),c&&(Gu(i,o,l),$u(i,l,o)),null!==r&&zu(o,l),h}function p(){let e=qe();kl()?Ll():(e=e.parent,nn(e,!1));const n=e;!function Hb(){z.lFrame.elementDepthCount--}();const t=te();return t.firstCreatePass&&(ms(t,e),Fl(e)&&t.queries.elementEnd(e)),null!=n.classesWithoutHost&&function oE(e){return 0!=(8&e.flags)}(n)&&nc(t,n,E(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function iE(e){return 0!=(16&e.flags)}(n)&&nc(t,n,E(),n.stylesWithoutHost,!1),p}function v(e,n,t,r){return h(e,n,t,r),p(),v}function pr(e,n,t){const r=E(),o=te(),i=e+ye,s=o.firstCreatePass?function BS(e,n,t,r,o){const i=n.consts,s=Un(i,r),a=Zr(n,e,8,"ng-container",s);return null!==s&&$s(a,s,!0),Wu(n,t,a,Un(i,o)),null!==n.queries&&n.queries.elementStart(n,a),a}(i,o,r,n,t):o.data[i];nn(s,!0);const a=r[i]=r[X].createComment("");return xs(o,r,a,s),Xe(a,r),hs(s)&&(Gu(o,r,s),$u(o,s,r)),null!=t&&zu(r,s),pr}function gr(){let e=qe();const n=te();return kl()?Ll():(e=e.parent,nn(e,!1)),n.firstCreatePass&&(ms(n,e),Fl(e)&&n.queries.elementEnd(e)),gr}function Ge(){return E()}function ai(e){return!!e&&"function"==typeof e.then}const rc=function tm(e){return!!e&&"function"==typeof e.subscribe};function F(e,n,t,r){const o=E(),i=te(),s=qe();return function rm(e,n,t,r,o,i,s){const a=hs(r),u=e.firstCreatePass&&Og(e),c=n[Ie],d=Pg(n);let g=!0;if(3&r.type||s){const _=vt(r,n),D=s?s(_):_,b=d.length,A=s?L=>s(ze(L[r.index])):r.index;let w=null;if(!s&&a&&(w=function $S(e,n,t,r){const o=e.cleanup;if(null!=o)for(let i=0;il?a[l]:null}"string"==typeof s&&(i+=2)}return null}(e,n,o,r.index)),null!==w)(w.__ngLastListenerFn__||w).__ngNextListenerFn__=i,w.__ngLastListenerFn__=i,g=!1;else{i=im(r,n,c,i,!1);const L=t.listen(D,o,i);d.push(i,L),u&&u.push(o,A,b,b+1)}}else i=im(r,n,c,i,!1);const m=r.outputs;let y;if(g&&null!==m&&(y=m[o])){const _=y.length;if(_)for(let D=0;D<_;D+=2){const de=n[y[D]][y[D+1]].subscribe(i),Ne=d.length;d.push(i,de),u&&u.push(o,r.index,Ne,-(Ne+1))}}}(i,o,o[X],s,e,n,r),F}function om(e,n,t,r){try{return xt(6,n,t),!1!==t(r)}catch(o){return Lg(e,o),!1}finally{xt(7,n,t)}}function im(e,n,t,r,o){return function i(s){if(s===Function)return r;Qu(e.componentOffset>-1?_t(e.index,n):n);let l=om(n,t,r,s),u=i.__ngNextListenerFn__;for(;u;)l=om(n,t,u,s)&&l,u=u.__ngNextListenerFn__;return o&&!1===l&&(s.preventDefault(),s.returnValue=!1),l}}function H(e=1){return function Kb(e){return(z.lFrame.contextLView=function Yb(e,n){for(;e>0;)n=n[Tr],e--;return n}(e,z.lFrame.contextLView))[Ie]}(e)}function An(e,n,t,r,o){const i=E(),s=Xr(i,n,t,r);return s!==q&&wt(te(),_e(),i,e,s,i[X],o,!1),An}function Ws(e,n){return e<<17|n<<2}function jn(e){return e>>17&32767}function oc(e){return 2|e}function mr(e){return(131068&e)>>2}function ic(e,n){return-131069&e|n<<2}function sc(e){return 1|e}function gm(e,n,t,r,o){const i=e[t+1],s=null===n;let a=r?jn(i):mr(i),l=!1;for(;0!==a&&(!1===l||s);){const c=e[a+1];XS(e[a],n)&&(l=!0,e[a+1]=r?sc(c):oc(c)),a=r?jn(c):mr(c)}l&&(e[t+1]=r?oc(i):sc(i))}function XS(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&Hr(e,n)>=0}function Ks(e,n){return function $t(e,n,t,r){const o=E(),i=te(),s=function bn(e){const n=z.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}(2);i.firstUpdatePass&&function Em(e,n,t,r){const o=e.data;if(null===o[t+1]){const i=o[it()],s=function bm(e,n){return n>=e.expandoStartIndex}(e,t);(function Am(e,n){return 0!=(e.flags&(n?8:16))})(i,r)&&null===n&&!s&&(n=!1),n=function aM(e,n,t,r){const o=function Ul(e){const n=z.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let i=r?n.residualClasses:n.residualStyles;if(null===o)0===(r?n.classBindings:n.styleBindings)&&(t=li(t=ac(null,e,n,t,r),n.attrs,r),i=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==o)if(t=ac(o,e,n,t,r),null===i){let l=function lM(e,n,t){const r=t?n.classBindings:n.styleBindings;if(0!==mr(r))return e[jn(r)]}(e,n,r);void 0!==l&&Array.isArray(l)&&(l=ac(null,e,n,l[1],r),l=li(l,n.attrs,r),function uM(e,n,t,r){e[jn(t?n.classBindings:n.styleBindings)]=r}(e,n,r,l))}else i=function cM(e,n,t){let r;const o=n.directiveEnd;for(let i=1+n.directiveStylingLast;i0)&&(u=!0)):c=t,o)if(0!==l){const g=jn(e[a+1]);e[r+1]=Ws(g,a),0!==g&&(e[g+1]=ic(e[g+1],r)),e[a+1]=function KS(e,n){return 131071&e|n<<17}(e[a+1],r)}else e[r+1]=Ws(a,0),0!==a&&(e[a+1]=ic(e[a+1],r)),a=r;else e[r+1]=Ws(l,0),0===a?a=r:e[l+1]=ic(e[l+1],r),l=r;u&&(e[r+1]=oc(e[r+1])),gm(e,c,r,!0),gm(e,c,r,!1),function QS(e,n,t,r,o){const i=o?e.residualClasses:e.residualStyles;null!=i&&"string"==typeof n&&Hr(i,n)>=0&&(t[r+1]=sc(t[r+1]))}(n,c,e,r,i),s=Ws(a,l),i?n.classBindings=s:n.styleBindings=s}(o,i,n,t,s,r)}}(i,e,s,r),n!==q&&Je(o,s,n)&&function Mm(e,n,t,r,o,i,s,a){if(!(3&n.type))return;const l=e.data,u=l[a+1],c=function YS(e){return 1==(1&e)}(u)?Im(l,n,t,o,mr(u),s):void 0;Ys(c)||(Ys(i)||function WS(e){return 2==(2&e)}(u)&&(i=Im(l,null,t,o,a,s)),function f0(e,n,t,r,o){if(n)o?e.addClass(t,r):e.removeClass(t,r);else{let i=-1===r.indexOf("-")?void 0:dt.DashCase;null==o?e.removeStyle(t,r,i):("string"==typeof o&&o.endsWith("!important")&&(o=o.slice(0,-10),i|=dt.Important),e.setStyle(t,r,o,i))}}(r,s,ps(it(),t),o,i))}(i,i.data[it()],o,o[X],e,o[s+1]=function hM(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=he(Hn(e)))),e}(n,t),r,s)}(e,n,null,!0),Ks}function ac(e,n,t,r,o){let i=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[o],u=Array.isArray(l),c=u?l[1]:l,d=null===c;let g=t[o+1];g===q&&(g=d?re:void 0);let m=d?Jl(g,r):c===r?g:void 0;if(u&&!Ys(m)&&(m=Jl(l,r)),Ys(m)&&(a=m,s))return a;const y=e[o+1];o=s?jn(y):mr(y)}if(null!==n){let l=i?n.residualClasses:n.residualStyles;null!=l&&(a=Jl(l,r))}return a}function Ys(e){return void 0!==e}function f(e,n=""){const t=E(),r=te(),o=e+ye,i=r.firstCreatePass?Zr(r,o,1,n,null):r.data[o],s=t[o]=function fu(e,n){return e.createText(n)}(t[X],n);xs(r,t,s,i),nn(i,!1)}function Ce(e){return Tn("",e,""),Ce}function Tn(e,n,t){const r=E(),o=Xr(r,e,n,t);return o!==q&&function In(e,n,t){const r=ps(n,e);!function _p(e,n,t){e.setValue(n,t)}(e[X],r,t)}(r,it(),o),Tn}const lo="en-US";let Zm=lo;function cc(e,n,t,r,o){if(e=V(e),Array.isArray(e))for(let i=0;i>20;if(fr(e)||!e.multi){const m=new Ho(l,o,M),y=fc(a,n,o?c:c+g,d);-1===y?(Yl(ws(u,s),i,a),dc(i,e,n.length),n.push(a),u.directiveStart++,u.directiveEnd++,o&&(u.providerIndexes+=1048576),t.push(m),s.push(m)):(t[y]=m,s[y]=m)}else{const m=fc(a,n,c+g,d),y=fc(a,n,c,c+g),D=y>=0&&t[y];if(o&&!D||!o&&!(m>=0&&t[m])){Yl(ws(u,s),i,a);const b=function RI(e,n,t,r,o){const i=new Ho(e,t,M);return i.multi=[],i.index=n,i.componentProviders=0,Dy(i,o,r&&!t),i}(o?xI:TI,t.length,o,r,l);!o&&D&&(t[y].providerFactory=b),dc(i,e,n.length,0),n.push(a),u.directiveStart++,u.directiveEnd++,o&&(u.providerIndexes+=1048576),t.push(b),s.push(b)}else dc(i,e,m>-1?m:y,Dy(t[o?y:m],l,!o&&r));!o&&r&&D&&t[y].componentProviders++}}}function dc(e,n,t,r){const o=fr(n),i=function $0(e){return!!e.useClass}(n);if(o||i){const l=(i?V(n.useClass):n).prototype.ngOnDestroy;if(l){const u=e.destroyHooks||(e.destroyHooks=[]);if(!o&&n.multi){const c=u.indexOf(t);-1===c?u.push(t,[r,l]):u[c+1].push(r,l)}else u.push(t,l)}}}function Dy(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function fc(e,n,t,r){for(let o=t;o{t.providersResolver=(r,o)=>function AI(e,n,t){const r=te();if(r.firstCreatePass){const o=Ht(e);cc(t,r.data,r.blueprint,o,!0),cc(n,r.data,r.blueprint,o,!1)}}(r,o?o(e):e,n)}}class uo{}class wy{}class by extends uo{constructor(n,t){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Vg(this);const r=mt(n);this._bootstrapComponents=Mn(r.bootstrap),this._r3Injector=mg(n,t,[{provide:uo,useValue:this},{provide:ti,useValue:this.componentFactoryResolver}],he(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class pc extends wy{constructor(n){super(),this.moduleType=n}create(n){return new by(this.moduleType,n)}}class FI extends uo{constructor(n,t,r){super(),this.componentFactoryResolver=new Vg(this),this.instance=null;const o=new eg([...n,{provide:uo,useValue:this},{provide:ti,useValue:this.componentFactoryResolver}],t||Ls(),r,new Set(["environment"]));this.injector=o,o.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function ea(e,n,t=null){return new FI(e,n,t).injector}let PI=(()=>{class e{constructor(t){this._injector=t,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t.id)){const r=Zp(0,t.type),o=r.length>0?ea([r],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t.id,o)}return this.cachedInjectors.get(t.id)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}}return e.\u0275prov=P({token:e,providedIn:"environment",factory:()=>new e(N(on))}),e})();function Ey(e){e.getStandaloneInjector=n=>n.get(PI).getOrCreateStandaloneInjector(e)}function ne(e,n,t){const r=ot()+e,o=E();return o[r]===q?ln(o,r,t?n.call(t):n()):function si(e,n){return e[n]}(o,r)}function mc(e,n,t,r){return function Ry(e,n,t,r,o,i){const s=n+t;return Je(e,s,o)?ln(e,s+1,i?r.call(i,o):r(o)):function pi(e,n){const t=e[n];return t===q?void 0:t}(e,s+1)}(E(),ot(),e,n,t,r)}function yc(e){return n=>{setTimeout(e,void 0,n)}}const Ee=class oA extends mn{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,t,r){let o=n,i=t||(()=>null),s=r;if(n&&"object"==typeof n){const l=n;o=l.next?.bind(l),i=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(i=yc(i),o&&(o=yc(o)),s&&(s=yc(s)));const a=super.subscribe({next:o,error:i,complete:s});return n instanceof Et&&n.add(a),a}};function iA(){return this._results[Symbol.iterator]()}class vc{get changes(){return this._changes||(this._changes=new Ee)}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=vc.prototype;t[Symbol.iterator]||(t[Symbol.iterator]=iA)}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){const r=this;r.dirty=!1;const o=function Rt(e){return e.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function gE(e,n,t){if(e.length!==n.length)return!1;for(let r=0;r{class e{}return e.__NG_ELEMENT_ID__=lA,e})();const sA=xn,aA=class extends sA{constructor(n,t,r){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=r}createEmbeddedView(n,t){const r=this._declarationTContainer.tView,o=Us(this._declarationLView,r,n,16,null,r.declTNode,null,null,null,null,t||null);o[ko]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[tn];return null!==s&&(o[tn]=s.createEmbeddedView(r)),Bu(r,o,n),new oi(o)}};function lA(){return ta(qe(),E())}function ta(e,n){return 4&e.type?new aA(n,e,qr(e,n)):null}let zt=(()=>{class e{}return e.__NG_ELEMENT_ID__=uA,e})();function uA(){return Vy(qe(),E())}const cA=zt,ky=class extends cA{constructor(n,t,r){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=r}get element(){return qr(this._hostTNode,this._hostLView)}get injector(){return new Or(this._hostTNode,this._hostLView)}get parentInjector(){const n=Kl(this._hostTNode,this._hostLView);if(Uh(n)){const t=Cs(n,this._hostLView),r=_s(n);return new Or(t[x].data[r+8],t)}return new Or(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=Ly(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-rt}createEmbeddedView(n,t,r){let o,i;"number"==typeof r?o=r:null!=r&&(o=r.index,i=r.injector);const s=n.createEmbeddedView(t||{},i);return this.insert(s,o),s}createComponent(n,t,r,o,i){const s=n&&!function $o(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const d=t||{};a=d.index,r=d.injector,o=d.projectableNodes,i=d.environmentInjector||d.ngModuleRef}const l=s?n:new ii(se(n)),u=r||this.parentInjector;if(!i&&null==l.ngModule){const g=(s?u:this.parentInjector).get(on,null);g&&(i=g)}const c=l.create(u,o,void 0,i);return this.insert(c.hostView,a),c}insert(n,t){const r=n._lView,o=r[x];if(function Lb(e){return Ut(e[we])}(r)){const c=this.indexOf(n);if(-1!==c)this.detach(c);else{const d=r[we],g=new ky(d,d[Ze],d[we]);g.detach(g.indexOf(n))}}const i=this._adjustIndex(t),s=this._lContainer;!function r0(e,n,t,r){const o=rt+r,i=t.length;r>0&&(t[o-1][Vt]=n),r0)r.push(s[a/2]);else{const u=i[a+1],c=n[-l];for(let d=rt;d{class e{constructor(t){this.appInits=t,this.resolve=ra,this.reject=ra,this.initialized=!1,this.done=!1,this.donePromise=new Promise((r,o)=>{this.resolve=r,this.reject=o})}runInitializers(){if(this.initialized)return;const t=[],r=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let o=0;o{i.subscribe({complete:a,error:l})});t.push(s)}}Promise.all(t).then(()=>{r()}).catch(o=>{this.reject(o)}),0===t.length&&r(),this.initialized=!0}}return e.\u0275fac=function(t){return new(t||e)(N(oa,8))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const yi=new R("AppId",{providedIn:"root",factory:function cv(){return`${xc()}${xc()}${xc()}`}});function xc(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const dv=new R("Platform Initializer"),Rc=new R("Platform ID",{providedIn:"platform",factory:()=>"unknown"});let VA=(()=>{class e{log(t){console.log(t)}warn(t){console.warn(t)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();const Rn=new R("LocaleId",{providedIn:"root",factory:()=>Q(Rn,U.Optional|U.SkipSelf)||function UA(){return typeof $localize<"u"&&$localize.locale||lo}()});class jA{constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}}let fv=(()=>{class e{compileModuleSync(t){return new pc(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){const r=this.compileModuleSync(t),i=Mn(mt(t).declarations).reduce((s,a)=>{const l=se(a);return l&&s.push(new ii(l)),s},[]);return new jA(r,i)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const GA=(()=>Promise.resolve(0))();function Nc(e){typeof Zone>"u"?GA.then(()=>{e&&e.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",e)}class Ae{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Ee(!1),this.onMicrotaskEmpty=new Ee(!1),this.onStable=new Ee(!1),this.onError=new Ee(!1),typeof Zone>"u")throw new I(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!r&&t,o.shouldCoalesceRunChangeDetection=r,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function zA(){let e=me.requestAnimationFrame,n=me.cancelAnimationFrame;if(typeof Zone<"u"&&e&&n){const t=e[Zone.__symbol__("OriginalDelegate")];t&&(e=t);const r=n[Zone.__symbol__("OriginalDelegate")];r&&(n=r)}return{nativeRequestAnimationFrame:e,nativeCancelAnimationFrame:n}}().nativeRequestAnimationFrame,function KA(e){const n=()=>{!function WA(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(me,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Pc(e),e.isCheckStableRunning=!0,Fc(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Pc(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,r,o,i,s,a)=>{try{return gv(e),t.invokeTask(o,i,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||e.shouldCoalesceRunChangeDetection)&&n(),mv(e)}},onInvoke:(t,r,o,i,s,a,l)=>{try{return gv(e),t.invoke(o,i,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&n(),mv(e)}},onHasTask:(t,r,o,i)=>{t.hasTask(o,i),r===o&&("microTask"==i.change?(e._hasPendingMicrotasks=i.microTask,Pc(e),Fc(e)):"macroTask"==i.change&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(t,r,o,i)=>(t.handleError(o,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Ae.isInAngularZone())throw new I(909,!1)}static assertNotInAngularZone(){if(Ae.isInAngularZone())throw new I(909,!1)}run(n,t,r){return this._inner.run(n,t,r)}runTask(n,t,r,o){const i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,n,qA,ra,ra);try{return i.runTask(s,t,r)}finally{i.cancelTask(s)}}runGuarded(n,t,r){return this._inner.runGuarded(n,t,r)}runOutsideAngular(n){return this._outer.run(n)}}const qA={};function Fc(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 Pc(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function gv(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function mv(e){e._nesting--,Fc(e)}class YA{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Ee,this.onMicrotaskEmpty=new Ee,this.onStable=new Ee,this.onError=new Ee}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,o){return n.apply(t,r)}}const yv=new R(""),sa=new R("");let Lc,Oc=(()=>{class e{constructor(t,r,o){this._ngZone=t,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Lc||(function ZA(e){Lc=e}(o),o.addToWindow(r)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Ae.assertNotInAngularZone(),Nc(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Nc(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(t)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,r,o){let i=-1;r&&r>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==i),t(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:o})}whenStable(t,r,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,r,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,r,o){return[]}}return e.\u0275fac=function(t){return new(t||e)(N(Ae),N(kc),N(sa))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})(),kc=(()=>{class e{constructor(){this._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 Lc?.findTestabilityInTree(this,t,r)??null}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();const Nn=!1;let Bn=null;const vv=new R("AllowMultipleToken"),Vc=new R("PlatformDestroyListeners"),_v=new R("appBootstrapListener");class Cv{constructor(n,t){this.name=n,this.token=t}}function wv(e,n,t=[]){const r=`Platform: ${n}`,o=new R(r);return(i=[])=>{let s=Uc();if(!s||s.injector.get(vv,!1)){const a=[...t,...i,{provide:o,useValue:!0}];e?e(a):function JA(e){if(Bn&&!Bn.get(vv,!1))throw new I(400,!1);Bn=e;const n=e.get(Ev);(function Dv(e){const n=e.get(dv,null);n&&n.forEach(t=>t())})(e)}(function bv(e=[],n){return sn.create({name:n,providers:[{provide:xu,useValue:"platform"},{provide:Vc,useValue:new Set([()=>Bn=null])},...e]})}(a,r))}return function tT(e){const n=Uc();if(!n)throw new I(401,!1);return n}()}}function Uc(){return Bn?.get(Ev)??null}let Ev=(()=>{class e{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,r){const o=function Mv(e,n){let t;return t="noop"===e?new YA:("zone.js"===e?void 0:e)||new Ae(n),t}(r?.ngZone,function Sv(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!(!e||!e.ngZoneEventCoalescing)||!1,shouldCoalesceRunChangeDetection:!(!e||!e.ngZoneRunCoalescing)||!1}}(r)),i=[{provide:Ae,useValue:o}];return o.run(()=>{const s=sn.create({providers:i,parent:this.injector,name:t.moduleType.name}),a=t.create(s),l=a.injector.get(Wr,null);if(!l)throw new I(402,!1);return o.runOutsideAngular(()=>{const u=o.onError.subscribe({next:c=>{l.handleError(c)}});a.onDestroy(()=>{la(this._modules,a),u.unsubscribe()})}),function Iv(e,n,t){try{const r=t();return ai(r)?r.catch(o=>{throw n.runOutsideAngular(()=>e.handleError(o)),o}):r}catch(r){throw n.runOutsideAngular(()=>e.handleError(r)),r}}(l,o,()=>{const u=a.injector.get(ia);return u.runInitializers(),u.donePromise.then(()=>(function Qm(e){St(e,"Expected localeId to be defined"),"string"==typeof e&&(Zm=e.toLowerCase().replace(/_/g,"-"))}(a.injector.get(Rn,lo)||lo),this._moduleDoBootstrap(a),a))})})}bootstrapModule(t,r=[]){const o=Av({},r);return function QA(e,n,t){const r=new pc(t);return Promise.resolve(r)}(0,0,t).then(i=>this.bootstrapModuleFactory(i,o))}_moduleDoBootstrap(t){const r=t.injector.get(aa);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(o=>r.bootstrap(o));else{if(!t.instance.ngDoBootstrap)throw new I(-403,!1);t.instance.ngDoBootstrap(r)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new I(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const t=this._injector.get(Vc,null);t&&(t.forEach(r=>r()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return e.\u0275fac=function(t){return new(t||e)(N(sn))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();function Av(e,n){return Array.isArray(n)?n.reduce(Av,e):{...e,...n}}let aa=(()=>{class e{get destroyed(){return this._destroyed}get injector(){return this._injector}constructor(t,r,o){this._zone=t,this._injector=r,this._exceptionHandler=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this._destroyed=!1,this._destroyListeners=[],this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const i=new Se(a=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{a.next(this._stable),a.complete()})}),s=new Se(a=>{let l;this._zone.runOutsideAngular(()=>{l=this._zone.onStable.subscribe(()=>{Ae.assertNotInAngularZone(),Nc(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,a.next(!0))})})});const u=this._zone.onUnstable.subscribe(()=>{Ae.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{a.next(!1)}))});return()=>{l.unsubscribe(),u.unsubscribe()}});this.isStable=function tb(...e){const n=xo(e),t=function Kw(e,n){return"number"==typeof _l(e)?e.pop():n}(e,1/0),r=e;return r.length?1===r.length?Qt(r[0]):Sr(t)(Me(r,n)):Xt}(i,s.pipe(function nb(e={}){const{connector:n=(()=>new mn),resetOnError:t=!0,resetOnComplete:r=!0,resetOnRefCountZero:o=!0}=e;return i=>{let s=null,a=null,l=null,u=0,c=!1,d=!1;const g=()=>{a?.unsubscribe(),a=null},m=()=>{g(),s=l=null,c=d=!1},y=()=>{const _=s;m(),_?.unsubscribe()};return Be((_,D)=>{u++,!d&&!c&&g();const b=l=l??n();D.add(()=>{u--,0===u&&!d&&!c&&(a=Cl(y,o))}),b.subscribe(D),s||(s=new Ji({next:A=>b.next(A),error:A=>{d=!0,g(),a=Cl(m,t,A),b.error(A)},complete:()=>{c=!0,g(),a=Cl(m,r),b.complete()}}),Me(_).subscribe(s))})(i)}}()))}bootstrap(t,r){const o=t instanceof ng;if(!this._injector.get(ia).done){!o&&function Ir(e){const n=se(e)||Ye(e)||ct(e);return null!==n&&n.standalone}(t);throw new I(405,Nn)}let s;s=o?t:this._injector.get(ti).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function XA(e){return e.isBoundToModule}(s)?void 0:this._injector.get(uo),u=s.create(sn.NULL,[],r||s.selector,a),c=u.location.nativeElement,d=u.injector.get(yv,null);return d?.registerApplication(c),u.onDestroy(()=>{this.detachView(u.hostView),la(this.components,u),d?.unregisterApplication(c)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new I(101,!1);try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const r=t;this._views.push(r),r.attachToAppRef(this)}detachView(t){const r=t;la(this._views,r),r.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const r=this._injector.get(_v,[]);r.push(...this._bootstrapListeners),r.forEach(o=>o(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>la(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new I(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return e.\u0275fac=function(t){return new(t||e)(N(Ae),N(on),N(Wr))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function la(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}let ua=(()=>{class e{}return e.__NG_ELEMENT_ID__=rT,e})();function rT(e){return function oT(e,n,t){if(Vo(e)&&!t){const r=_t(e.index,n);return new oi(r,r)}return 47&e.type?new oi(n[Qe],n):null}(qe(),E(),16==(16&e))}class Fv{constructor(){}supports(n){return zs(n)}create(n){return new cT(n)}}const uT=(e,n)=>n;class cT{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||uT}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,r=this._removalsHead,o=0,i=null;for(;t||r;){const s=!r||t&&t.currentIndex{s=this._trackByFn(o,a),null!==t&&Object.is(t.trackById,s)?(r&&(t=this._verifyReinsertion(t,a,s,o)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,o),r=!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,r,o){let i;return null===n?i=this._itTail:(i=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,i,o)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(r,o))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,i,o)):n=this._addAfter(new dT(t,r),i,o),n}_verifyReinsertion(n,t,r,o){let i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==i?n=this._reinsertAfter(i,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,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const o=n._prevRemoved,i=n._nextRemoved;return null===o?this._removalsHead=i:o._nextRemoved=i,null===i?this._removalsTail=o:i._prevRemoved=o,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 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 Pv),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 Pv),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 dT{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class fT{constructor(){this._head=null,this._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 Pv{constructor(){this.map=new Map}put(n){const t=n.trackById;let r=this.map.get(t);r||(r=new fT,this.map.set(t,r)),r.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 Ov(e,n,t){const r=e.previousIndex;if(null===r)return r;let o=0;return t&&r{if(t&&t.key===o)this._maybeAddToChanges(t,r),this._appendAfter=t,t=t._next;else{const i=this._getOrCreateRecordForKey(o,r);t=this._insertBeforeOrAppend(t,i)}}),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 o=this._records.get(n);this._maybeAddToChanges(o,t);const i=o._prev,s=o._next;return i&&(i._next=s),s&&(s._prev=i),o._next=null,o._prev=null,o}const r=new pT(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 pT{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function Lv(){return new fa([new Fv])}let fa=(()=>{class e{constructor(t){this.factories=t}static create(t,r){if(null!=r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||Lv()),deps:[[e,new qo,new zo]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(null!=r)return r;throw new I(901,!1)}}return e.\u0275prov=P({token:e,providedIn:"root",factory:Lv}),e})();function Vv(){return new vi([new kv])}let vi=(()=>{class e{constructor(t){this.factories=t}static create(t,r){if(r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||Vv()),deps:[[e,new qo,new zo]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(r)return r;throw new I(901,!1)}}return e.\u0275prov=P({token:e,providedIn:"root",factory:Vv}),e})();const yT=wv(null,"core",[]);let vT=(()=>{class e{constructor(t){}}return e.\u0275fac=function(t){return new(t||e)(N(aa))},e.\u0275mod=Lt({type:e}),e.\u0275inj=Mt({}),e})();function ho(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}let Gc=null;function Fn(){return Gc}class DT{}const et=new R("DocumentToken");let zc=(()=>{class e{historyGo(t){throw new Error("Not implemented")}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:function(){return function wT(){return N(Uv)}()},providedIn:"platform"}),e})();const bT=new R("Location Initialized");let Uv=(()=>{class e extends zc{constructor(t){super(),this._doc=t,this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Fn().getBaseHref(this._doc)}onPopState(t){const r=Fn().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",t,!1),()=>r.removeEventListener("popstate",t)}onHashChange(t){const r=Fn().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,o){Hv()?this._history.pushState(t,r,o):this._location.hash=o}replaceState(t,r,o){Hv()?this._history.replaceState(t,r,o):this._location.hash=o}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return e.\u0275fac=function(t){return new(t||e)(N(et))},e.\u0275prov=P({token:e,factory:function(){return function ET(){return new Uv(N(et))}()},providedIn:"platform"}),e})();function Hv(){return!!window.history.pushState}function qc(e,n){if(0==e.length)return n;if(0==n.length)return e;let t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,2==t?e+n.substring(1):1==t?e+n:e+"/"+n}function jv(e){const n=e.match(/#|\?|$/),t=n&&n.index||e.length;return e.slice(0,t-("/"===e[t-1]?1:0))+e.slice(t)}function Pn(e){return e&&"?"!==e[0]?"?"+e:e}let _r=(()=>{class e{historyGo(t){throw new Error("Not implemented")}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:function(){return Q($v)},providedIn:"root"}),e})();const Bv=new R("appBaseHref");let $v=(()=>{class e extends _r{constructor(t,r){super(),this._platformLocation=t,this._removeListenerFns=[],this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??Q(et).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 qc(this._baseHref,t)}path(t=!1){const r=this._platformLocation.pathname+Pn(this._platformLocation.search),o=this._platformLocation.hash;return o&&t?`${r}${o}`:r}pushState(t,r,o,i){const s=this.prepareExternalUrl(o+Pn(i));this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){const s=this.prepareExternalUrl(o+Pn(i));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)}}return e.\u0275fac=function(t){return new(t||e)(N(zc),N(Bv,8))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),ST=(()=>{class e extends _r{constructor(t,r){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=r&&(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 null==r&&(r="#"),r.length>0?r.substring(1):r}prepareExternalUrl(t){const r=qc(this._baseHref,t);return r.length>0?"#"+r:r}pushState(t,r,o,i){let s=this.prepareExternalUrl(o+Pn(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){let s=this.prepareExternalUrl(o+Pn(i));0==s.length&&(s=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)}}return e.\u0275fac=function(t){return new(t||e)(N(zc),N(Bv,8))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})(),Wc=(()=>{class e{constructor(t){this._subject=new Ee,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=t;const r=this._locationStrategy.getBaseHref();this._basePath=function AT(e){if(new RegExp("^(https?:)?//").test(e)){const[,t]=e.split(/\/\/[^\/]+/);return t}return e}(jv(Gv(r))),this._locationStrategy.onPopState(o=>{this._subject.emit({url:this.path(!0),pop:!0,state:o.state,type:o.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+Pn(r))}normalize(t){return e.stripTrailingSlash(function IT(e,n){if(!e||!n.startsWith(e))return n;const t=n.substring(e.length);return""===t||["/",";","?","#"].includes(t[0])?t:n}(this._basePath,Gv(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,r="",o=null){this._locationStrategy.pushState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Pn(r)),o)}replaceState(t,r="",o=null){this._locationStrategy.replaceState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Pn(r)),o)}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._urlChangeSubscription=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)})),()=>{const r=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(r,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",r){this._urlChangeListeners.forEach(o=>o(t,r))}subscribe(t,r,o){return this._subject.subscribe({next:t,error:r,complete:o})}}return e.normalizeQueryParams=Pn,e.joinWithSlash=qc,e.stripTrailingSlash=jv,e.\u0275fac=function(t){return new(t||e)(N(_r))},e.\u0275prov=P({token:e,factory:function(){return function MT(){return new Wc(N(_r))}()},providedIn:"root"}),e})();function Gv(e){return e.replace(/\/index.html$/,"")}function Jv(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const r=t.indexOf("="),[o,i]=-1==r?[t,""]:[t.slice(0,r),t.slice(r+1)];if(o.trim()===n)return decodeURIComponent(i)}return null}const rd=/\s+/,e_=[];let od=(()=>{class e{constructor(t,r,o,i){this._iterableDiffers=t,this._keyValueDiffers=r,this._ngEl=o,this._renderer=i,this.initialClasses=e_,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(rd):e_}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(rd):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,Boolean(t[r]));this._applyStateDiff()}_updateState(t,r){const o=this.stateMap.get(t);void 0!==o?(o.enabled!==r&&(o.changed=!0,o.enabled=r),o.touched=!0):this.stateMap.set(t,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const r=t[0],o=t[1];o.changed?(this._toggleClass(r,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),o.touched=!1}}_toggleClass(t,r){(t=t.trim()).length>0&&t.split(rd).forEach(o=>{r?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}}return e.\u0275fac=function(t){return new(t||e)(M(fa),M(vi),M(Dt),M(Sn))},e.\u0275dir=B({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0}),e})();class fx{constructor(n,t,r,o){this.$implicit=n,this.ngForOf=t,this.index=r,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 r_=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,r,o){this._viewContainer=t,this._template=r,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}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((o,i,s)=>{if(null==o.previousIndex)r.createEmbeddedView(this._template,new fx(o.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)r.remove(null===i?void 0:i);else if(null!==i){const a=r.get(i);r.move(a,s),o_(a,o)}});for(let o=0,i=r.length;o{o_(r.get(o.currentIndex),o)})}static ngTemplateContextGuard(t,r){return!0}}return e.\u0275fac=function(t){return new(t||e)(M(zt),M(xn),M(fa))},e.\u0275dir=B({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),e})();function o_(e,n){e.context.$implicit=n.item}let wa=(()=>{class e{constructor(t,r){this._viewContainer=t,this._context=new px,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){i_("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){i_("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 ngTemplateContextGuard(t,r){return!0}}return e.\u0275fac=function(t){return new(t||e)(M(zt),M(xn))},e.\u0275dir=B({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),e})();class px{constructor(){this.$implicit=null,this.ngIf=null}}function i_(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${he(n)}'.`)}let Ux=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Lt({type:e}),e.\u0275inj=Mt({}),e})();let $x=(()=>{class e{}return e.\u0275prov=P({token:e,providedIn:"root",factory:()=>new Gx(N(et),window)}),e})();class Gx{constructor(n,t){this.document=n,this.window=t,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(n){this.supportsScrolling()&&this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){if(!this.supportsScrolling())return;const t=function zx(e,n){const t=e.getElementById(n)||e.getElementsByName(n)[0];if(t)return t;if("function"==typeof e.createTreeWalker&&e.body&&(e.body.createShadowRoot||e.body.attachShadow)){const r=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let o=r.currentNode;for(;o;){const i=o.shadowRoot;if(i){const s=i.getElementById(n)||i.querySelector(`[name="${n}"]`);if(s)return s}o=r.nextNode()}}return null}(this.document,n);t&&(this.scrollToElement(t),t.focus())}setHistoryScrollRestoration(n){if(this.supportScrollRestoration()){const t=this.window.history;t&&t.scrollRestoration&&(t.scrollRestoration=n)}}scrollToElement(n){const t=n.getBoundingClientRect(),r=t.left+this.window.pageXOffset,o=t.top+this.window.pageYOffset,i=this.offset();this.window.scrollTo(r-i[0],o-i[1])}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const n=u_(this.window.history)||u_(Object.getPrototypeOf(this.window.history));return!(!n||!n.writable&&!n.set)}catch{return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}function u_(e){return Object.getOwnPropertyDescriptor(e,"scrollRestoration")}class c_{}class vR extends DT{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class dd extends vR{static makeCurrent(){!function CT(e){Gc||(Gc=e)}(new dd)}onAndCancel(n,t,r){return n.addEventListener(t,r,!1),()=>{n.removeEventListener(t,r,!1)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}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 _R(){return wi=wi||document.querySelector("base"),wi?wi.getAttribute("href"):null}();return null==t?null:function CR(e){Sa=Sa||document.createElement("a"),Sa.setAttribute("href",e);const n=Sa.pathname;return"/"===n.charAt(0)?n:`/${n}`}(t)}resetBaseElement(){wi=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return Jv(document.cookie,n)}}let Sa,wi=null;const g_=new R("TRANSITION_ID"),wR=[{provide:oa,useFactory:function DR(e,n,t){return()=>{t.get(ia).donePromise.then(()=>{const r=Fn(),o=n.querySelectorAll(`style[ng-transition="${e}"]`);for(let i=0;i{class e{build(){return new XMLHttpRequest}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();const Ma=new R("EventManagerPlugins");let Ia=(()=>{class e{constructor(t,r){this._zone=r,this._eventNameToPlugin=new Map,t.forEach(o=>{o.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,r,o){return this._findPluginFor(r).addEventListener(t,r,o)}addGlobalEventListener(t,r,o){return this._findPluginFor(r).addGlobalEventListener(t,r,o)}getZone(){return this._zone}_findPluginFor(t){const r=this._eventNameToPlugin.get(t);if(r)return r;const o=this._plugins;for(let i=0;i{class e{constructor(){this.usageCount=new Map}addStyles(t){for(const r of t)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(t){for(const r of t)0===this.changeUsageCount(r,-1)&&this.onStyleRemoved(r)}onStyleRemoved(t){}onStyleAdded(t){}getAllStyles(){return this.usageCount.keys()}changeUsageCount(t,r){const o=this.usageCount;let i=o.get(t)??0;return i+=r,i>0?o.set(t,i):o.delete(t),i}ngOnDestroy(){for(const t of this.getAllStyles())this.onStyleRemoved(t);this.usageCount.clear()}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})(),bi=(()=>{class e extends y_{constructor(t){super(),this.doc=t,this.styleRef=new Map,this.hostNodes=new Set,this.resetHostNodes()}onStyleAdded(t){for(const r of this.hostNodes)this.addStyleToHost(r,t)}onStyleRemoved(t){const r=this.styleRef;r.get(t)?.forEach(i=>i.remove()),r.delete(t)}ngOnDestroy(){super.ngOnDestroy(),this.styleRef.clear(),this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const r of this.getAllStyles())this.addStyleToHost(t,r)}removeHost(t){this.hostNodes.delete(t)}addStyleToHost(t,r){const o=this.doc.createElement("style");o.textContent=r,t.appendChild(o);const i=this.styleRef.get(r);i?i.push(o):this.styleRef.set(r,[o])}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}}return e.\u0275fac=function(t){return new(t||e)(N(et))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();const 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/MathML/"},hd=/%COMP%/g,C_=new R("RemoveStylesOnCompDestory",{providedIn:"root",factory:()=>!1});function D_(e,n){return n.flat(100).map(t=>t.replace(hd,e))}function w_(e){return n=>{if("__ngUnwrap__"===n)return e;!1===e(n)&&(n.preventDefault(),n.returnValue=!1)}}let pd=(()=>{class e{constructor(t,r,o,i){this.eventManager=t,this.sharedStylesHost=r,this.appId=o,this.removeStylesOnCompDestory=i,this.rendererByCompId=new Map,this.defaultRenderer=new gd(t)}createRenderer(t,r){if(!t||!r)return this.defaultRenderer;const o=this.getOrCreateRenderer(t,r);return o instanceof S_?o.applyToHost(t):o instanceof md&&o.applyStyles(),o}getOrCreateRenderer(t,r){const o=this.rendererByCompId;let i=o.get(r.id);if(!i){const s=this.eventManager,a=this.sharedStylesHost,l=this.removeStylesOnCompDestory;switch(r.encapsulation){case en.Emulated:i=new S_(s,a,r,this.appId,l);break;case en.ShadowDom:return new RR(s,a,t,r);default:i=new md(s,a,r,l)}i.onDestroy=()=>o.delete(r.id),o.set(r.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}begin(){}end(){}}return e.\u0275fac=function(t){return new(t||e)(N(Ia),N(bi),N(yi),N(C_))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();class gd{constructor(n){this.eventManager=n,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,t){return t?document.createElementNS(fd[t]||t,n):document.createElement(n)}createComment(n){return document.createComment(n)}createText(n){return document.createTextNode(n)}appendChild(n,t){(E_(n)?n.content:n).appendChild(t)}insertBefore(n,t,r){n&&(E_(n)?n.content:n).insertBefore(t,r)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let r="string"==typeof n?document.querySelector(n):n;if(!r)throw new Error(`The selector "${n}" did not match any elements`);return t||(r.textContent=""),r}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,r,o){if(o){t=o+":"+t;const i=fd[o];i?n.setAttributeNS(i,t,r):n.setAttribute(t,r)}else n.setAttribute(t,r)}removeAttribute(n,t,r){if(r){const o=fd[r];o?n.removeAttributeNS(o,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,o){o&(dt.DashCase|dt.Important)?n.style.setProperty(t,r,o&dt.Important?"important":""):n.style[t]=r}removeStyle(n,t,r){r&dt.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,r){n[t]=r}setValue(n,t){n.nodeValue=t}listen(n,t,r){return"string"==typeof n?this.eventManager.addGlobalEventListener(n,t,w_(r)):this.eventManager.addEventListener(n,t,w_(r))}}function E_(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class RR extends gd{constructor(n,t,r,o){super(n),this.sharedStylesHost=t,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const i=D_(o.id,o.styles);for(const s of i){const a=document.createElement("style");a.textContent=s,this.shadowRoot.appendChild(a)}}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(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class md extends gd{constructor(n,t,r,o,i=r.id){super(n),this.sharedStylesHost=t,this.removeStylesOnCompDestory=o,this.rendererUsageCount=0,this.styles=D_(i,r.styles)}applyStyles(){this.sharedStylesHost.addStyles(this.styles),this.rendererUsageCount++}destroy(){this.removeStylesOnCompDestory&&(this.sharedStylesHost.removeStyles(this.styles),this.rendererUsageCount--,0===this.rendererUsageCount&&this.onDestroy?.())}}class S_ extends md{constructor(n,t,r,o,i){const s=o+"-"+r.id;super(n,t,r,i,s),this.contentAttr=function AR(e){return"_ngcontent-%COMP%".replace(hd,e)}(s),this.hostAttr=function TR(e){return"_nghost-%COMP%".replace(hd,e)}(s)}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 NR=(()=>{class e extends m_{constructor(t){super(t)}supports(t){return!0}addEventListener(t,r,o){return t.addEventListener(r,o,!1),()=>this.removeEventListener(t,r,o)}removeEventListener(t,r,o){return t.removeEventListener(r,o)}}return e.\u0275fac=function(t){return new(t||e)(N(et))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();const M_=["alt","control","meta","shift"],FR={"\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"},PR={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let OR=(()=>{class e extends m_{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,r,o){const i=e.parseEventName(r),s=e.eventCallback(i.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Fn().onAndCancel(t,i.domEventName,s))}static parseEventName(t){const r=t.toLowerCase().split("."),o=r.shift();if(0===r.length||"keydown"!==o&&"keyup"!==o)return null;const i=e._normalizeKey(r.pop());let s="",a=r.indexOf("code");if(a>-1&&(r.splice(a,1),s="code."),M_.forEach(u=>{const c=r.indexOf(u);c>-1&&(r.splice(c,1),s+=u+".")}),s+=i,0!=r.length||0===i.length)return null;const l={};return l.domEventName=o,l.fullKey=s,l}static matchEventFullKeyCode(t,r){let o=FR[t.key]||t.key,i="";return r.indexOf("code.")>-1&&(o=t.code,i="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),M_.forEach(s=>{s!==o&&(0,PR[s])(t)&&(i+=s+".")}),i+=o,i===r)}static eventCallback(t,r,o){return i=>{e.matchEventFullKeyCode(i,t)&&o.runGuarded(()=>r(i))}}static _normalizeKey(t){return"esc"===t?"escape":t}}return e.\u0275fac=function(t){return new(t||e)(N(et))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();const UR=wv(yT,"browser",[{provide:Rc,useValue:"browser"},{provide:dv,useValue:function kR(){dd.makeCurrent()},multi:!0},{provide:et,useFactory:function VR(){return function y0(e){Du=e}(document),document},deps:[]}]),T_=new R(""),x_=[{provide:sa,useClass:class bR{addToWindow(n){me.getAngularTestability=(r,o=!0)=>{const i=n.findTestabilityInTree(r,o);if(null==i)throw new Error("Could not find testability for element.");return i},me.getAllAngularTestabilities=()=>n.getAllTestabilities(),me.getAllAngularRootElements=()=>n.getAllRootElements(),me.frameworkStabilizers||(me.frameworkStabilizers=[]),me.frameworkStabilizers.push(r=>{const o=me.getAllAngularTestabilities();let i=o.length,s=!1;const a=function(l){s=s||l,i--,0==i&&r(s)};o.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(n,t,r){return null==t?null:n.getTestability(t)??(r?Fn().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:yv,useClass:Oc,deps:[Ae,kc,sa]},{provide:Oc,useClass:Oc,deps:[Ae,kc,sa]}],R_=[{provide:xu,useValue:"root"},{provide:Wr,useFactory:function LR(){return new Wr},deps:[]},{provide:Ma,useClass:NR,multi:!0,deps:[et,Ae,Rc]},{provide:Ma,useClass:OR,multi:!0,deps:[et]},{provide:pd,useClass:pd,deps:[Ia,bi,yi,C_]},{provide:og,useExisting:pd},{provide:y_,useExisting:bi},{provide:bi,useClass:bi,deps:[et]},{provide:Ia,useClass:Ia,deps:[Ma,Ae]},{provide:c_,useClass:ER,deps:[]},[]];let HR=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:yi,useValue:t.appId},{provide:g_,useExisting:yi},wR]}}}return e.\u0275fac=function(t){return new(t||e)(N(T_,12))},e.\u0275mod=Lt({type:e}),e.\u0275inj=Mt({providers:[...R_,...x_],imports:[Ux,vT]}),e})(),N_=(()=>{class e{constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}}return e.\u0275fac=function(t){return new(t||e)(N(et))},e.\u0275prov=P({token:e,factory:function(t){let r=null;return r=t?new t:function BR(){return new N_(N(et))}(),r},providedIn:"root"}),e})();function O(...e){return Me(e,xo(e))}function Gn(e,n){return fe(n)?$e(e,n,1):$e(e,1)}function Yt(e,n){return Be((t,r)=>{let o=0;t.subscribe(Le(r,i=>e.call(n,i,o++)&&r.next(i)))})}typeof window<"u"&&window;class Aa{}class _d{}class kn{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?this.lazyInit="string"==typeof n?()=>{this.headers=new Map,n.split("\n").forEach(t=>{const r=t.indexOf(":");if(r>0){const o=t.slice(0,r),i=o.toLowerCase(),s=t.slice(r+1).trim();this.maybeSetNormalizedName(o,i),this.headers.has(i)?this.headers.get(i).push(s):this.headers.set(i,[s])}})}:()=>{this.headers=new Map,Object.keys(n).forEach(t=>{let r=n[t];const o=t.toLowerCase();"string"==typeof r&&(r=[r]),r.length>0&&(this.headers.set(o,r),this.maybeSetNormalizedName(t,o))})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const 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 kn?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){const t=new kn;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof kn?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){const t=n.name.toLowerCase();switch(n.op){case"a":case"s":let r=n.value;if("string"==typeof r&&(r=[r]),0===r.length)return;this.maybeSetNormalizedName(n.name,t);const o=("a"===n.op?this.headers.get(t):void 0)||[];o.push(...r),this.headers.set(t,o);break;case"d":const i=n.value;if(i){let s=this.headers.get(t);if(!s)return;s=s.filter(a=>-1===i.indexOf(a)),0===s.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}}class KR{encodeKey(n){return O_(n)}encodeValue(n){return O_(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const ZR=/%(\d[a-f0-9])/gi,QR={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function O_(e){return encodeURIComponent(e).replace(ZR,(n,t)=>QR[t]??n)}function Ta(e){return`${e}`}class zn{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new KR,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function YR(e,n){const t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(o=>{const i=o.indexOf("="),[s,a]=-1==i?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,i)),n.decodeValue(o.slice(i+1))],l=t.get(s)||[];l.push(a),t.set(s,l)}),t}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{const r=n.fromObject[t],o=Array.isArray(r)?r.map(Ta):[Ta(r)];this.map.set(t,o)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const 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){const t=[];return Object.keys(n).forEach(r=>{const o=n[r];Array.isArray(o)?o.forEach(i=>{t.push({param:r,value:i,op:"a"})}):t.push({param:r,value:o,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=>{const t=this.encoder.encodeKey(n);return this.map.get(n).map(r=>t+"="+this.encoder.encodeValue(r)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const t=new zn({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(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":const t=("a"===n.op?this.map.get(n.param):void 0)||[];t.push(Ta(n.value)),this.map.set(n.param,t);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let r=this.map.get(n.param)||[];const o=r.indexOf(Ta(n.value));-1!==o&&r.splice(o,1),r.length>0?this.map.set(n.param,r):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class XR{constructor(){this.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 k_(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function L_(e){return typeof Blob<"u"&&e instanceof Blob}function V_(e){return typeof FormData<"u"&&e instanceof FormData}class Ei{constructor(n,t,r,o){let i;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function JR(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==r?r:null,i=o):i=r,i&&(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.context&&(this.context=i.context),i.params&&(this.params=i.params)),this.headers||(this.headers=new kn),this.context||(this.context=new XR),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ad.set(g,n.setHeaders[g]),l)),n.setParams&&(u=Object.keys(n.setParams).reduce((d,g)=>d.set(g,n.setParams[g]),u)),new Ei(t,r,i,{params:u,headers:l,context:c,reportProgress:a,responseType:o,withCredentials:s})}}var ke=(()=>((ke=ke||{})[ke.Sent=0]="Sent",ke[ke.UploadProgress=1]="UploadProgress",ke[ke.ResponseHeader=2]="ResponseHeader",ke[ke.DownloadProgress=3]="DownloadProgress",ke[ke.Response=4]="Response",ke[ke.User=5]="User",ke))();class Cd{constructor(n,t=200,r="OK"){this.headers=n.headers||new kn,this.status=void 0!==n.status?n.status:t,this.statusText=n.statusText||r,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class Dd extends Cd{constructor(n={}){super(n),this.type=ke.ResponseHeader}clone(n={}){return new Dd({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class xa extends Cd{constructor(n={}){super(n),this.type=ke.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new xa({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class U_ extends Cd{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}function wd(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}}let bd=(()=>{class e{constructor(t){this.handler=t}request(t,r,o={}){let i;if(t instanceof Ei)i=t;else{let l,u;l=o.headers instanceof kn?o.headers:new kn(o.headers),o.params&&(u=o.params instanceof zn?o.params:new zn({fromObject:o.params})),i=new Ei(t,r,void 0!==o.body?o.body:null,{headers:l,context:o.context,params:u,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials})}const s=O(i).pipe(Gn(l=>this.handler.handle(l)));if(t instanceof Ei||"events"===o.observe)return s;const a=s.pipe(Yt(l=>l instanceof xa));switch(o.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return a.pipe(K(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(K(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(K(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(K(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}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 zn).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,r={}){return this.request("OPTIONS",t,r)}patch(t,r,o={}){return this.request("PATCH",t,wd(o,r))}post(t,r,o={}){return this.request("POST",t,wd(o,r))}put(t,r,o={}){return this.request("PUT",t,wd(o,r))}}return e.\u0275fac=function(t){return new(t||e)(N(Aa))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();function H_(e,n){return n(e)}function tN(e,n){return(t,r)=>n.intercept(t,{handle:o=>e(o,r)})}const rN=new R("HTTP_INTERCEPTORS"),Si=new R("HTTP_INTERCEPTOR_FNS");function oN(){let e=null;return(n,t)=>(null===e&&(e=(Q(rN,{optional:!0})??[]).reduceRight(tN,H_)),e(n,t))}let j_=(()=>{class e extends Aa{constructor(t,r){super(),this.backend=t,this.injector=r,this.chain=null}handle(t){if(null===this.chain){const r=Array.from(new Set(this.injector.get(Si)));this.chain=r.reduceRight((o,i)=>function nN(e,n,t){return(r,o)=>t.runInContext(()=>n(r,i=>e(i,o)))}(o,i,this.injector),H_)}return this.chain(t,r=>this.backend.handle(r))}}return e.\u0275fac=function(t){return new(t||e)(N(_d),N(on))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();const lN=/^\)\]\}',?\n/;let $_=(()=>{class e{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new Se(r=>{const o=this.xhrFactory.build();if(o.open(t.method,t.urlWithParams),t.withCredentials&&(o.withCredentials=!0),t.headers.forEach((m,y)=>o.setRequestHeader(m,y.join(","))),t.headers.has("Accept")||o.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const m=t.detectContentTypeHeader();null!==m&&o.setRequestHeader("Content-Type",m)}if(t.responseType){const m=t.responseType.toLowerCase();o.responseType="json"!==m?m:"text"}const i=t.serializeBody();let s=null;const a=()=>{if(null!==s)return s;const m=o.statusText||"OK",y=new kn(o.getAllResponseHeaders()),_=function uN(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(o)||t.url;return s=new Dd({headers:y,status:o.status,statusText:m,url:_}),s},l=()=>{let{headers:m,status:y,statusText:_,url:D}=a(),b=null;204!==y&&(b=typeof o.response>"u"?o.responseText:o.response),0===y&&(y=b?200:0);let A=y>=200&&y<300;if("json"===t.responseType&&"string"==typeof b){const w=b;b=b.replace(lN,"");try{b=""!==b?JSON.parse(b):null}catch(L){b=w,A&&(A=!1,b={error:L,text:b})}}A?(r.next(new xa({body:b,headers:m,status:y,statusText:_,url:D||void 0})),r.complete()):r.error(new U_({error:b,headers:m,status:y,statusText:_,url:D||void 0}))},u=m=>{const{url:y}=a(),_=new U_({error:m,status:o.status||0,statusText:o.statusText||"Unknown Error",url:y||void 0});r.error(_)};let c=!1;const d=m=>{c||(r.next(a()),c=!0);let y={type:ke.DownloadProgress,loaded:m.loaded};m.lengthComputable&&(y.total=m.total),"text"===t.responseType&&o.responseText&&(y.partialText=o.responseText),r.next(y)},g=m=>{let y={type:ke.UploadProgress,loaded:m.loaded};m.lengthComputable&&(y.total=m.total),r.next(y)};return o.addEventListener("load",l),o.addEventListener("error",u),o.addEventListener("timeout",u),o.addEventListener("abort",u),t.reportProgress&&(o.addEventListener("progress",d),null!==i&&o.upload&&o.upload.addEventListener("progress",g)),o.send(i),r.next({type:ke.Sent}),()=>{o.removeEventListener("error",u),o.removeEventListener("abort",u),o.removeEventListener("load",l),o.removeEventListener("timeout",u),t.reportProgress&&(o.removeEventListener("progress",d),null!==i&&o.upload&&o.upload.removeEventListener("progress",g)),o.readyState!==o.DONE&&o.abort()}})}}return e.\u0275fac=function(t){return new(t||e)(N(c_))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();const Ed=new R("XSRF_ENABLED"),G_=new R("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),z_=new R("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class q_{}let fN=(()=>{class e{constructor(t,r,o){this.doc=t,this.platform=r,this.cookieName=o,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Jv(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return e.\u0275fac=function(t){return new(t||e)(N(et),N(Rc),N(G_))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();function hN(e,n){const t=e.url.toLowerCase();if(!Q(Ed)||"GET"===e.method||"HEAD"===e.method||t.startsWith("http://")||t.startsWith("https://"))return n(e);const r=Q(q_).getToken(),o=Q(z_);return null!=r&&!e.headers.has(o)&&(e=e.clone({headers:e.headers.set(o,r)})),n(e)}var Re=(()=>((Re=Re||{})[Re.Interceptors=0]="Interceptors",Re[Re.LegacyInterceptors=1]="LegacyInterceptors",Re[Re.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",Re[Re.NoXsrfProtection=3]="NoXsrfProtection",Re[Re.JsonpSupport=4]="JsonpSupport",Re[Re.RequestsMadeViaParent=5]="RequestsMadeViaParent",Re))();function po(e,n){return{\u0275kind:e,\u0275providers:n}}function pN(...e){const n=[bd,$_,j_,{provide:Aa,useExisting:j_},{provide:_d,useExisting:$_},{provide:Si,useValue:hN,multi:!0},{provide:Ed,useValue:!0},{provide:q_,useClass:fN}];for(const t of e)n.push(...t.\u0275providers);return function H0(e){return{\u0275providers:e}}(n)}const W_=new R("LEGACY_INTERCEPTOR_FN");let mN=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Lt({type:e}),e.\u0275inj=Mt({providers:[pN(po(Re.LegacyInterceptors,[{provide:W_,useFactory:oN},{provide:Si,useExisting:W_,multi:!0}]))]}),e})();const{isArray:yN}=Array,{getPrototypeOf:vN,prototype:_N,keys:CN}=Object;function K_(e){if(1===e.length){const n=e[0];if(yN(n))return{args:n,keys:null};if(function DN(e){return e&&"object"==typeof e&&vN(e)===_N}(n)){const t=CN(n);return{args:t.map(r=>n[r]),keys:t}}}return{args:e,keys:null}}const{isArray:wN}=Array;function Y_(e){return K(n=>function bN(e,n){return wN(n)?e(...n):e(n)}(e,n))}function Z_(e,n){return e.reduce((t,r,o)=>(t[r]=n[o],t),{})}let Q_=(()=>{class e{constructor(t,r){this._renderer=t,this._elementRef=r,this.onChange=o=>{},this.onTouched=()=>{}}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)}}return e.\u0275fac=function(t){return new(t||e)(M(Sn),M(Dt))},e.\u0275dir=B({type:e}),e})(),Cr=(()=>{class e extends Q_{}return e.\u0275fac=function(){let n;return function(r){return(n||(n=We(e)))(r||e)}}(),e.\u0275dir=B({type:e,features:[ae]}),e})();const dn=new R("NgValueAccessor"),MN={provide:dn,useExisting:pe(()=>Mi),multi:!0},AN=new R("CompositionEventMode");let Mi=(()=>{class e extends Q_{constructor(t,r,o){super(t,r),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function IN(){const e=Fn()?Fn().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)}}return e.\u0275fac=function(t){return new(t||e)(M(Sn),M(Dt),M(AN,8))},e.\u0275dir=B({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(t,r){1&t&&F("input",function(i){return r._handleInput(i.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(i){return r._compositionEnd(i.target.value)})},features:[ve([MN]),ae]}),e})();const TN=!1;function qn(e){return null==e||("string"==typeof e||Array.isArray(e))&&0===e.length}const tt=new R("NgValidators"),Wn=new R("NgAsyncValidators");function nC(e){return qn(e.value)?{required:!0}:null}function Ra(e){return null}function lC(e){return null!=e}function uC(e){const n=ai(e)?Me(e):e;if(TN&&!rc(n)){let t="Expected async validator to return Promise or Observable.";throw"object"==typeof e&&(t+=" Are you using a synchronous validator where an async validator is expected?"),new I(-1101,t)}return n}function cC(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function dC(e,n){return n.map(t=>t(e))}function fC(e){return e.map(n=>function RN(e){return!e.validate}(n)?n:t=>n.validate(t))}function Sd(e){return null!=e?function hC(e){if(!e)return null;const n=e.filter(lC);return 0==n.length?null:function(t){return cC(dC(t,n))}}(fC(e)):null}function Md(e){return null!=e?function pC(e){if(!e)return null;const n=e.filter(lC);return 0==n.length?null:function(t){return function EN(...e){const n=Zf(e),{args:t,keys:r}=K_(e),o=new Se(i=>{const{length:s}=t;if(!s)return void i.complete();const a=new Array(s);let l=s,u=s;for(let c=0;c{d||(d=!0,u--),a[c]=g},()=>l--,void 0,()=>{(!l||!d)&&(u||i.next(r?Z_(r,a):a),i.complete())}))}});return n?o.pipe(Y_(n)):o}(dC(t,n).map(uC)).pipe(K(cC))}}(fC(e)):null}function gC(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function Id(e){return e?Array.isArray(e)?e:[e]:[]}function Na(e,n){return Array.isArray(e)?e.includes(n):e===n}function vC(e,n){const t=Id(n);return Id(e).forEach(o=>{Na(t,o)||t.push(o)}),t}function _C(e,n){return Id(n).filter(t=>!Na(e,t))}class CC{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}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}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Sd(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=Md(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n){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 lt extends CC{get formDirective(){return null}get path(){return null}}class Kn extends CC{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class DC{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Ad=(()=>{class e extends DC{constructor(t){super(t)}}return e.\u0275fac=function(t){return new(t||e)(M(Kn,2))},e.\u0275dir=B({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,r){2&t&&Ks("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},features:[ae]}),e})(),Td=(()=>{class e extends DC{constructor(t){super(t)}}return e.\u0275fac=function(t){return new(t||e)(M(lt,10))},e.\u0275dir=B({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(t,r){2&t&&Ks("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},features:[ae]}),e})();function wC(e,n){return e?`with name: '${n}'`:`at index: ${n}`}const Nd=!1,Ii="VALID",Pa="INVALID",go="PENDING",Ai="DISABLED";function Fd(e){return(Oa(e)?e.validators:e)||null}function Pd(e,n){return(Oa(n)?n.asyncValidators:e)||null}function Oa(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class SC{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],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 valid(){return this.status===Ii}get invalid(){return this.status===Pa}get pending(){return this.status==go}get disabled(){return this.status===Ai}get enabled(){return this.status!==Ai}get dirty(){return!this.pristine}get untouched(){return!this.touched}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(vC(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(vC(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(_C(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(_C(n,this._rawAsyncValidators))}hasValidator(n){return Na(this._rawValidators,n)}hasAsyncValidator(n){return Na(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=go,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ai,this.errors=null,this._forEachChild(r=>{r.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ii,this._forEachChild(r=>{r.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Ii||this.status===go)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Ai:Ii}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=go,this._hasOwnPendingAsyncValidator=!0;const t=uC(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(r=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(r,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((r,o)=>r&&r._find(o),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){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new Ee,this.statusChanges=new Ee}_calculateStatus(){return this._allControlsDisabled()?Ai:this.errors?Pa:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(go)?go:this._anyControlsHaveStatus(Pa)?Pa:Ii}_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={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Oa(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 VN(e){return Array.isArray(e)?Sd(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function UN(e){return Array.isArray(e)?Md(e):e||null}(this._rawAsyncValidators)}}class Od extends SC{constructor(n,t,r){super(Fd(t),Pd(r,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}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={}){(function EC(e,n,t){e._forEachChild((r,o)=>{if(void 0===t[o])throw new I(1002,Nd?function LN(e,n){return`Must supply a value for form control ${wC(e,n)}`}(n,o):"")})})(this,!0,n),Object.keys(n).forEach(r=>{(function bC(e,n,t){const r=e.controls;if(!(n?Object.keys(r):r).length)throw new I(1e3,Nd?function ON(e){return`\n There are no form controls registered with this ${e?"group":"array"} yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n `}(n):"");if(!r[t])throw new I(1001,Nd?function kN(e,n){return`Cannot find form control ${wC(e,n)}`}(n,t):"")})(this,!0,r),this.controls[r].setValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(Object.keys(n).forEach(r=>{const o=this.controls[r];o&&o.patchValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((r,o)=>{r.reset(n[o],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),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()||t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{const 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(const[t,r]of Object.entries(this.controls))if(this.contains(t)&&n(r))return!0;return!1}_reduceValue(){return this._reduceChildren({},(t,r,o)=>((r.enabled||this.disabled)&&(t[o]=r.value),t))}_reduceChildren(n,t){let r=n;return this._forEachChild((o,i)=>{r=t(r,o,i)}),r}_allControlsDisabled(){for(const 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}}const mo=new R("CallSetDisabledState",{providedIn:"root",factory:()=>ka}),ka="always";function Ti(e,n,t=ka){kd(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function BN(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&MC(e,n)})}(e,n),function GN(e,n){const t=(r,o)=>{n.valueAccessor.writeValue(r),o&&n.viewToModelUpdate(r)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function $N(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&MC(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function jN(e,n){if(n.valueAccessor.setDisabledState){const t=r=>{n.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function Ua(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function kd(e,n){const t=function mC(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(gC(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const r=function yC(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(gC(r,n.asyncValidator)):"function"==typeof r&&e.setAsyncValidators([r]);const o=()=>e.updateValueAndValidity();Ua(n._rawValidators,o),Ua(n._rawAsyncValidators,o)}function MC(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const YN={provide:lt,useExisting:pe(()=>Ri)},xi=(()=>Promise.resolve())();let Ri=(()=>{class e extends lt{constructor(t,r,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._directives=new Set,this.ngSubmit=new Ee,this.form=new Od({},Sd(t),Md(r))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){xi.then(()=>{const r=this._findContainer(t.path);t.control=r.registerControl(t.name,t.control),Ti(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){xi.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name),this._directives.delete(t)})}addFormGroup(t){xi.then(()=>{const r=this._findContainer(t.path),o=new Od({});(function IC(e,n){kd(e,n)})(o,t),r.registerControl(t.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){xi.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,r){xi.then(()=>{this.form.get(t.path).setValue(r)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,function AC(e,n){e._syncPendingControls(),n.forEach(t=>{const r=t.control;"submit"===r.updateOn&&r._pendingChange&&(t.viewToModelUpdate(r._pendingValue),r._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(t),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return e.\u0275fac=function(t){return new(t||e)(M(tt,10),M(Wn,10),M(mo,8))},e.\u0275dir=B({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,r){1&t&&F("submit",function(i){return r.onSubmit(i)})("reset",function(){return r.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[ve([YN]),ae]}),e})();function TC(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function xC(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const RC=class extends SC{constructor(n=null,t,r){super(Fd(t),Pd(r,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Oa(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=xC(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){TC(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){TC(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){xC(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}},XN={provide:Kn,useExisting:pe(()=>ja)},PC=(()=>Promise.resolve())();let ja=(()=>{class e extends Kn{constructor(t,r,o,i,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new RC,this._registered=!1,this.update=new Ee,this._parent=t,this._setValidators(r),this._setAsyncValidators(o),this.valueAccessor=function Ud(e,n){if(!n)return null;let t,r,o;return Array.isArray(n),n.forEach(i=>{i.constructor===Mi?t=i:function WN(e){return Object.getPrototypeOf(e.constructor)===Cr}(i)?r=i:o=i}),o||r||t||null}(0,i)}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 Vd(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(){Ti(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){PC.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const r=t.isDisabled.currentValue,o=0!==r&&ho(r);PC.then(()=>{o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function La(e,n){return[...n.path,e]}(t,this._parent):[t]}}return e.\u0275fac=function(t){return new(t||e)(M(lt,9),M(tt,10),M(Wn,10),M(dn,10),M(ua,8),M(mo,8))},e.\u0275dir=B({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[ve([XN]),ae,Tt]}),e})(),Hd=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=B({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),e})();const eF={provide:dn,useExisting:pe(()=>jd),multi:!0};let kC=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Lt({type:e}),e.\u0275inj=Mt({}),e})(),tF=(()=>{class e{constructor(){this._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)return void this._accessors.splice(r,1)}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}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:kC}),e})(),jd=(()=>{class e extends Cr{constructor(t,r,o,i){super(t,r),this._registry=o,this._injector=i,this.setDisabledStateFired=!1,this.onChange=()=>{},this.callSetDisabledState=Q(mo,{optional:!0})??ka}ngOnInit(){this._control=this._injector.get(Kn),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||"whenDisabledForLegacyCode"===this.callSetDisabledState)&&this.setProperty("disabled",t),this.setDisabledStateFired=!0}fireUncheck(t){this.writeValue(t)}_checkName(){!this.name&&this.formControlName&&(this.name=this.formControlName)}}return e.\u0275fac=function(t){return new(t||e)(M(Sn),M(Dt),M(tF),M(sn))},e.\u0275dir=B({type:e,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(t,r){1&t&&F("change",function(){return r.onChange()})("blur",function(){return r.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[ve([eF]),ae]}),e})();const lF={provide:dn,useExisting:pe(()=>Ba),multi:!0};function BC(e,n){return null==e?`${n}`:(n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let Ba=(()=>{class e extends Cr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){this.value=t;const o=BC(this._getOptionId(t),t);this.setProperty("value",o)}registerOnChange(t){this.onChange=r=>{this.value=this._getOptionValue(r),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const r of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(r),t))return r;return null}_getOptionValue(t){const r=function uF(e){return e.split(":")[0]}(t);return this._optionMap.has(r)?this._optionMap.get(r):t}}return e.\u0275fac=function(){let n;return function(r){return(n||(n=We(e)))(r||e)}}(),e.\u0275dir=B({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(t,r){1&t&&F("change",function(i){return r.onChange(i.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[ve([lF]),ae]}),e})(),$C=(()=>{class e{constructor(t,r,o){this._element=t,this._renderer=r,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(BC(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))}}return e.\u0275fac=function(t){return new(t||e)(M(Dt),M(Sn),M(Ba,9))},e.\u0275dir=B({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),e})();const cF={provide:dn,useExisting:pe(()=>zd),multi:!0};function GC(e,n){return null==e?`${n}`:("string"==typeof n&&(n=`'${n}'`),n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let zd=(()=>{class e extends Cr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){let r;if(this.value=t,Array.isArray(t)){const o=t.map(i=>this._getOptionId(i));r=(i,s)=>{i._setSelected(o.indexOf(s.toString())>-1)}}else r=(o,i)=>{o._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(t){this.onChange=r=>{const o=[],i=r.selectedOptions;if(void 0!==i){const s=i;for(let a=0;a{class e{constructor(t,r,o){this._element=t,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(GC(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(GC(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))}}return e.\u0275fac=function(t){return new(t||e)(M(Dt),M(Sn),M(zd,9))},e.\u0275dir=B({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),e})(),Dr=(()=>{class e{constructor(){this._validator=Ra}ngOnChanges(t){if(this.inputName in t){const r=this.normalizeInput(t[this.inputName].currentValue);this._enabled=this.enabled(r),this._validator=this._enabled?this.createValidator(r):Ra,this._onChange&&this._onChange()}}validate(t){return this._validator(t)}registerOnValidatorChange(t){this._onChange=t}enabled(t){return null!=t}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=B({type:e,features:[Tt]}),e})();const pF={provide:tt,useExisting:pe(()=>Ni),multi:!0};let Ni=(()=>{class e extends Dr{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=ho,this.createValidator=t=>nC}enabled(t){return t}}return e.\u0275fac=function(){let n;return function(r){return(n||(n=We(e)))(r||e)}}(),e.\u0275dir=B({type:e,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(t,r){2&t&&Bt("required",r._enabled?"":null)},inputs:{required:"required"},features:[ve([pF]),ae]}),e})();const _F={provide:tt,useExisting:pe(()=>qd),multi:!0};let qd=(()=>{class e extends Dr{constructor(){super(...arguments),this.inputName="pattern",this.normalizeInput=t=>t,this.createValidator=t=>function aC(e){if(!e)return Ra;let n,t;return"string"==typeof e?(t="","^"!==e.charAt(0)&&(t+="^"),t+=e,"$"!==e.charAt(e.length-1)&&(t+="$"),n=new RegExp(t)):(t=e.toString(),n=e),r=>{if(qn(r.value))return null;const o=r.value;return n.test(o)?null:{pattern:{requiredPattern:t,actualValue:o}}}}(t)}}return e.\u0275fac=function(){let n;return function(r){return(n||(n=We(e)))(r||e)}}(),e.\u0275dir=B({type:e,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(t,r){2&t&&Bt("pattern",r._enabled?r.pattern:null)},inputs:{pattern:"pattern"},features:[ve([_F]),ae]}),e})(),CF=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Lt({type:e}),e.\u0275inj=Mt({imports:[kC]}),e})(),wF=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:mo,useValue:t.callSetDisabledState??ka}]}}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Lt({type:e}),e.\u0275inj=Mt({imports:[CF]}),e})();class Zt extends mn{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)}}const $a=Ao(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function eD(...e){const n=xo(e),t=Zf(e),{args:r,keys:o}=K_(e);if(0===r.length)return Me([],n);const i=new Se(function bF(e,n,t=rr){return r=>{tD(n,()=>{const{length:o}=e,i=new Array(o);let s=o,a=o;for(let l=0;l{const u=Me(e[l],n);let c=!1;u.subscribe(Le(r,d=>{i[l]=d,c||(c=!0,a--),a||r.next(t(i.slice()))},()=>{--s||r.complete()}))},r)},r)}}(r,n,o?s=>Z_(o,s):rr));return t?i.pipe(Y_(t)):i}function tD(e,n,t){e?yn(t,e,n):n()}function Wd(...e){return function EF(){return Sr(1)}()(Me(e,xo(e)))}function nD(e){return new Se(n=>{Qt(e()).subscribe(n)})}function Fi(e,n){const t=fe(e)?e:()=>e,r=o=>o.error(t());return new Se(n?o=>n.schedule(r,0,o):r)}function Kd(){return Be((e,n)=>{let t=null;e._refCount++;const r=Le(n,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(t=null);const o=e._connection,i=t;t=null,o&&(!i||o===i)&&o.unsubscribe(),n.unsubscribe()});e.subscribe(r),r.closed||(t=e.connect())})}class rD extends Se{constructor(n,t){super(),this.source=n,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,kf(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new Et;const t=this.getSubject();n.add(this.source.subscribe(Le(t,void 0,()=>{this._teardown(),t.complete()},r=>{this._teardown(),t.error(r)},()=>this._teardown()))),n.closed&&(this._connection=null,n=Et.EMPTY)}return n}refCount(){return Kd()(this)}}function fn(e,n){return Be((t,r)=>{let o=null,i=0,s=!1;const a=()=>s&&!o&&r.complete();t.subscribe(Le(r,l=>{o?.unsubscribe();let u=0;const c=i++;Qt(e(l,c)).subscribe(o=Le(r,d=>r.next(n?n(l,d,c,u++):d),()=>{o=null,a()}))},()=>{s=!0,a()}))})}function Ga(e){return Be((n,t)=>{let r=!1;n.subscribe(Le(t,o=>{r=!0,t.next(o)},()=>{r||t.next(e),t.complete()}))})}function oD(e=MF){return Be((n,t)=>{let r=!1;n.subscribe(Le(t,o=>{r=!0,t.next(o)},()=>r?t.complete():t.error(e())))})}function MF(){return new $a}function Yn(e,n){const t=arguments.length>=2;return r=>r.pipe(e?Yt((o,i)=>e(o,i,r)):rr,ir(1),t?Ga(n):oD(()=>new $a))}function nt(e,n,t){const r=fe(e)||n||t?{next:e,error:n,complete:t}:e;return r?Be((o,i)=>{var s;null===(s=r.subscribe)||void 0===s||s.call(r);let a=!0;o.subscribe(Le(i,l=>{var u;null===(u=r.next)||void 0===u||u.call(r,l),i.next(l)},()=>{var l;a=!1,null===(l=r.complete)||void 0===l||l.call(r),i.complete()},l=>{var u;a=!1,null===(u=r.error)||void 0===u||u.call(r,l),i.error(l)},()=>{var l,u;a&&(null===(l=r.unsubscribe)||void 0===l||l.call(r)),null===(u=r.finalize)||void 0===u||u.call(r)}))}):rr}function Zn(e){return Be((n,t)=>{let i,r=null,o=!1;r=n.subscribe(Le(t,void 0,void 0,s=>{i=Qt(e(s,Zn(e)(n))),r?(r.unsubscribe(),r=null,i.subscribe(t)):o=!0})),o&&(r.unsubscribe(),r=null,i.subscribe(t))})}function iD(e,n){return Be(function IF(e,n,t,r,o){return(i,s)=>{let a=t,l=n,u=0;i.subscribe(Le(s,c=>{const d=u++;l=a?e(l,c,d):(a=!0,c),r&&s.next(l)},o&&(()=>{a&&s.next(l),s.complete()})))}}(e,n,arguments.length>=2,!0))}function Yd(e){return e<=0?()=>Xt:Be((n,t)=>{let r=[];n.subscribe(Le(t,o=>{r.push(o),e{for(const o of r)t.next(o);t.complete()},void 0,()=>{r=null}))})}function sD(e,n){const t=arguments.length>=2;return r=>r.pipe(e?Yt((o,i)=>e(o,i,r)):rr,Yd(1),t?Ga(n):oD(()=>new $a))}function Zd(e){return Be((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}const W="primary",Pi=Symbol("RouteTitle");class xF{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function yo(e){return new xF(e)}function RF(e,n,t){const r=t.path.split("/");if(r.length>e.length||"full"===t.pathMatch&&(n.hasChildren()||r.lengthr[i]===o)}return e===n}function lD(e){return Array.prototype.concat.apply([],e)}function uD(e){return e.length>0?e[e.length-1]:null}function Ke(e,n){for(const t in e)e.hasOwnProperty(t)&&n(e[t],t)}function Qn(e){return rc(e)?e:ai(e)?Me(Promise.resolve(e)):O(e)}const za=!1,FF={exact:function fD(e,n,t){if(!wr(e.segments,n.segments)||!qa(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(const r in n.children)if(!e.children[r]||!fD(e.children[r],n.children[r],t))return!1;return!0},subset:hD},cD={exact:function PF(e,n){return hn(e,n)},subset:function OF(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>aD(e[t],n[t]))},ignored:()=>!0};function dD(e,n,t){return FF[t.paths](e.root,n.root,t.matrixParams)&&cD[t.queryParams](e.queryParams,n.queryParams)&&!("exact"===t.fragment&&e.fragment!==n.fragment)}function hD(e,n,t){return pD(e,n,n.segments,t)}function pD(e,n,t,r){if(e.segments.length>t.length){const o=e.segments.slice(0,t.length);return!(!wr(o,t)||n.hasChildren()||!qa(o,t,r))}if(e.segments.length===t.length){if(!wr(e.segments,t)||!qa(e.segments,t,r))return!1;for(const o in n.children)if(!e.children[o]||!hD(e.children[o],n.children[o],r))return!1;return!0}{const o=t.slice(0,e.segments.length),i=t.slice(e.segments.length);return!!(wr(e.segments,o)&&qa(e.segments,o,r)&&e.children[W])&&pD(e.children[W],n,i,r)}}function qa(e,n,t){return n.every((r,o)=>cD[t](e[o].parameters,r.parameters))}class Xn{constructor(n=new J([],{}),t={},r=null){this.root=n,this.queryParams=t,this.fragment=r}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=yo(this.queryParams)),this._queryParamMap}toString(){return VF.serialize(this)}}class J{constructor(n,t){this.segments=n,this.children=t,this.parent=null,Ke(t,(r,o)=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Wa(this)}}class Oi{constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap||(this._parameterMap=yo(this.parameters)),this._parameterMap}toString(){return yD(this)}}function wr(e,n){return e.length===n.length&&e.every((t,r)=>t.path===n[r].path)}let ki=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:function(){return new Qd},providedIn:"root"}),e})();class Qd{parse(n){const t=new WF(n);return new Xn(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){const t=`/${Li(n.root,!0)}`,r=function jF(e){const n=Object.keys(e).map(t=>{const r=e[t];return Array.isArray(r)?r.map(o=>`${Ka(t)}=${Ka(o)}`).join("&"):`${Ka(t)}=${Ka(r)}`}).filter(t=>!!t);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${t}${r}${"string"==typeof n.fragment?`#${function UF(e){return encodeURI(e)}(n.fragment)}`:""}`}}const VF=new Qd;function Wa(e){return e.segments.map(n=>yD(n)).join("/")}function Li(e,n){if(!e.hasChildren())return Wa(e);if(n){const t=e.children[W]?Li(e.children[W],!1):"",r=[];return Ke(e.children,(o,i)=>{i!==W&&r.push(`${i}:${Li(o,!1)}`)}),r.length>0?`${t}(${r.join("//")})`:t}{const t=function LF(e,n){let t=[];return Ke(e.children,(r,o)=>{o===W&&(t=t.concat(n(r,o)))}),Ke(e.children,(r,o)=>{o!==W&&(t=t.concat(n(r,o)))}),t}(e,(r,o)=>o===W?[Li(e.children[W],!1)]:[`${o}:${Li(r,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[W]?`${Wa(e)}/${t[0]}`:`${Wa(e)}/(${t.join("//")})`}}function gD(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Ka(e){return gD(e).replace(/%3B/gi,";")}function Xd(e){return gD(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Ya(e){return decodeURIComponent(e)}function mD(e){return Ya(e.replace(/\+/g,"%20"))}function yD(e){return`${Xd(e.path)}${function HF(e){return Object.keys(e).map(n=>`;${Xd(n)}=${Xd(e[n])}`).join("")}(e.parameters)}`}const BF=/^[^\/()?;=#]+/;function Za(e){const n=e.match(BF);return n?n[0]:""}const $F=/^[^=?&#]+/,zF=/^[^&#]+/;class WF{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new J([],{}):new J([],this.parseChildren())}parseQueryParams(){const 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("/");const 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[W]=new J(n,t)),r}parseSegment(){const n=Za(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new I(4009,za);return this.capture(n),new Oi(Ya(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const t=Za(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const o=Za(this.remaining);o&&(r=o,this.capture(r))}n[Ya(t)]=Ya(r)}parseQueryParam(n){const t=function GF(e){const n=e.match($F);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const s=function qF(e){const n=e.match(zF);return n?n[0]:""}(this.remaining);s&&(r=s,this.capture(r))}const o=mD(t),i=mD(r);if(n.hasOwnProperty(o)){let s=n[o];Array.isArray(s)||(s=[s],n[o]=s),s.push(i)}else n[o]=i}parseParens(n){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const r=Za(this.remaining),o=this.remaining[r.length];if("/"!==o&&")"!==o&&";"!==o)throw new I(4010,za);let i;r.indexOf(":")>-1?(i=r.slice(0,r.indexOf(":")),this.capture(i),this.capture(":")):n&&(i=W);const s=this.parseChildren();t[i]=1===Object.keys(s).length?s[W]:new J([],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)}capture(n){if(!this.consumeOptional(n))throw new I(4011,za)}}function Jd(e){return e.segments.length>0?new J([],{[W]:e}):e}function Qa(e){const n={};for(const r of Object.keys(e.children)){const i=Qa(e.children[r]);(i.segments.length>0||i.hasChildren())&&(n[r]=i)}return function KF(e){if(1===e.numberOfChildren&&e.children[W]){const n=e.children[W];return new J(e.segments.concat(n.segments),n.children)}return e}(new J(e.segments,n))}function br(e){return e instanceof Xn}const ef=!1;function YF(e,n,t,r,o){if(0===t.length)return vo(n.root,n.root,n.root,r,o);const i=function wD(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new DD(!0,0,e);let n=0,t=!1;const r=e.reduce((o,i,s)=>{if("object"==typeof i&&null!=i){if(i.outlets){const a={};return Ke(i.outlets,(l,u)=>{a[u]="string"==typeof l?l.split("/"):l}),[...o,{outlets:a}]}if(i.segmentPath)return[...o,i.segmentPath]}return"string"!=typeof i?[...o,i]:0===s?(i.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?t=!0:".."===a?n++:""!=a&&o.push(a))}),o):[...o,i]},[]);return new DD(t,n,r)}(t);return i.toRoot()?vo(n.root,n.root,new J([],{}),r,o):function s(l){const u=function QF(e,n,t,r){if(e.isAbsolute)return new _o(n.root,!0,0);if(-1===r)return new _o(t,t===n.root,0);return function bD(e,n,t){let r=e,o=n,i=t;for(;i>o;){if(i-=o,r=r.parent,!r)throw new I(4005,ef&&"Invalid number of '../'");o=r.segments.length}return new _o(r,!1,o-i)}(t,r+(Vi(e.commands[0])?0:1),e.numberOfDoubleDots)}(i,n,e.snapshot?._urlSegment,l),c=u.processChildren?Co(u.segmentGroup,u.index,i.commands):tf(u.segmentGroup,u.index,i.commands);return vo(n.root,u.segmentGroup,c,r,o)}(e.snapshot?._lastPathIndex)}function Vi(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function Ui(e){return"object"==typeof e&&null!=e&&e.outlets}function vo(e,n,t,r,o){let s,i={};r&&Ke(r,(l,u)=>{i[u]=Array.isArray(l)?l.map(c=>`${c}`):`${l}`}),s=e===n?t:CD(e,n,t);const a=Jd(Qa(s));return new Xn(a,i,o)}function CD(e,n,t){const r={};return Ke(e.children,(o,i)=>{r[i]=o===n?t:CD(o,n,t)}),new J(e.segments,r)}class DD{constructor(n,t,r){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=r,n&&r.length>0&&Vi(r[0]))throw new I(4003,ef&&"Root segment cannot have matrix parameters");const o=r.find(Ui);if(o&&o!==uD(r))throw new I(4004,ef&&"{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class _o{constructor(n,t,r){this.segmentGroup=n,this.processChildren=t,this.index=r}}function tf(e,n,t){if(e||(e=new J([],{})),0===e.segments.length&&e.hasChildren())return Co(e,n,t);const r=function JF(e,n,t){let r=0,o=n;const i={match:!1,pathIndex:0,commandIndex:0};for(;o=t.length)return i;const s=e.segments[o],a=t[r];if(Ui(a))break;const l=`${a}`,u=r0&&void 0===l)break;if(l&&u&&"object"==typeof u&&void 0===u.outlets){if(!SD(l,u,s))return i;r+=2}else{if(!SD(l,{},s))return i;r++}o++}return{match:!0,pathIndex:o,commandIndex:r}}(e,n,t),o=t.slice(r.commandIndex);if(r.match&&r.pathIndex{"string"==typeof i&&(i=[i]),null!==i&&(o[s]=tf(e.children[s],n,i))}),Ke(e.children,(i,s)=>{void 0===r[s]&&(o[s]=i)}),new J(e.segments,o)}}function nf(e,n,t){const r=e.segments.slice(0,n);let o=0;for(;o{"string"==typeof t&&(t=[t]),null!==t&&(n[r]=nf(new J([],{}),0,t))}),n}function ED(e){const n={};return Ke(e,(t,r)=>n[r]=`${t}`),n}function SD(e,n,t){return e==t.path&&hn(n,t.parameters)}const Hi="imperative";class pn{constructor(n,t){this.id=n,this.url=t}}class rf extends pn{constructor(n,t,r="imperative",o=null){super(n,t),this.type=0,this.navigationTrigger=r,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Jn extends pn{constructor(n,t,r){super(n,t),this.urlAfterRedirects=r,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class Xa extends pn{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class Ja extends pn{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=16}}class sf extends pn{constructor(n,t,r,o){super(n,t),this.error=r,this.target=o,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class tP extends pn{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class nP extends pn{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class rP extends pn{constructor(n,t,r,o,i){super(n,t),this.urlAfterRedirects=r,this.state=o,this.shouldActivate=i,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class oP extends pn{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class iP extends pn{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class sP{constructor(n){this.route=n,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class aP{constructor(n){this.route=n,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class lP{constructor(n){this.snapshot=n,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class uP{constructor(n){this.snapshot=n,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class cP{constructor(n){this.snapshot=n,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class dP{constructor(n){this.snapshot=n,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class MD{constructor(n,t,r){this.routerEvent=n,this.position=t,this.anchor=r,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}let pP=(()=>{class e{createUrlTree(t,r,o,i,s,a){return YF(t||r.root,o,i,s,a)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})(),mP=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:function(n){return pP.\u0275fac(n)},providedIn:"root"}),e})();class ID{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){const t=af(n,this._root);return t?t.children.map(r=>r.value):[]}firstChild(n){const t=af(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){const t=lf(n,this._root);return t.length<2?[]:t[t.length-2].children.map(o=>o.value).filter(o=>o!==n)}pathFromRoot(n){return lf(n,this._root).map(t=>t.value)}}function af(e,n){if(e===n.value)return n;for(const t of n.children){const r=af(e,t);if(r)return r}return null}function lf(e,n){if(e===n.value)return[n];for(const t of n.children){const r=lf(e,t);if(r.length)return r.unshift(n),r}return[]}class Ln{constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}}function Do(e){const n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}class AD extends ID{constructor(n,t){super(n),this.snapshot=t,uf(this,n)}toString(){return this.snapshot.toString()}}function TD(e,n){const t=function yP(e,n){const s=new el([],{},{},"",{},W,n,null,e.root,-1,{});return new RD("",new Ln(s,[]))}(e,n),r=new Zt([new Oi("",{})]),o=new Zt({}),i=new Zt({}),s=new Zt({}),a=new Zt(""),l=new Er(r,o,s,a,i,W,n,t.root);return l.snapshot=t.root,new AD(new Ln(l,[]),t)}class Er{constructor(n,t,r,o,i,s,a,l){this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i,this.outlet=s,this.component=a,this.title=this.data?.pipe(K(u=>u[Pi]))??O(void 0),this._futureSnapshot=l}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._paramMap=this.params.pipe(K(n=>yo(n)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(K(n=>yo(n)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function xD(e,n="emptyOnly"){const t=e.pathFromRoot;let r=0;if("always"!==n)for(r=t.length-1;r>=1;){const o=t[r],i=t[r-1];if(o.routeConfig&&""===o.routeConfig.path)r--;else{if(i.component)break;r--}}return function vP(e){return e.reduce((n,t)=>({params:{...n.params,...t.params},data:{...n.data,...t.data},resolve:{...t.data,...n.resolve,...t.routeConfig?.data,...t._resolvedData}}),{params:{},data:{},resolve:{}})}(t.slice(r))}class el{get title(){return this.data?.[Pi]}constructor(n,t,r,o,i,s,a,l,u,c,d){this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i,this.outlet=s,this.component=a,this.routeConfig=l,this._urlSegment=u,this._lastPathIndex=c,this._resolve=d}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._paramMap=yo(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=yo(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(r=>r.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class RD extends ID{constructor(n,t){super(t),this.url=n,uf(this,t)}toString(){return ND(this._root)}}function uf(e,n){n.value._routerState=e,n.children.forEach(t=>uf(e,t))}function ND(e){const n=e.children.length>0?` { ${e.children.map(ND).join(", ")} } `:"";return`${e.value}${n}`}function cf(e){if(e.snapshot){const n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,hn(n.queryParams,t.queryParams)||e.queryParams.next(t.queryParams),n.fragment!==t.fragment&&e.fragment.next(t.fragment),hn(n.params,t.params)||e.params.next(t.params),function NF(e,n){if(e.length!==n.length)return!1;for(let t=0;thn(t.parameters,n[r].parameters))}(e.url,n.url);return t&&!(!e.parent!=!n.parent)&&(!e.parent||df(e.parent,n.parent))}function ji(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){const r=t.value;r._futureSnapshot=n.value;const o=function CP(e,n,t){return n.children.map(r=>{for(const o of t.children)if(e.shouldReuseRoute(r.value,o.value.snapshot))return ji(e,r,o);return ji(e,r)})}(e,n,t);return new Ln(r,o)}{if(e.shouldAttach(n.value)){const i=e.retrieve(n.value);if(null!==i){const s=i.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>ji(e,a)),s}}const r=function DP(e){return new Er(new Zt(e.url),new Zt(e.params),new Zt(e.queryParams),new Zt(e.fragment),new Zt(e.data),e.outlet,e.component,e)}(n.value),o=n.children.map(i=>ji(e,i));return new Ln(r,o)}}const ff="ngNavigationCancelingError";function FD(e,n){const{redirectTo:t,navigationBehaviorOptions:r}=br(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,o=PD(!1,0,n);return o.url=t,o.navigationBehaviorOptions=r,o}function PD(e,n,t){const r=new Error("NavigationCancelingError: "+(e||""));return r[ff]=!0,r.cancellationCode=n,t&&(r.url=t),r}function OD(e){return kD(e)&&br(e.url)}function kD(e){return e&&e[ff]}class wP{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.injector=null,this.children=new Bi,this.attachRef=null}}let Bi=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(t,r){const o=this.getOrCreateContext(t);o.outlet=r,this.contexts.set(t,o)}onChildOutletDestroyed(t){const r=this.getContext(t);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){const 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 wP,this.contexts.set(t,r)),r}getContext(t){return this.contexts.get(t)||null}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const tl=!1;let hf=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=W,this.activateEvents=new Ee,this.deactivateEvents=new Ee,this.attachEvents=new Ee,this.detachEvents=new Ee,this.parentContexts=Q(Bi),this.location=Q(zt),this.changeDetector=Q(ua),this.environmentInjector=Q(on)}ngOnChanges(t){if(t.name){const{firstChange:r,previousValue:o}=t.name;if(r)return;this.isTrackedInParentContexts(o)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(o)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const 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,tl);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new I(4012,tl);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new I(4012,tl);this.location.detach();const 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.attachEvents.emit(t.instance)}deactivate(){if(this.activated){const 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,tl);this._activatedRoute=t;const o=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new bP(t,a,o.injector);if(r&&function EP(e){return!!e.resolveComponentFactory}(r)){const u=r.resolveComponentFactory(s);this.activated=o.createComponent(u,o.length,l)}else this.activated=o.createComponent(s,{index:o.length,injector:l,environmentInjector:r??this.environmentInjector});this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=B({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Tt]}),e})();class bP{constructor(n,t,r){this.route=n,this.childContexts=t,this.parent=r}get(n,t){return n===Er?this.route:n===Bi?this.childContexts:this.parent.get(n,t)}}let pf=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=At({type:e,selectors:[["ng-component"]],standalone:!0,features:[Ey],decls:1,vars:0,template:function(t,r){1&t&&v(0,"router-outlet")},dependencies:[hf],encapsulation:2}),e})();function LD(e,n){return e.providers&&!e._injector&&(e._injector=ea(e.providers,n,`Route: ${e.path}`)),e._injector??n}function mf(e){const n=e.children&&e.children.map(mf),t=n?{...e,children:n}:{...e};return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==W&&(t.component=pf),t}function Ot(e){return e.outlet||W}function VD(e,n){const t=e.filter(r=>Ot(r)===n);return t.push(...e.filter(r=>Ot(r)!==n)),t}function $i(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){const t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}class TP{constructor(n,t,r,o){this.routeReuseStrategy=n,this.futureState=t,this.currState=r,this.forwardEvent=o}activate(n){const t=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,r,n),cf(this.futureState.root),this.activateChildRoutes(t,r,n)}deactivateChildRoutes(n,t,r){const o=Do(t);n.children.forEach(i=>{const s=i.value.outlet;this.deactivateRoutes(i,o[s],r),delete o[s]}),Ke(o,(i,s)=>{this.deactivateRouteAndItsChildren(i,r)})}deactivateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(o===i)if(o.component){const s=r.getContext(o.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,r);else i&&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){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=Do(n);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);if(r&&r.outlet){const s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=Do(n);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.resolver=null,r.route=null)}activateChildRoutes(n,t,r){const o=Do(t);n.children.forEach(i=>{this.activateRoutes(i,o[i.value.outlet],r),this.forwardEvent(new dP(i.value.snapshot))}),n.children.length&&this.forwardEvent(new uP(n.value.snapshot))}activateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(cf(o),o===i)if(o.component){const s=r.getOrCreateContext(o.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,r);else if(o.component){const s=r.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const a=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.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),cf(a.route.value),this.activateChildRoutes(n,null,s.children)}else{const a=$i(o.snapshot),l=a?.get(ti)??null;s.attachRef=null,s.route=o,s.resolver=l,s.injector=a,s.outlet&&s.outlet.activateWith(o,s.injector),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,r)}}class UD{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class nl{constructor(n,t){this.component=n,this.route=t}}function xP(e,n,t){const r=e._root;return Gi(r,n?n._root:null,t,[r.value])}function wo(e,n){const t=Symbol(),r=n.get(e,t);return r===t?"function"!=typeof e||function ub(e){return null!==rs(e)}(e)?n.get(e):e:r}function Gi(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=Do(n);return e.children.forEach(s=>{(function NP(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&i.routeConfig===s.routeConfig){const l=function FP(e,n,t){if("function"==typeof t)return t(e,n);switch(t){case"pathParamsChange":return!wr(e.url,n.url);case"pathParamsOrQueryParamsChange":return!wr(e.url,n.url)||!hn(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!df(e,n)||!hn(e.queryParams,n.queryParams);default:return!df(e,n)}}(s,i,i.routeConfig.runGuardsAndResolvers);l?o.canActivateChecks.push(new UD(r)):(i.data=s.data,i._resolvedData=s._resolvedData),Gi(e,n,i.component?a?a.children:null:t,r,o),l&&a&&a.outlet&&a.outlet.isActivated&&o.canDeactivateChecks.push(new nl(a.outlet.component,s))}else s&&zi(n,a,o),o.canActivateChecks.push(new UD(r)),Gi(e,null,i.component?a?a.children:null:t,r,o)})(s,i[s.value.outlet],t,r.concat([s.value]),o),delete i[s.value.outlet]}),Ke(i,(s,a)=>zi(s,t.getContext(a),o)),o}function zi(e,n,t){const r=Do(e),o=e.value;Ke(r,(i,s)=>{zi(i,o.component?n?n.children.getContext(s):null:n,t)}),t.canDeactivateChecks.push(new nl(o.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,o))}function qi(e){return"function"==typeof e}function yf(e){return e instanceof $a||"EmptyError"===e?.name}const rl=Symbol("INITIAL_VALUE");function bo(){return fn(e=>eD(e.map(n=>n.pipe(ir(1),function SF(...e){const n=xo(e);return Be((t,r)=>{(n?Wd(e,t,n):Wd(e,t)).subscribe(r)})}(rl)))).pipe(K(n=>{for(const t of n)if(!0!==t){if(t===rl)return rl;if(!1===t||t instanceof Xn)return t}return!0}),Yt(n=>n!==rl),ir(1)))}function HD(e){return function Aw(...e){return Ff(e)}(nt(n=>{if(br(n))throw FD(0,n)}),K(n=>!0===n))}const vf={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function jD(e,n,t,r,o){const i=_f(e,n,t);return i.matched?function ZP(e,n,t,r){const o=n.canMatch;return o&&0!==o.length?O(o.map(s=>{const a=wo(s,e);return Qn(function UP(e){return e&&qi(e.canMatch)}(a)?a.canMatch(n,t):e.runInContext(()=>a(n,t)))})).pipe(bo(),HD()):O(!0)}(r=LD(n,r),n,t).pipe(K(s=>!0===s?i:{...vf})):O(i)}function _f(e,n,t){if(""===n.path)return"full"===n.pathMatch&&(e.hasChildren()||t.length>0)?{...vf}:{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};const o=(n.matcher||RF)(t,e,n);if(!o)return{...vf};const i={};Ke(o.posParams,(a,l)=>{i[l]=a.path});const s=o.consumed.length>0?{...i,...o.consumed[o.consumed.length-1].parameters}:i;return{matched:!0,consumedSegments:o.consumed,remainingSegments:t.slice(o.consumed.length),parameters:s,positionalParamSegments:o.posParams??{}}}function ol(e,n,t,r){if(t.length>0&&function JP(e,n,t){return t.some(r=>il(e,n,r)&&Ot(r)!==W)}(e,t,r)){const i=new J(n,function XP(e,n,t,r){const o={};o[W]=r,r._sourceSegment=e,r._segmentIndexShift=n.length;for(const i of t)if(""===i.path&&Ot(i)!==W){const s=new J([],{});s._sourceSegment=e,s._segmentIndexShift=n.length,o[Ot(i)]=s}return o}(e,n,r,new J(t,e.children)));return i._sourceSegment=e,i._segmentIndexShift=n.length,{segmentGroup:i,slicedSegments:[]}}if(0===t.length&&function eO(e,n,t){return t.some(r=>il(e,n,r))}(e,t,r)){const i=new J(e.segments,function QP(e,n,t,r,o){const i={};for(const s of r)if(il(e,t,s)&&!o[Ot(s)]){const a=new J([],{});a._sourceSegment=e,a._segmentIndexShift=n.length,i[Ot(s)]=a}return{...o,...i}}(e,n,t,r,e.children));return i._sourceSegment=e,i._segmentIndexShift=n.length,{segmentGroup:i,slicedSegments:t}}const o=new J(e.segments,e.children);return o._sourceSegment=e,o._segmentIndexShift=n.length,{segmentGroup:o,slicedSegments:t}}function il(e,n,t){return(!(e.hasChildren()||n.length>0)||"full"!==t.pathMatch)&&""===t.path}function BD(e,n,t,r){return!!(Ot(e)===r||r!==W&&il(n,t,e))&&("**"===e.path||_f(n,e,t).matched)}function $D(e,n,t){return 0===n.length&&!e.children[t]}const sl=!1;class al{constructor(n){this.segmentGroup=n||null}}class GD{constructor(n){this.urlTree=n}}function Wi(e){return Fi(new al(e))}function zD(e){return Fi(new GD(e))}class oO{constructor(n,t,r,o,i){this.injector=n,this.configLoader=t,this.urlSerializer=r,this.urlTree=o,this.config=i,this.allowRedirects=!0}apply(){const n=ol(this.urlTree.root,[],[],this.config).segmentGroup,t=new J(n.segments,n.children);return this.expandSegmentGroup(this.injector,this.config,t,W).pipe(K(i=>this.createUrlTree(Qa(i),this.urlTree.queryParams,this.urlTree.fragment))).pipe(Zn(i=>{if(i instanceof GD)return this.allowRedirects=!1,this.match(i.urlTree);throw i instanceof al?this.noMatchError(i):i}))}match(n){return this.expandSegmentGroup(this.injector,this.config,n.root,W).pipe(K(o=>this.createUrlTree(Qa(o),n.queryParams,n.fragment))).pipe(Zn(o=>{throw o instanceof al?this.noMatchError(o):o}))}noMatchError(n){return new I(4002,sl)}createUrlTree(n,t,r){const o=Jd(n);return new Xn(o,t,r)}expandSegmentGroup(n,t,r,o){return 0===r.segments.length&&r.hasChildren()?this.expandChildren(n,t,r).pipe(K(i=>new J([],i))):this.expandSegment(n,r,t,r.segments,o,!0)}expandChildren(n,t,r){const o=[];for(const i of Object.keys(r.children))"primary"===i?o.unshift(i):o.push(i);return Me(o).pipe(Gn(i=>{const s=r.children[i],a=VD(t,i);return this.expandSegmentGroup(n,a,s,i).pipe(K(l=>({segment:l,outlet:i})))}),iD((i,s)=>(i[s.outlet]=s.segment,i),{}),sD())}expandSegment(n,t,r,o,i,s){return Me(r).pipe(Gn(a=>this.expandSegmentAgainstRoute(n,t,r,a,o,i,s).pipe(Zn(u=>{if(u instanceof al)return O(null);throw u}))),Yn(a=>!!a),Zn((a,l)=>{if(yf(a))return $D(t,o,i)?O(new J([],{})):Wi(t);throw a}))}expandSegmentAgainstRoute(n,t,r,o,i,s,a){return BD(o,t,i,s)?void 0===o.redirectTo?this.matchSegmentAgainstRoute(n,t,o,i,s):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s):Wi(t):Wi(t)}expandSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s){return"**"===o.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(n,r,o,s):this.expandRegularSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(n,t,r,o){const i=this.applyRedirectCommands([],r.redirectTo,{});return r.redirectTo.startsWith("/")?zD(i):this.lineralizeSegments(r,i).pipe($e(s=>{const a=new J(s,{});return this.expandSegment(n,a,t,s,o,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s){const{matched:a,consumedSegments:l,remainingSegments:u,positionalParamSegments:c}=_f(t,o,i);if(!a)return Wi(t);const d=this.applyRedirectCommands(l,o.redirectTo,c);return o.redirectTo.startsWith("/")?zD(d):this.lineralizeSegments(o,d).pipe($e(g=>this.expandSegment(n,t,r,g.concat(u),s,!1)))}matchSegmentAgainstRoute(n,t,r,o,i){return"**"===r.path?(n=LD(r,n),r.loadChildren?(r._loadedRoutes?O({routes:r._loadedRoutes,injector:r._loadedInjector}):this.configLoader.loadChildren(n,r)).pipe(K(a=>(r._loadedRoutes=a.routes,r._loadedInjector=a.injector,new J(o,{})))):O(new J(o,{}))):jD(t,r,o,n).pipe(fn(({matched:s,consumedSegments:a,remainingSegments:l})=>s?this.getChildConfig(n=r._injector??n,r,o).pipe($e(c=>{const d=c.injector??n,g=c.routes,{segmentGroup:m,slicedSegments:y}=ol(t,a,l,g),_=new J(m.segments,m.children);if(0===y.length&&_.hasChildren())return this.expandChildren(d,g,_).pipe(K(w=>new J(a,w)));if(0===g.length&&0===y.length)return O(new J(a,{}));const D=Ot(r)===i;return this.expandSegment(d,_,g,y,D?W:i,!0).pipe(K(A=>new J(a.concat(A.segments),A.children)))})):Wi(t)))}getChildConfig(n,t,r){return t.children?O({routes:t.children,injector:n}):t.loadChildren?void 0!==t._loadedRoutes?O({routes:t._loadedRoutes,injector:t._loadedInjector}):function YP(e,n,t,r){const o=n.canLoad;return void 0===o||0===o.length?O(!0):O(o.map(s=>{const a=wo(s,e);return Qn(function OP(e){return e&&qi(e.canLoad)}(a)?a.canLoad(n,t):e.runInContext(()=>a(n,t)))})).pipe(bo(),HD())}(n,t,r).pipe($e(o=>o?this.configLoader.loadChildren(n,t).pipe(nt(i=>{t._loadedRoutes=i.routes,t._loadedInjector=i.injector})):function nO(e){return Fi(PD(sl,3))}())):O({routes:[],injector:n})}lineralizeSegments(n,t){let r=[],o=t.root;for(;;){if(r=r.concat(o.segments),0===o.numberOfChildren)return O(r);if(o.numberOfChildren>1||!o.children[W])return n.redirectTo,Fi(new I(4e3,sl));o=o.children[W]}}applyRedirectCommands(n,t,r){return this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),n,r)}applyRedirectCreateUrlTree(n,t,r,o){const i=this.createSegmentGroup(n,t.root,r,o);return new Xn(i,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){const r={};return Ke(n,(o,i)=>{if("string"==typeof o&&o.startsWith(":")){const a=o.substring(1);r[i]=t[a]}else r[i]=o}),r}createSegmentGroup(n,t,r,o){const i=this.createSegments(n,t.segments,r,o);let s={};return Ke(t.children,(a,l)=>{s[l]=this.createSegmentGroup(n,a,r,o)}),new J(i,s)}createSegments(n,t,r,o){return t.map(i=>i.path.startsWith(":")?this.findPosParam(n,i,o):this.findOrReturn(i,r))}findPosParam(n,t,r){const o=r[t.path.substring(1)];if(!o)throw new I(4001,sl);return o}findOrReturn(n,t){let r=0;for(const o of t){if(o.path===n.path)return t.splice(r),o;r++}return n}}class sO{}class uO{constructor(n,t,r,o,i,s,a){this.injector=n,this.rootComponentType=t,this.config=r,this.urlTree=o,this.url=i,this.paramsInheritanceStrategy=s,this.urlSerializer=a}recognize(){const n=ol(this.urlTree.root,[],[],this.config.filter(t=>void 0===t.redirectTo)).segmentGroup;return this.processSegmentGroup(this.injector,this.config,n,W).pipe(K(t=>{if(null===t)return null;const r=new el([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},W,this.rootComponentType,null,this.urlTree.root,-1,{}),o=new Ln(r,t),i=new RD(this.url,o);return this.inheritParamsAndData(i._root),i}))}inheritParamsAndData(n){const t=n.value,r=xD(t,this.paramsInheritanceStrategy);t.params=Object.freeze(r.params),t.data=Object.freeze(r.data),n.children.forEach(o=>this.inheritParamsAndData(o))}processSegmentGroup(n,t,r,o){return 0===r.segments.length&&r.hasChildren()?this.processChildren(n,t,r):this.processSegment(n,t,r,r.segments,o)}processChildren(n,t,r){return Me(Object.keys(r.children)).pipe(Gn(o=>{const i=r.children[o],s=VD(t,o);return this.processSegmentGroup(n,s,i,o)}),iD((o,i)=>o&&i?(o.push(...i),o):null),function AF(e,n=!1){return Be((t,r)=>{let o=0;t.subscribe(Le(r,i=>{const s=e(i,o++);(s||n)&&r.next(i),!s&&r.complete()}))})}(o=>null!==o),Ga(null),sD(),K(o=>{if(null===o)return null;const i=WD(o);return function cO(e){e.sort((n,t)=>n.value.outlet===W?-1:t.value.outlet===W?1:n.value.outlet.localeCompare(t.value.outlet))}(i),i}))}processSegment(n,t,r,o,i){return Me(t).pipe(Gn(s=>this.processSegmentAgainstRoute(s._injector??n,s,r,o,i)),Yn(s=>!!s),Zn(s=>{if(yf(s))return $D(r,o,i)?O([]):O(null);throw s}))}processSegmentAgainstRoute(n,t,r,o,i){if(t.redirectTo||!BD(t,r,o,i))return O(null);let s;if("**"===t.path){const a=o.length>0?uD(o).parameters:{},l=YD(r)+o.length;s=O({snapshot:new el(o,a,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,ZD(t),Ot(t),t.component??t._loadedComponent??null,t,KD(r),l,QD(t)),consumedSegments:[],remainingSegments:[]})}else s=jD(r,t,o,n).pipe(K(({matched:a,consumedSegments:l,remainingSegments:u,parameters:c})=>{if(!a)return null;const d=YD(r)+l.length;return{snapshot:new el(l,c,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,ZD(t),Ot(t),t.component??t._loadedComponent??null,t,KD(r),d,QD(t)),consumedSegments:l,remainingSegments:u}}));return s.pipe(fn(a=>{if(null===a)return O(null);const{snapshot:l,consumedSegments:u,remainingSegments:c}=a;n=t._injector??n;const d=t._loadedInjector??n,g=function dO(e){return e.children?e.children:e.loadChildren?e._loadedRoutes:[]}(t),{segmentGroup:m,slicedSegments:y}=ol(r,u,c,g.filter(D=>void 0===D.redirectTo));if(0===y.length&&m.hasChildren())return this.processChildren(d,g,m).pipe(K(D=>null===D?null:[new Ln(l,D)]));if(0===g.length&&0===y.length)return O([new Ln(l,[])]);const _=Ot(t)===i;return this.processSegment(d,g,m,y,_?W:i).pipe(K(D=>null===D?null:[new Ln(l,D)]))}))}}function fO(e){const n=e.value.routeConfig;return n&&""===n.path&&void 0===n.redirectTo}function WD(e){const n=[],t=new Set;for(const r of e){if(!fO(r)){n.push(r);continue}const o=n.find(i=>r.value.routeConfig===i.value.routeConfig);void 0!==o?(o.children.push(...r.children),t.add(o)):n.push(r)}for(const r of t){const o=WD(r.children);n.push(new Ln(r.value,o))}return n.filter(r=>!t.has(r))}function KD(e){let n=e;for(;n._sourceSegment;)n=n._sourceSegment;return n}function YD(e){let n=e,t=n._segmentIndexShift??0;for(;n._sourceSegment;)n=n._sourceSegment,t+=n._segmentIndexShift??0;return t-1}function ZD(e){return e.data||{}}function QD(e){return e.resolve||{}}function XD(e){return"string"==typeof e.title||null===e.title}function Cf(e){return fn(n=>{const t=e(n);return t?Me(t).pipe(K(()=>n)):O(n)})}const Eo=new R("ROUTES");let Df=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=Q(fv)}loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return O(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);const r=Qn(t.loadComponent()).pipe(K(ew),nt(i=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=i}),Zd(()=>{this.componentLoaders.delete(t)})),o=new rD(r,()=>new mn).pipe(Kd());return this.componentLoaders.set(t,o),o}loadChildren(t,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return O({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);const i=this.loadModuleFactoryOrRoutes(r.loadChildren).pipe(K(a=>{this.onLoadEndListener&&this.onLoadEndListener(r);let l,u,c=!1;Array.isArray(a)?u=a:(l=a.create(t).injector,u=lD(l.get(Eo,[],U.Self|U.Optional)));return{routes:u.map(mf),injector:l}}),Zd(()=>{this.childrenLoaders.delete(r)})),s=new rD(i,()=>new mn).pipe(Kd());return this.childrenLoaders.set(r,s),s}loadModuleFactoryOrRoutes(t){return Qn(t()).pipe(K(ew),$e(r=>r instanceof wy||Array.isArray(r)?O(r):Me(this.compiler.compileModuleAsync(r))))}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function ew(e){return function CO(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let ul=(()=>{class e{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.lastSuccessfulNavigation=null,this.events=new mn,this.configLoader=Q(Df),this.environmentInjector=Q(on),this.urlSerializer=Q(ki),this.rootContexts=Q(Bi),this.navigationId=0,this.afterPreactivation=()=>O(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=o=>this.events.next(new aP(o)),this.configLoader.onLoadStartListener=o=>this.events.next(new sP(o))}complete(){this.transitions?.complete()}handleNavigationRequest(t){const r=++this.navigationId;this.transitions?.next({...this.transitions.value,...t,id:r})}setupNavigations(t){return this.transitions=new Zt({id:0,targetPageId:0,currentUrlTree:t.currentUrlTree,currentRawUrl:t.currentUrlTree,extractedUrl:t.urlHandlingStrategy.extract(t.currentUrlTree),urlAfterRedirects:t.urlHandlingStrategy.extract(t.currentUrlTree),rawUrl:t.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:Hi,restoredState:null,currentSnapshot:t.routerState.snapshot,targetSnapshot:null,currentRouterState:t.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(Yt(r=>0!==r.id),K(r=>({...r,extractedUrl:t.urlHandlingStrategy.extract(r.rawUrl)})),fn(r=>{let o=!1,i=!1;return O(r).pipe(nt(s=>{this.currentNavigation={id:s.id,initialUrl:s.rawUrl,extractedUrl:s.extractedUrl,trigger:s.source,extras:s.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),fn(s=>{const a=t.browserUrlTree.toString(),l=!t.navigated||s.extractedUrl.toString()!==a||a!==t.currentUrlTree.toString();if(!l&&"reload"!==(s.extras.onSameUrlNavigation??t.onSameUrlNavigation)){const c="";return this.events.next(new Ja(s.id,t.serializeUrl(r.rawUrl),c,0)),t.rawUrlTree=s.rawUrl,s.resolve(null),Xt}if(t.urlHandlingStrategy.shouldProcessUrl(s.rawUrl))return tw(s.source)&&(t.browserUrlTree=s.extractedUrl),O(s).pipe(fn(c=>{const d=this.transitions?.getValue();return this.events.next(new rf(c.id,this.urlSerializer.serialize(c.extractedUrl),c.source,c.restoredState)),d!==this.transitions?.getValue()?Xt:Promise.resolve(c)}),function iO(e,n,t,r){return fn(o=>function rO(e,n,t,r,o){return new oO(e,n,t,r,o).apply()}(e,n,t,o.extractedUrl,r).pipe(K(i=>({...o,urlAfterRedirects:i}))))}(this.environmentInjector,this.configLoader,this.urlSerializer,t.config),nt(c=>{this.currentNavigation={...this.currentNavigation,finalUrl:c.urlAfterRedirects},r.urlAfterRedirects=c.urlAfterRedirects}),function pO(e,n,t,r,o){return $e(i=>function lO(e,n,t,r,o,i,s="emptyOnly"){return new uO(e,n,t,r,o,s,i).recognize().pipe(fn(a=>null===a?function aO(e){return new Se(n=>n.error(e))}(new sO):O(a)))}(e,n,t,i.urlAfterRedirects,r.serialize(i.urlAfterRedirects),r,o).pipe(K(s=>({...i,targetSnapshot:s}))))}(this.environmentInjector,this.rootComponentType,t.config,this.urlSerializer,t.paramsInheritanceStrategy),nt(c=>{if(r.targetSnapshot=c.targetSnapshot,"eager"===t.urlUpdateStrategy){if(!c.extras.skipLocationChange){const g=t.urlHandlingStrategy.merge(c.urlAfterRedirects,c.rawUrl);t.setBrowserUrl(g,c)}t.browserUrlTree=c.urlAfterRedirects}const d=new tP(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(d)}));if(l&&t.urlHandlingStrategy.shouldProcessUrl(t.rawUrlTree)){const{id:c,extractedUrl:d,source:g,restoredState:m,extras:y}=s,_=new rf(c,this.urlSerializer.serialize(d),g,m);this.events.next(_);const D=TD(d,this.rootComponentType).snapshot;return O(r={...s,targetSnapshot:D,urlAfterRedirects:d,extras:{...y,skipLocationChange:!1,replaceUrl:!1}})}{const c="";return this.events.next(new Ja(s.id,t.serializeUrl(r.extractedUrl),c,1)),t.rawUrlTree=s.rawUrl,s.resolve(null),Xt}}),nt(s=>{const a=new nP(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(a)}),K(s=>r={...s,guards:xP(s.targetSnapshot,s.currentSnapshot,this.rootContexts)}),function jP(e,n){return $e(t=>{const{targetSnapshot:r,currentSnapshot:o,guards:{canActivateChecks:i,canDeactivateChecks:s}}=t;return 0===s.length&&0===i.length?O({...t,guardsResult:!0}):function BP(e,n,t,r){return Me(e).pipe($e(o=>function KP(e,n,t,r,o){const i=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return i&&0!==i.length?O(i.map(a=>{const l=$i(n)??o,u=wo(a,l);return Qn(function VP(e){return e&&qi(e.canDeactivate)}(u)?u.canDeactivate(e,n,t,r):l.runInContext(()=>u(e,n,t,r))).pipe(Yn())})).pipe(bo()):O(!0)}(o.component,o.route,t,n,r)),Yn(o=>!0!==o,!0))}(s,r,o,e).pipe($e(a=>a&&function PP(e){return"boolean"==typeof e}(a)?function $P(e,n,t,r){return Me(n).pipe(Gn(o=>Wd(function zP(e,n){return null!==e&&n&&n(new lP(e)),O(!0)}(o.route.parent,r),function GP(e,n){return null!==e&&n&&n(new cP(e)),O(!0)}(o.route,r),function WP(e,n,t){const r=n[n.length-1],i=n.slice(0,n.length-1).reverse().map(s=>function RP(e){const n=e.routeConfig?e.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:e,guards:n}:null}(s)).filter(s=>null!==s).map(s=>nD(()=>O(s.guards.map(l=>{const u=$i(s.node)??t,c=wo(l,u);return Qn(function LP(e){return e&&qi(e.canActivateChild)}(c)?c.canActivateChild(r,e):u.runInContext(()=>c(r,e))).pipe(Yn())})).pipe(bo())));return O(i).pipe(bo())}(e,o.path,t),function qP(e,n,t){const r=n.routeConfig?n.routeConfig.canActivate:null;if(!r||0===r.length)return O(!0);const o=r.map(i=>nD(()=>{const s=$i(n)??t,a=wo(i,s);return Qn(function kP(e){return e&&qi(e.canActivate)}(a)?a.canActivate(n,e):s.runInContext(()=>a(n,e))).pipe(Yn())}));return O(o).pipe(bo())}(e,o.route,t))),Yn(o=>!0!==o,!0))}(r,i,e,n):O(a)),K(a=>({...t,guardsResult:a})))})}(this.environmentInjector,s=>this.events.next(s)),nt(s=>{if(r.guardsResult=s.guardsResult,br(s.guardsResult))throw FD(0,s.guardsResult);const a=new rP(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot,!!s.guardsResult);this.events.next(a)}),Yt(s=>!!s.guardsResult||(t.restoreHistory(s),this.cancelNavigationTransition(s,"",3),!1)),Cf(s=>{if(s.guards.canActivateChecks.length)return O(s).pipe(nt(a=>{const l=new oP(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(l)}),fn(a=>{let l=!1;return O(a).pipe(function gO(e,n){return $e(t=>{const{targetSnapshot:r,guards:{canActivateChecks:o}}=t;if(!o.length)return O(t);let i=0;return Me(o).pipe(Gn(s=>function mO(e,n,t,r){const o=e.routeConfig,i=e._resolve;return void 0!==o?.title&&!XD(o)&&(i[Pi]=o.title),function yO(e,n,t,r){const o=function vO(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===o.length)return O({});const i={};return Me(o).pipe($e(s=>function _O(e,n,t,r){const o=$i(n)??r,i=wo(e,o);return Qn(i.resolve?i.resolve(n,t):o.runInContext(()=>i(n,t)))}(e[s],n,t,r).pipe(Yn(),nt(a=>{i[s]=a}))),Yd(1),function TF(e){return K(()=>e)}(i),Zn(s=>yf(s)?Xt:Fi(s)))}(i,e,n,r).pipe(K(s=>(e._resolvedData=s,e.data=xD(e,t).resolve,o&&XD(o)&&(e.data[Pi]=o.title),null)))}(s.route,r,e,n)),nt(()=>i++),Yd(1),$e(s=>i===o.length?O(t):Xt))})}(t.paramsInheritanceStrategy,this.environmentInjector),nt({next:()=>l=!0,complete:()=>{l||(t.restoreHistory(a),this.cancelNavigationTransition(a,"",2))}}))}),nt(a=>{const l=new iP(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(l)}))}),Cf(s=>{const a=l=>{const u=[];l.routeConfig?.loadComponent&&!l.routeConfig._loadedComponent&&u.push(this.configLoader.loadComponent(l.routeConfig).pipe(nt(c=>{l.component=c}),K(()=>{})));for(const c of l.children)u.push(...a(c));return u};return eD(a(s.targetSnapshot.root)).pipe(Ga(),ir(1))}),Cf(()=>this.afterPreactivation()),K(s=>{const a=function _P(e,n,t){const r=ji(e,n._root,t?t._root:void 0);return new AD(r,n)}(t.routeReuseStrategy,s.targetSnapshot,s.currentRouterState);return r={...s,targetRouterState:a}}),nt(s=>{t.currentUrlTree=s.urlAfterRedirects,t.rawUrlTree=t.urlHandlingStrategy.merge(s.urlAfterRedirects,s.rawUrl),t.routerState=s.targetRouterState,"deferred"===t.urlUpdateStrategy&&(s.extras.skipLocationChange||t.setBrowserUrl(t.rawUrlTree,s),t.browserUrlTree=s.urlAfterRedirects)}),((e,n,t)=>K(r=>(new TP(n,r.targetRouterState,r.currentRouterState,t).activate(e),r)))(this.rootContexts,t.routeReuseStrategy,s=>this.events.next(s)),ir(1),nt({next:s=>{o=!0,this.lastSuccessfulNavigation=this.currentNavigation,t.navigated=!0,this.events.next(new Jn(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(t.currentUrlTree))),t.titleStrategy?.updateTitle(s.targetRouterState.snapshot),s.resolve(!0)},complete:()=>{o=!0}}),Zd(()=>{o||i||this.cancelNavigationTransition(r,"",1),this.currentNavigation?.id===r.id&&(this.currentNavigation=null)}),Zn(s=>{if(i=!0,kD(s)){OD(s)||(t.navigated=!0,t.restoreHistory(r,!0));const a=new Xa(r.id,this.urlSerializer.serialize(r.extractedUrl),s.message,s.cancellationCode);if(this.events.next(a),OD(s)){const l=t.urlHandlingStrategy.merge(s.url,t.rawUrlTree),u={skipLocationChange:r.extras.skipLocationChange,replaceUrl:"eager"===t.urlUpdateStrategy||tw(r.source)};t.scheduleNavigation(l,Hi,null,u,{resolve:r.resolve,reject:r.reject,promise:r.promise})}else r.resolve(!1)}else{t.restoreHistory(r,!0);const a=new sf(r.id,this.urlSerializer.serialize(r.extractedUrl),s,r.targetSnapshot??void 0);this.events.next(a);try{r.resolve(t.errorHandler(s))}catch(l){r.reject(l)}}return Xt}))}))}cancelNavigationTransition(t,r,o){const i=new Xa(t.id,this.urlSerializer.serialize(t.extractedUrl),r,o);this.events.next(i),t.resolve(!1)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function tw(e){return e!==Hi}let nw=(()=>{class e{buildTitle(t){let r,o=t.root;for(;void 0!==o;)r=this.getResolvedTitleForRoute(o)??r,o=o.children.find(i=>i.outlet===W);return r}getResolvedTitleForRoute(t){return t.data[Pi]}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:function(){return Q(DO)},providedIn:"root"}),e})(),DO=(()=>{class e extends nw{constructor(t){super(),this.title=t}updateTitle(t){const r=this.buildTitle(t);void 0!==r&&this.title.setTitle(r)}}return e.\u0275fac=function(t){return new(t||e)(N(N_))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),wO=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:function(){return Q(EO)},providedIn:"root"}),e})();class bO{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}}let EO=(()=>{class e extends bO{}return e.\u0275fac=function(){let n;return function(r){return(n||(n=We(e)))(r||e)}}(),e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const cl=new R("",{providedIn:"root",factory:()=>({})});let MO=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:function(){return Q(IO)},providedIn:"root"}),e})(),IO=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,r){return t}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function AO(e){throw e}function TO(e,n,t){return n.parse("/")}const xO={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},RO={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let pt=(()=>{class e{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return this.location.getState()?.\u0275routerPageId}get events(){return this.navigationTransitions.events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=Q(VA),this.isNgZoneEnabled=!1,this.options=Q(cl,{optional:!0})||{},this.errorHandler=this.options.errorHandler||AO,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||TO,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=Q(MO),this.routeReuseStrategy=Q(wO),this.urlCreationStrategy=Q(mP),this.titleStrategy=Q(nw),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=lD(Q(Eo,{optional:!0})??[]),this.navigationTransitions=Q(ul),this.urlSerializer=Q(ki),this.location=Q(Wc),this.isNgZoneEnabled=Q(Ae)instanceof Ae&&Ae.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new Xn,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=TD(this.currentUrlTree,null),this.navigationTransitions.setupNavigations(this).subscribe(t=>{this.lastSuccessfulId=t.id,this.currentPageId=t.targetPageId},t=>{this.console.warn(`Unhandled Navigation Error: ${t}`)})}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const t=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),Hi,t)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const r="popstate"===t.type?"popstate":"hashchange";"popstate"===r&&setTimeout(()=>{this.navigateToSyncWithBrowser(t.url,r,t.state)},0)}))}navigateToSyncWithBrowser(t,r,o){const i={replaceUrl:!0},s=o?.navigationId?o:null;if(o){const l={...o};delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(i.state=l)}const a=this.parseUrl(t);this.scheduleNavigation(a,r,s,i)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}resetConfig(t){this.config=t.map(mf),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(t,r={}){const{relativeTo:o,queryParams:i,fragment:s,queryParamsHandling:a,preserveFragment:l}=r,u=l?this.currentUrlTree.fragment:s;let c=null;switch(a){case"merge":c={...this.currentUrlTree.queryParams,...i};break;case"preserve":c=this.currentUrlTree.queryParams;break;default:c=i||null}return null!==c&&(c=this.removeEmptyProps(c)),this.urlCreationStrategy.createUrlTree(o,this.routerState,this.currentUrlTree,t,c,u??null)}navigateByUrl(t,r={skipLocationChange:!1}){const o=br(t)?t:this.parseUrl(t),i=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(i,Hi,null,r)}navigate(t,r={skipLocationChange:!1}){return function NO(e){for(let n=0;n{const i=t[o];return null!=i&&(r[o]=i),r},{})}scheduleNavigation(t,r,o,i,s){if(this.disposed)return Promise.resolve(!1);let a,l,u,c;return s?(a=s.resolve,l=s.reject,u=s.promise):u=new Promise((d,g)=>{a=d,l=g}),c="computed"===this.canceledNavigationResolution?o&&o.\u0275routerPageId?o.\u0275routerPageId:i.replaceUrl||i.skipLocationChange?this.browserPageId??0:(this.browserPageId??0)+1:0,this.navigationTransitions.handleNavigationRequest({targetPageId:c,source:r,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:t,extras:i,resolve:a,reject:l,promise:u,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),u.catch(d=>Promise.reject(d))}setBrowserUrl(t,r){const o=this.urlSerializer.serialize(t),i={...r.extras.state,...this.generateNgRouterState(r.id,r.targetPageId)};this.location.isCurrentPathEqualTo(o)||r.extras.replaceUrl?this.location.replaceState(o,"",i):this.location.go(o,"",i)}restoreHistory(t,r=!1){if("computed"===this.canceledNavigationResolution){const o=this.currentPageId-t.targetPageId;"popstate"!==t.source&&"eager"!==this.urlUpdateStrategy&&this.currentUrlTree!==this.getCurrentNavigation()?.finalUrl||0===o?this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===o&&(this.resetState(t),this.browserUrlTree=t.currentUrlTree,this.resetUrlToCurrentUrlTree()):this.location.historyGo(o)}else"replace"===this.canceledNavigationResolution&&(r&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=t.currentRouterState,this.currentUrlTree=t.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,r){return"computed"===this.canceledNavigationResolution?{navigationId:t,\u0275routerPageId:r}:{navigationId:t}}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),gn=(()=>{class e{constructor(t,r,o,i,s,a){this.router=t,this.route=r,this.tabIndexAttribute=o,this.renderer=i,this.el=s,this.locationStrategy=a,this._preserveFragment=!1,this._skipLocationChange=!1,this._replaceUrl=!1,this.href=null,this.commands=null,this.onChanges=new mn;const l=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===l||"area"===l,this.isAnchorElement?this.subscription=t.events.subscribe(u=>{u instanceof Jn&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}set preserveFragment(t){this._preserveFragment=ho(t)}get preserveFragment(){return this._preserveFragment}set skipLocationChange(t){this._skipLocationChange=ho(t)}get skipLocationChange(){return this._skipLocationChange}set replaceUrl(t){this._replaceUrl=ho(t)}get replaceUrl(){return this._replaceUrl}setTabIndexIfNotOnNativeEl(t){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",t)}ngOnChanges(t){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(t){null!=t?(this.commands=Array.isArray(t)?t:[t],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(t,r,o,i,s){return!!(null===this.urlTree||this.isAnchorElement&&(0!==t||r||o||i||s||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(this.urlTree,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){this.href=null!==this.urlTree&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(this.urlTree)):null;const t=null===this.href?null:function qp(e,n,t){return function U0(e,n){return"src"===n&&("embed"===e||"frame"===e||"iframe"===e||"media"===e||"script"===e)||"href"===n&&("base"===e||"link"===e)?zp:Gr}(n,t)(e)}(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",t)}applyAttributeValue(t,r){const o=this.renderer,i=this.el.nativeElement;null!==r?o.setAttribute(i,t,r):o.removeAttribute(i,t)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}}return e.\u0275fac=function(t){return new(t||e)(M(pt),M(Er),function Es(e){return function uE(e,n){if("class"===n)return e.classes;if("style"===n)return e.styles;const t=e.attrs;if(t){const r=t.length;let o=0;for(;o{class e{get isActive(){return this._isActive}constructor(t,r,o,i,s){this.router=t,this.element=r,this.renderer=o,this.cdr=i,this.link=s,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new Ee,this.routerEventsSubscription=t.events.subscribe(a=>{a instanceof Jn&&this.update()})}ngAfterContentInit(){O(this.links.changes,O(null)).pipe(Sr()).subscribe(t=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const t=[...this.links.toArray(),this.link].filter(r=>!!r).map(r=>r.onChanges);this.linkInputChangesSubscription=Me(t).pipe(Sr()).subscribe(r=>{this._isActive!==this.isLinkActive(this.router)(r)&&this.update()})}set routerLinkActive(t){const r=Array.isArray(t)?t:t.split(" ");this.classes=r.filter(o=>!!o)}ngOnChanges(t){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||Promise.resolve().then(()=>{const t=this.hasActiveLinks();this._isActive!==t&&(this._isActive=t,this.cdr.markForCheck(),this.classes.forEach(r=>{t?this.renderer.addClass(this.element.nativeElement,r):this.renderer.removeClass(this.element.nativeElement,r)}),t&&void 0!==this.ariaCurrentWhenActive?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this.isActiveChange.emit(t))})}isLinkActive(t){const r=function FO(e){return!!e.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return o=>!!o.urlTree&&t.isActive(o.urlTree,r)}hasActiveLinks(){const t=this.isLinkActive(this.router);return this.link&&t(this.link)||this.links.some(t)}}return e.\u0275fac=function(t){return new(t||e)(M(pt),M(Dt),M(Sn),M(ua),M(gn,8))},e.\u0275dir=B({type:e,selectors:[["","routerLinkActive",""]],contentQueries:function(t,r,o){if(1&t&&By(o,gn,5),2&t){let i;jy(i=function $y(){return function mA(e,n){return e[tn].queries[n].queryList}(E(),Th())}())&&(r.links=i)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[Tt]}),e})();class ow{}let PO=(()=>{class e{constructor(t,r,o,i,s){this.router=t,this.injector=o,this.preloadingStrategy=i,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(Yt(t=>t instanceof Jn),Gn(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,r){const o=[];for(const i of r){i.providers&&!i._injector&&(i._injector=ea(i.providers,t,`Route: ${i.path}`));const s=i._injector??t,a=i._loadedInjector??s;(i.loadChildren&&!i._loadedRoutes&&void 0===i.canLoad||i.loadComponent&&!i._loadedComponent)&&o.push(this.preloadConfig(s,i)),(i.children||i._loadedRoutes)&&o.push(this.processRoutes(a,i.children??i._loadedRoutes))}return Me(o).pipe(Sr())}preloadConfig(t,r){return this.preloadingStrategy.preload(r,()=>{let o;o=r.loadChildren&&void 0===r.canLoad?this.loader.loadChildren(t,r):O(null);const i=o.pipe($e(s=>null===s?O(void 0):(r._loadedRoutes=s.routes,r._loadedInjector=s.injector,this.processRoutes(s.injector??t,s.routes))));return r.loadComponent&&!r._loadedComponent?Me([i,this.loader.loadComponent(r)]).pipe(Sr()):i})}}return e.\u0275fac=function(t){return new(t||e)(N(pt),N(fv),N(on),N(ow),N(Df))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const bf=new R("");let iw=(()=>{class e{constructor(t,r,o,i,s={}){this.urlSerializer=t,this.transitions=r,this.viewportScroller=o,this.zone=i,this.options=s,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},s.scrollPositionRestoration=s.scrollPositionRestoration||"disabled",s.anchorScrolling=s.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof rf?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof Jn&&(this.lastId=t.id,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof MD&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,r){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new MD(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,r))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}}return e.\u0275fac=function(t){!function bg(){throw new Error("invalid")}()},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();var bt=(()=>((bt=bt||{})[bt.COMPLETE=0]="COMPLETE",bt[bt.FAILED=1]="FAILED",bt[bt.REDIRECTING=2]="REDIRECTING",bt))();const So=!1;function er(e,n){return{\u0275kind:e,\u0275providers:n}}const Ef=new R("",{providedIn:"root",factory:()=>!1});function aw(){const e=Q(sn);return n=>{const t=e.get(aa);if(n!==t.components[0])return;const r=e.get(pt),o=e.get(lw);1===e.get(Sf)&&r.initialNavigation(),e.get(uw,null,U.Optional)?.setUpPreloading(),e.get(bf,null,U.Optional)?.init(),r.resetRootComponentType(t.componentTypes[0]),o.closed||(o.next(),o.complete(),o.unsubscribe())}}const lw=new R(So?"bootstrap done indicator":"",{factory:()=>new mn}),Sf=new R(So?"initial navigation":"",{providedIn:"root",factory:()=>1});function UO(){let e=[];return e=So?[{provide:Os,multi:!0,useFactory:()=>{const n=Q(pt);return()=>n.events.subscribe(t=>{console.group?.(`Router Event: ${t.constructor.name}`),console.log(function fP(e){if(!("type"in e))return`Unknown Router Event: ${e.constructor.name}`;switch(e.type){case 14:return`ActivationEnd(path: '${e.snapshot.routeConfig?.path||""}')`;case 13:return`ActivationStart(path: '${e.snapshot.routeConfig?.path||""}')`;case 12:return`ChildActivationEnd(path: '${e.snapshot.routeConfig?.path||""}')`;case 11:return`ChildActivationStart(path: '${e.snapshot.routeConfig?.path||""}')`;case 8:return`GuardsCheckEnd(id: ${e.id}, url: '${e.url}', urlAfterRedirects: '${e.urlAfterRedirects}', state: ${e.state}, shouldActivate: ${e.shouldActivate})`;case 7:return`GuardsCheckStart(id: ${e.id}, url: '${e.url}', urlAfterRedirects: '${e.urlAfterRedirects}', state: ${e.state})`;case 2:return`NavigationCancel(id: ${e.id}, url: '${e.url}')`;case 16:return`NavigationSkipped(id: ${e.id}, url: '${e.url}')`;case 1:return`NavigationEnd(id: ${e.id}, url: '${e.url}', urlAfterRedirects: '${e.urlAfterRedirects}')`;case 3:return`NavigationError(id: ${e.id}, url: '${e.url}', error: ${e.error})`;case 0:return`NavigationStart(id: ${e.id}, url: '${e.url}')`;case 6:return`ResolveEnd(id: ${e.id}, url: '${e.url}', urlAfterRedirects: '${e.urlAfterRedirects}', state: ${e.state})`;case 5:return`ResolveStart(id: ${e.id}, url: '${e.url}', urlAfterRedirects: '${e.urlAfterRedirects}', state: ${e.state})`;case 10:return`RouteConfigLoadEnd(path: ${e.route.path})`;case 9:return`RouteConfigLoadStart(path: ${e.route.path})`;case 4:return`RoutesRecognized(id: ${e.id}, url: '${e.url}', urlAfterRedirects: '${e.urlAfterRedirects}', state: ${e.state})`;case 15:return`Scroll(anchor: '${e.anchor}', position: '${e.position?`${e.position[0]}, ${e.position[1]}`:null}')`}}(t)),console.log(t),console.groupEnd?.()})}}]:[],er(1,e)}const uw=new R(So?"router preloader":"");function HO(e){return er(0,[{provide:uw,useExisting:PO},{provide:ow,useExisting:e}])}const Ki=!1,cw=new R(Ki?"router duplicate forRoot guard":"ROUTER_FORROOT_GUARD"),jO=[Wc,{provide:ki,useClass:Qd},pt,Bi,{provide:Er,useFactory:function sw(e){return e.routerState.root},deps:[pt]},Df,Ki?{provide:Ef,useValue:!0}:[]];function BO(){return new Cv("Router",pt)}let dw=(()=>{class e{constructor(t){}static forRoot(t,r){return{ngModule:e,providers:[jO,Ki&&r?.enableTracing?UO().\u0275providers:[],{provide:Eo,multi:!0,useValue:t},{provide:cw,useFactory:qO,deps:[[pt,new zo,new qo]]},{provide:cl,useValue:r||{}},r?.useHash?{provide:_r,useClass:ST}:{provide:_r,useClass:$v},{provide:bf,useFactory:()=>{const e=Q($x),n=Q(Ae),t=Q(cl),r=Q(ul),o=Q(ki);return t.scrollOffset&&e.setOffset(t.scrollOffset),new iw(o,r,e,n,t)}},r?.preloadingStrategy?HO(r.preloadingStrategy).\u0275providers:[],{provide:Cv,multi:!0,useFactory:BO},r?.initialNavigation?WO(r):[],[{provide:fw,useFactory:aw},{provide:_v,multi:!0,useExisting:fw}]]}}static forChild(t){return{ngModule:e,providers:[{provide:Eo,multi:!0,useValue:t}]}}}return e.\u0275fac=function(t){return new(t||e)(N(cw,8))},e.\u0275mod=Lt({type:e}),e.\u0275inj=Mt({imports:[pf]}),e})();function qO(e){if(Ki&&e)throw new I(4007,"The Router was provided more than once. This can happen if 'forRoot' is used outside of the root injector. Lazy loaded modules should use RouterModule.forChild() instead.");return"guarded"}function WO(e){return["disabled"===e.initialNavigation?er(3,[{provide:oa,multi:!0,useFactory:()=>{const n=Q(pt);return()=>{n.setUpLocationChangeListener()}}},{provide:Sf,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?er(2,[{provide:Sf,useValue:0},{provide:oa,multi:!0,deps:[sn],useFactory:n=>{const t=n.get(bT,Promise.resolve());return()=>t.then(()=>new Promise(r=>{const o=n.get(pt),i=n.get(lw);(function OO(e,n){e.events.pipe(Yt(t=>t instanceof Jn||t instanceof Xa||t instanceof sf||t instanceof Ja),K(t=>t instanceof Jn||t instanceof Ja?bt.COMPLETE:t instanceof Xa&&(0===t.code||1===t.code)?bt.REDIRECTING:bt.FAILED),Yt(t=>t!==bt.REDIRECTING),ir(1)).subscribe(()=>{n()})})(o,()=>{r(!0)}),n.get(ul).afterPreactivation=()=>(r(!0),i.closed?O(void 0):i),o.initialNavigation()}))}}]).\u0275providers:[]]}const fw=new R(Ki?"Router Initializer":"");class YO{constructor(){this.name="",this.email="",this.message=""}}const je_apiBaseUrl="https://www.palmmedia.de/api/";let hw=(()=>{class e{constructor(t){this.httpClient=t}postContactForm(t){return this.httpClient.post(`${je_apiBaseUrl}contact`,t)}}return e.\u0275fac=function(t){return new(t||e)(N(bd))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();function ZO(e,n){if(1&e){const t=Ge();h(0,"form",5,6),F("ngSubmit",function(){return ue(t),ce(H().submit())}),h(2,"div",7)(3,"label",8),f(4,"Name "),h(5,"span",9),f(6,"*"),p()(),h(7,"input",10),F("ngModelChange",function(o){return ue(t),ce(H().contactViewModel.name=o)}),p()(),h(8,"div",7)(9,"label",11),f(10,"E-Mail "),h(11,"span",9),f(12,"*"),p()(),h(13,"input",12),F("ngModelChange",function(o){return ue(t),ce(H().contactViewModel.email=o)}),p()(),h(14,"div",7)(15,"label",13),f(16,"Nachricht "),h(17,"span",9),f(18,"*"),p()(),h(19,"textarea",14),F("ngModelChange",function(o){return ue(t),ce(H().contactViewModel.message=o)}),p()(),h(20,"button",15),f(21,"Submit"),p()()}if(2&e){const t=function Jg(e){return function Nr(e,n){return e[n]}(function $b(){return z.lFrame.contextLView}(),ye+e)}(1),r=H();C(7),S("ngModel",r.contactViewModel.name),C(6),S("ngModel",r.contactViewModel.email),C(6),S("ngModel",r.contactViewModel.message),C(1),S("disabled",!t.valid||r.enableFormCountDown>0)}}function QO(e,n){1&e&&(h(0,"p"),f(1,"Thanks for your message."),p())}function XO(e,n){1&e&&(h(0,"p",16),f(1,"Something went wrong. Please try again later."),p())}let JO=(()=>{class e{constructor(t){this.contactService=t,this.contactViewModel=new YO,this.success=!1,this.error=!1,this.enableFormCountDown=100,this.intervalId=null}ngOnInit(){this.intervalId=setInterval(()=>{this.enableFormCountDown-=1,0===this.enableFormCountDown&&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")})}}return e.\u0275fac=function(t){return new(t||e)(M(hw))},e.\u0275cmp=At({type:e,selectors:[["app-contact-component"]],decls:6,vars:3,consts:[[1,"container"],[1,"mb-4"],["method","post",3,"ngSubmit",4,"ngIf"],[4,"ngIf"],["class","text-danger",4,"ngIf"],["method","post",3,"ngSubmit"],["contactForm","ngForm"],[1,"mb-3"],["for","Name"],[1,"required"],["type","text","id","Name","name","Name","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","Email"],["type","email","id","Email","name","Email","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","Message"],["rows","7","id","Message","name","Message","required","",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-primary",3,"disabled"],[1,"text-danger"]],template:function(t,r){1&t&&(h(0,"div",0)(1,"h1",1),f(2,"Contact"),p(),$(3,ZO,22,4,"form",2),$(4,QO,2,0,"p",3),$(5,XO,2,0,"p",4),p()),2&t&&(C(3),S("ngIf",!r.success&&!r.error),C(1),S("ngIf",r.success),C(1),S("ngIf",r.error))},dependencies:[wa,Hd,Mi,Ad,Td,Ni,ja,Ri],styles:[".required[_ngcontent-%COMP%]{color:#1c8eb7}"]}),e})();const pw=function(){return["/pro"]};let ek=(()=>{class e{scrollToAnchor(t){return document.querySelector(t)?.scrollIntoView(!0),!1}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=At({type:e,selectors:[["app-features-component"]],decls:138,vars:4,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"],["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"],["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"],["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"],["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"]],template:function(t,r){1&t&&(h(0,"div",0)(1,"h1",1),f(2,"Features"),p(),v(3,"div",2)(4,"br"),h(5,"h2"),f(6,"Coverage quotas"),p(),h(7,"p"),f(8," The overiew cards provide a quick "),h(9,"span",3),f(10,"overview"),p(),f(11," of your coverage quotas."),v(12,"br"),f(13," You can use them to get a glimpse into the different "),h(14,"a",4),f(15,"coverage metrics"),p(),f(16,"\xa0"),h(17,"a",4),v(18,"i",5),p(),f(19,": "),p(),h(20,"ul")(21,"li"),f(22,"Line coverage"),p(),h(23,"li"),f(24,"Branch coverage"),p(),h(25,"li"),f(26,"Method coverage "),h(27,"a",6)(28,"span",7),f(29,"PRO"),p()()()(),v(30,"img",8)(31,"div",9)(32,"br"),h(33,"h2",10),f(34,"Coverage history"),p(),h(35,"p"),f(36," The history chart helps you to understand how your coverage quotas are "),h(37,"span",3),f(38,"evolving over time"),p(),f(39,". "),p(),v(40,"img",11)(41,"div",12)(42,"br"),h(43,"h2",10),f(44,"Summary table / Overview"),p(),h(45,"p"),f(46," The summary table helps you to identify classes with "),h(47,"span",3),f(48,"low test coverage"),p(),f(49,"."),v(50,"br"),f(51," The table offers various "),h(52,"span",3),f(53,"filter and sorting"),p(),f(54," options for quick navigation. "),p(),v(55,"img",13)(56,"div",14)(57,"br"),h(58,"h2",10),f(59,"Details page"),p(),h(60,"p"),f(61," The details page visualizes your "),h(62,"span",3),f(63,"line and branch coverage"),p(),f(64,". "),p(),h(65,"ul")(66,"li"),f(67,"Colors indicate the coverage status of each line."),p(),h(68,"li"),f(69,"Branch indicators help you to identity uncovered conditions."),p()(),v(70,"img",15)(71,"div",16)(72,"br"),h(73,"h2",10),f(74,"Metrics"),p(),h(75,"p"),f(76," Depending on your "),h(77,"a",17),f(78,"coverage tool"),p(),f(79,", metrics are provided to get further insigths in your "),h(80,"span",3),f(81,"code quality"),p(),f(82,". "),p(),h(83,"ul")(84,"li"),f(85,"The "),h(86,"a",18),F("click",function(){return r.scrollToAnchor("#details")}),f(87,"details page"),p(),f(88," contains information about the metrics of all methods of a class."),p(),h(89,"li"),f(90,"The "),h(91,"a",18),F("click",function(){return r.scrollToAnchor("#summary")}),f(92,"summary table"),p(),f(93," shows the lowest metrics of all methods of a class "),h(94,"a",6)(95,"span",7),f(96,"PRO"),p()()()(),h(97,"b"),f(98,"Details page"),p(),v(99,"br")(100,"img",19)(101,"br")(102,"br"),h(103,"b"),f(104,"Summary table"),p(),v(105,"br")(106,"img",20)(107,"div",21)(108,"br"),h(109,"h2",10),f(110,"Risk Hotspots"),p(),h(111,"p"),f(112," Based on the "),h(113,"a",18),F("click",function(){return r.scrollToAnchor("#metrics")}),f(114,"metrics"),p(),f(115," you get a list of potential risk hotspots."),v(116,"br"),f(117," The following metrics are analyzed if available, the warning thresholds are configurable: "),p(),h(118,"ul")(119,"li")(120,"a",22),f(121,"Cyclomatic complexity"),p(),f(122,"\xa0"),h(123,"a",22),v(124,"i",5),p()(),h(125,"li")(126,"a",23),f(127,"NPath complexity"),p(),f(128,"\xa0"),h(129,"a",23),v(130,"i",5),p()(),h(131,"li")(132,"a",24),f(133,"Crap score"),p(),f(134,"\xa0"),h(135,"a",24),v(136,"i",5),p()()(),v(137,"img",25),p()),2&t&&(C(27),S("routerLink",ne(2,pw)),C(67),S("routerLink",ne(3,pw)))},dependencies:[gn]}),e})();const kt={dotnetSDKVersion:"6.x",majorVersion:"5",version:"5.1.20"},tk=function(){return["/usage"]};let nk=(()=>{class e{constructor(){this.versions=kt}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=At({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/coverlet-coverage/coverlet"],["href","https://github.com/SteveGilham/altcover"],[1,"text-dark","bg-light","p-2","border"],["id","java"],["id","java",1,"mt-5"],["href","https://github.com/jacoco/jacoco"],["id","nodejs"],["id","nodejs",1,"mt-5"],["href","https://github.com/istanbuljs/nyc"]],template:function(t,r){1&t&&(h(0,"div",0)(1,"h1",1),f(2,"Get started"),p(),h(3,"h2"),f(4,"General"),p(),h(5,"p"),f(6,"In general you need a tool that instruments your test code and collects coverage information."),v(7,"br"),f(8,"This information is typically stored in a XML file (e.g. in Cobertura format)."),v(9,"br"),h(10,"em"),f(11,"ReportGenerator"),p(),f(12," uses this file and generates a report in HTML format (other formats are available)."),p(),h(13,"p"),f(14,"Use the online "),h(15,"a",2),f(16,"configuration tool"),p(),f(17," to get started quickly."),p(),v(18,"div",3),h(19,"h2",4),f(20,".NET"),p(),h(21,"p"),f(22,"For .NET you can use "),h(23,"a",5),f(24,"coverlet"),p(),f(25," or "),h(26,"a",6),f(27,"altcover"),p(),f(28," for instrumenting your test code."),p(),h(29,"p"),f(30,"After adding the dependencies to your project, you can execute your tests and generate the coverage report."),p(),h(31,"p")(32,"strong"),f(33,"Add dependencies to your "),h(34,"code"),f(35,"*.csproj"),p(),f(36," file:"),p()(),h(37,"pre",7),f(38),p(),h(39,"p")(40,"strong"),f(41,"Execute tests and create coverage report"),p()(),h(42,"pre",7),f(43),p(),v(44,"div",8),h(45,"h2",9),f(46,"Java"),p(),h(47,"p"),f(48,"For Java you can use "),h(49,"a",10),f(50,"JaCoCo"),p(),f(51," for instrumenting your test code.\nAfter adding JaCoCo to your project (here with Maven), you can execute your tests and generate the coverage report."),p(),h(52,"p")(53,"strong"),f(54,"Add dependencies to your "),h(55,"code"),f(56,"pom.xml"),p(),f(57," file:"),p()(),h(58,"pre",7),f(59,"\n \n \n \n org.jacoco\n jacoco-maven-plugin\n 0.8.6\n \n \n \n prepare-agent\n \n \n \n report\n prepare-package\n \n report\n \n \n \n \n \n \n \n \n \n org.jacoco\n jacoco-maven-plugin\n \n \n \n report\n \n \n \n \n \n \n\n"),p(),h(60,"p")(61,"strong"),f(62,"Execute tests and create coverage report"),p()(),h(63,"pre",7),f(64),p(),v(65,"div",11),h(66,"h2",12),f(67,"NodeJS"),p(),h(68,"p"),f(69,"For NodeJS you can use "),h(70,"a",13),f(71,"Istanbul"),p(),f(72," for instrumenting your test code.\nAfter installing Istanbul, you can execute your tests and generate the coverage report."),p(),h(73,"pre",7),f(74),p()()),2&t&&(C(15),S("routerLink",ne(5,tk)),C(23),Tn('\n \n runtime; build; native; contentfiles; analyzers; buildtransitive\n all\n \n \n \n \n all\n runtime; build; native; contentfiles; analyzers\n \n\n'),C(5),Tn('dotnet test --collect:"XPlat Code Coverage"\n"%UserProfile%\\.nuget\\packages\\reportgenerator\\',r.versions.version,'\\tools\\net6.0\\ReportGenerator.exe" -reports:*\\TestResults\\*\\coverage.cobertura.xml -targetdir:coveragereport\n'),C(21),Tn("mvn test jacoco:report\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",r.versions.version,"\ntools\\reportgenerator -reports:target\\site\\jacoco\\jacoco.xml -targetdir:coveragereport -sourcedirs:src\\main\\java\n"),C(10),Tn("npm i nyc --save-dev\nnyc --reporter=coberatura mocha\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",r.versions.version,"\ntools\\reportgenerator -reports:coverage/cobertura-coverage.xml -targetdir:coveragereport\n"))},dependencies:[gn]}),e})();const rk=function(){return["/pro"]},ok=function(){return["/usage"]},ik=function(){return["/getstarted"]},sk=function(){return["/features"]};let ak=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=At({type:e,selectors:[["app-home"]],decls:143,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"],[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","bg-light"],[1,"text-center"],[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",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/blob/mainline/aws-encryption-sdk-net/README.md","target","_blank",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"],[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(t,r){1&t&&(h(0,"section",0)(1,"div",1)(2,"div",2),v(3,"img",3),p(),h(4,"div",4)(5,"h1"),f(6,"ReportGenerator"),p(),h(7,"h2",5),f(8,"Powerful code coverage visualization"),p(),h(9,"div",6),f(10,"\xa0"),p(),h(11,"div",7)(12,"p")(13,"i"),f(14,"ReportGenerator"),p(),f(15," converts "),h(16,"span",8),f(17,"coverage reports"),p(),f(18," generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov or lcov into "),h(19,"span",8),f(20,"human readable reports in various formats"),p(),f(21,"."),p(),h(22,"p"),f(23,"The reports show the "),h(24,"span",8),f(25,"coverage quotas"),p(),f(26," and also visualize which lines of your source code have been covered."),p(),h(27,"p")(28,"a",9),v(29,"i",10),f(30," Browse example report"),p()()()()(),h(31,"div",11)(32,"div",12)(33,"div",13),v(34,"i",14),p(),h(35,"span",15),f(36,"Open source"),p(),h(37,"p",16)(38,"i"),f(39,"ReportGenerator"),p(),f(40," is open source under the permissive Apache License."),p(),h(41,"p"),f(42,"It's free to use."),v(43,"br"),f(44,"The "),h(45,"a",17),f(46,"PRO"),p(),f(47," version offers additional features."),p()(),h(48,"div",18)(49,"div",13),v(50,"i",19),p(),h(51,"span",15),f(52,"Easy to use"),p(),h(53,"p",16)(54,"i"),f(55,"ReportGenerator"),p(),f(56," is a command line tool which only requires a "),h(57,"a",17),f(58,"few parameters"),p(),f(59,"."),p(),h(60,"p"),f(61,"Integration into your build pipeline will only take a couple of minutes."),p()(),h(62,"div",18)(63,"div",13),v(64,"i",20),p(),h(65,"span",15),f(66,"Integration"),p(),h(67,"p",16)(68,"i"),f(69,"ReportGenerator"),p(),f(70," works on Windows, Linux and macOS."),p(),h(71,"p"),f(72,"Support for "),h(73,"a",21),f(74,"GitHub actions"),p(),f(75," and "),h(76,"a",22),f(77,"Azure DevOps"),p(),f(78," is available."),p()()(),h(79,"div",11)(80,"div",23)(81,"a",24),v(82,"i",25),f(83," Learn how to use"),p(),h(84,"a",26),v(85,"i",27),f(86," GitHub"),p()()()(),h(87,"section",28)(88,"div",0)(89,"h2",29),f(90,"Trusted by"),p(),h(91,"div",11)(92,"div",30),v(93,"i",31)(94,"br"),h(95,"a",32),f(96,".NET Runtime"),p()(),h(97,"div",30),v(98,"i",33)(99,"br"),h(100,"a",34),f(101,"Google Cloud"),p()(),h(102,"div",30),v(103,"i",35)(104,"br"),h(105,"a",36),f(106,"AWS Encryption SDK"),p()(),h(107,"div",37),v(108,"i",38)(109,"br"),h(110,"a",39),f(111,"Many more"),p()()(),h(112,"div",11)(113,"div",30)(114,"a",40),v(115,"i",41),f(116," Over 50 million downloads on Nuget"),p()()()()(),h(117,"section",42)(118,"div",0)(119,"h2"),f(120,"Screenshots"),p(),h(121,"p"),f(122,"The screenshots show two snippets of the generated reports."),p(),h(123,"p"),f(124," Have a look the "),h(125,"a",17),f(126,"features page"),p(),f(127," to explore the elements in a coverage report or "),h(128,"a",43),f(129,"browse the example report"),p(),f(130,". "),v(131,"br"),f(132," You can also download "),h(133,"a",44),f(134,"sample reports"),p(),f(135," of all supported output formats."),p(),h(136,"div",1)(137,"div",45)(138,"a",46),v(139,"img",47),p()(),h(140,"div",48)(141,"a",49),v(142,"img",50),p()()()()()),2&t&&(C(45),S("routerLink",ne(4,rk)),C(12),S("routerLink",ne(5,ok)),C(24),S("routerLink",ne(6,ik)),C(44),S("routerLink",ne(7,sk)))},dependencies:[gn],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,#1c7ed6 0%,#23b8cf 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}}"]}),e})(),lk=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=At({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(t,r){1&t&&(h(0,"div",0)(1,"h1",1),f(2,"Not found"),p(),v(3,"i",2),f(4," The requested page does not exist.\n"),p())}}),e})();class gw{constructor(){this.error=null,this.isSponsor=!1,this.license=null}}let mw=(()=>{class e{initCodeFlow(){const o=`https://github.com/login/oauth/authorize?response_type=code&client_id=ecab9484932b59a12fd4&state=${this.createAndSaveNonce()}&redirect_uri=${window.location.origin}/pro`;console.log("Redirecting to: "+o),location.href=o}validateStateAndExtractCode(){let t=location.href;const r=t.indexOf("?");r>-1&&(t=t.substring(r+1));const o=this.parseQueryString(t);return o.state&&o.code&&this.validateNonce(o.state)?o.code:null}createAndSaveNonce(){const 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&&0!==r.length?r===t||(console.error("Validating nonce failed. Values do not match.",r,t),!1):(console.error("Validating nonce failed. No saved nonce available.",r,t),!1)}createNonce(){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~";let r=45,o="";const i=typeof self>"u"?null:self.crypto||self.msCrypto;if(i){let a=new Uint8Array(r);i.getRandomValues(a),a.map||(a.map=Array.prototype.map);const l=[];for(var s=0;s0&&(u=decodeURIComponent(a),c=decodeURIComponent(l),"/"===u.substring(0,1)&&(u=u.substring(1)),r[u]=c);return r}base64UrlEncode(t){return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})(),yw=(()=>{class e{constructor(t){this.httpClient=t}getLicense(t){return this.httpClient.get(`${je_apiBaseUrl}reportgenerator/license?code=${encodeURIComponent(t)}`)}getPaddleLicense(t){return this.httpClient.post(`${je_apiBaseUrl}reportgenerator/paddlelicense`,t)}}return e.\u0275fac=function(t){return new(t||e)(N(bd))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();function uk(e,n){1&e&&(h(0,"div",42)(1,"span",43),f(2,"Loading..."),p()())}const Mf=function(){return["/contact"]};function ck(e,n){if(1&e&&(h(0,"div")(1,"p"),f(2),p(),h(3,"p"),f(4,"Please try again later or use the "),h(5,"a",18),f(6," contact form"),p(),f(7,"."),p()()),2&e){const t=H(2);C(2),Ce(t.license.error),C(3),S("routerLink",ne(2,Mf))}}function dk(e,n){1&e&&(h(0,"div")(1,"p"),f(2,"Please become a "),h(3,"a",45),f(4,"GitHub sponsor"),p(),f(5," first."),p()())}function fk(e,n){1&e&&(h(0,"span"),v(1,"i",49),f(2," Copy"),p())}function hk(e,n){1&e&&(h(0,"span"),v(1,"i",50),f(2," Copied"),p())}function pk(e,n){if(1&e){const t=Ge();h(0,"div")(1,"label",46),f(2,"Thank you for becoming a sponsor. Here's your license:"),p(),h(3,"textarea",47),f(4),p(),h(5,"button",48),F("click",function(){return ue(t),ce(H(2).copy())}),$(6,fk,3,0,"span",44),$(7,hk,3,0,"span",44),p()()}if(2&e){const t=H(2);C(4),Ce(t.license.license),C(2),S("ngIf",!t.licenseCopied),C(1),S("ngIf",t.licenseCopied)}}function gk(e,n){if(1&e&&(h(0,"div",21),$(1,ck,8,3,"div",44),$(2,dk,6,0,"div",44),$(3,pk,8,3,"div",44),p()),2&e){const t=H();C(1),S("ngIf",t.license.error),C(1),S("ngIf",!t.license.error&&!t.license.isSponsor),C(1),S("ngIf",!t.license.error&&t.license.isSponsor&&t.license.license)}}function mk(e,n){if(1&e){const t=Ge();h(0,"button",60),F("click",function(){return ue(t),ce(H(2).openPaddleCheckout("individual"))}),f(1,"Buy now"),p()}}function yk(e,n){1&e&&(h(0,"button",61),f(1,"Coming soon"),p())}function vk(e,n){if(1&e){const t=Ge();h(0,"button",60),F("click",function(){return ue(t),ce(H(2).openPaddleCheckout("team"))}),f(1,"Buy now"),p()}}function _k(e,n){1&e&&(h(0,"button",61),f(1,"Coming soon"),p())}function Ck(e,n){if(1&e){const t=Ge();h(0,"button",60),F("click",function(){return ue(t),ce(H(2).openPaddleCheckout("enterprise"))}),f(1,"Buy now"),p()}}function Dk(e,n){1&e&&(h(0,"button",61),f(1,"Coming soon"),p())}function wk(e,n){if(1&e&&(h(0,"div",2)(1,"div",51)(2,"div",52),v(3,"img",53),h(4,"h4",54),f(5,"Individual"),v(6,"br"),f(7),p(),h(8,"p"),f(9,"Annual - Per developer license."),p(),$(10,mk,2,0,"button",55),$(11,yk,2,0,"button",56),p()(),h(12,"div",57)(13,"div",52),v(14,"img",58),h(15,"h4",54),f(16,"Team"),v(17,"br"),f(18),p(),h(19,"p"),f(20,"Annual - Up to 10 developers."),p(),$(21,vk,2,0,"button",55),$(22,_k,2,0,"button",56),p()(),h(23,"div",57)(24,"div",52),v(25,"img",59),h(26,"h4",54),f(27,"Enterprise"),v(28,"br"),f(29),p(),h(30,"p"),f(31,"Annual - Unlimited developers."),p(),$(32,Ck,2,0,"button",55),$(33,Dk,2,0,"button",56),p()()()),2&e){const t=H();C(7),Ce(t.paddleIndividualLicensePrice),C(3),S("ngIf",t.enablePaddle),C(1),S("ngIf",!t.enablePaddle),C(7),Ce(t.paddleTeamLicensePrice),C(3),S("ngIf",t.enablePaddle),C(1),S("ngIf",!t.enablePaddle),C(7),Ce(t.paddleEnterpriseLicensePrice),C(3),S("ngIf",t.enablePaddle),C(1),S("ngIf",!t.enablePaddle)}}function bk(e,n){1&e&&(pr(0),h(1,"div",42)(2,"span",43),f(3,"Loading..."),p()(),h(4,"span",63),f(5,"Your license is being generated. Please wait."),p(),gr())}function Ek(e,n){if(1&e&&(h(0,"div")(1,"p"),f(2),p(),h(3,"p"),f(4,"Please try again later or use the "),h(5,"a",18),f(6," contact form"),p(),f(7,"."),p()()),2&e){const t=H(3);C(2),Ce(t.paddleLicense.error),C(3),S("routerLink",ne(2,Mf))}}function Sk(e,n){1&e&&(h(0,"span"),v(1,"i",49),f(2," Copy"),p())}function Mk(e,n){1&e&&(h(0,"span"),v(1,"i",50),f(2," Copied"),p())}function Ik(e,n){if(1&e){const t=Ge();h(0,"div")(1,"label",65),f(2,"Thank you for buying a license. Please save your license key persistently:"),p(),h(3,"textarea",66),f(4),p(),h(5,"button",48),F("click",function(){return ue(t),ce(H(3).copyPaddle())}),$(6,Sk,3,0,"span",44),$(7,Mk,3,0,"span",44),p()()}if(2&e){const t=H(3);C(4),Ce(t.paddleLicense.license),C(2),S("ngIf",!t.paddleLicenseCopied),C(1),S("ngIf",t.paddleLicenseCopied)}}function Ak(e,n){if(1&e&&(h(0,"div",64),$(1,Ek,8,3,"div",44),$(2,Ik,8,3,"div",44),p()),2&e){const t=H(2);C(1),S("ngIf",t.paddleLicense.error),C(1),S("ngIf",!t.paddleLicense.error&&t.paddleLicense.license)}}function Tk(e,n){if(1&e&&(h(0,"div",2),$(1,bk,6,0,"ng-container",44),$(2,Ak,3,2,"div",62),p()),2&e){const t=H();C(1),S("ngIf",t.paddleLicenseRequested&&!t.paddleLicense),C(1),S("ngIf",t.paddleLicense)}}const Mo=function(){return["/features"]};let xk=(()=>{class e{constructor(t,r){this.oauthService=t,this.licenseService=r,this.paddleIndividualLicensePrice="US$49",this.paddleTeamLicensePrice="US$149",this.paddleEnterpriseLicensePrice="US$299",this.licenseRequested=!1,this.licenseCopied=!1,this.license=null,this.enablePaddle=!0,this.paddleLicenseRequested=!1,this.paddleLicenseCopied=!1,this.paddleLicense=null,this.self=this,window.paddleCheckoutComplete=o=>{this.paddleCheckoutComplete(o)},window.Paddle.Setup({vendor:144162}),window.Paddle.Product.Prices(762579,o=>{this.paddleIndividualLicensePrice=o.recurring.price.gross}),window.Paddle.Product.Prices(762580,o=>{this.paddleTeamLicensePrice=o.recurring.price.gross}),window.Paddle.Product.Prices(762581,o=>{this.paddleEnterpriseLicensePrice=o.recurring.price.gross})}ngOnInit(){const t=this.oauthService.validateStateAndExtractCode();null!==t?(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 gw,this.license.error="Unable to generate license."},complete:()=>console.info("complete")})):console.log("No code available")}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(){try{navigator.clipboard.writeText(this.paddleLicense.license),this.paddleLicenseCopied=!0}catch(t){console.error("Failed to copy paddle license",t)}}scrollToGithub(){return document.querySelector("#github").scrollIntoView(!0),!1}scrollToPaddle(){return document.querySelector("#paddle").scrollIntoView(!0),!1}openPaddleCheckout(t){"enterprise"===t?window.Paddle.Checkout.open({product:762581,successCallback:"paddleCheckoutComplete"}):"team"===t?window.Paddle.Checkout.open({product:762580,successCallback:"paddleCheckoutComplete"}):window.Paddle.Checkout.open({product:762579,successCallback:"paddleCheckoutComplete"})}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()},error:r=>{console.error(r),this.paddleLicense=new gw,this.paddleLicense.error="Unable to generate paddle license."},complete:()=>console.info("complete")})}}return e.\u0275fac=function(t){return new(t||e)(M(mw),M(yw))},e.\u0275cmp=At({type:e,selectors:[["app-pro-component"]],decls:162,vars:19,consts:[[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"],[1,"col-xs-12","col-md-6","order-1","order-md-2"],["href","",3,"click"],[3,"routerLink"],["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,"disabled","click"],[1,"fa-solid","fa-rocket"],["class","spinner-border text-info","role","status",4,"ngIf"],["class","col-xs-12 col-md-6 pb-3",4,"ngIf"],["id","paddle"],["class","row",4,"ngIf"],[1,"mt-5"],["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"],["role","status",1,"spinner-border","text-info"],[1,"visually-hidden"],[4,"ngIf"],["href","https://github.com/sponsors/danielpalme","target","_blank"],["for","licensetext"],["id","licensetext","rows","5","readonly","",1,"form-control","mt-2"],[1,"btn","btn-outline-dark","mt-2",3,"click"],[1,"fa-solid","fa-copy"],[1,"fa-solid","fa-check","text-success"],[1,"col-xs-6","col-md-4","pb-3","text-center","paddle-container"],[1,"paddle"],["src","resources/individual.svg","alt","Individual",1,"img-fluid"],[1,"mt-3"],["type","button","class","btn btn-primary",3,"click",4,"ngIf"],["type","button","class","btn btn-primary","disabled","",4,"ngIf"],[1,"col-xs-6","col-md-4","mt-4","mt-md-0","pb-3","text-center","paddle-container"],["src","resources/team.svg","alt","Team",1,"img-fluid"],["src","resources/enterprise.svg","alt","Enterprise",1,"img-fluid"],["type","button",1,"btn","btn-primary",3,"click"],["type","button","disabled","",1,"btn","btn-primary"],["class","col-xs-12 col-md-6",4,"ngIf"],[2,"position","relative","left","35px","top","-20px"],[1,"col-xs-12","col-md-6"],["for","paddlelicensetext"],["id","paddlelicensetext","rows","5","readonly","",1,"form-control","mt-2"]],template:function(t,r){1&t&&(h(0,"div",0)(1,"h1",1),f(2,"PRO"),p(),h(3,"div",2)(4,"div",3)(5,"table",4)(6,"thead")(7,"tr"),v(8,"th",5),h(9,"th",6),f(10,"Free"),p(),h(11,"th",6)(12,"span",7),f(13,"PRO"),p()()()(),h(14,"tbody")(15,"tr")(16,"th",8),f(17,"Metrics "),h(18,"a",9),v(19,"i",10),p()(),h(20,"td",11),v(21,"i",12),p(),h(22,"td",11),v(23,"i",12),p()(),h(24,"tr")(25,"th",8),f(26,"Risk Hotspots "),h(27,"a",13),v(28,"i",10),p()(),h(29,"td",11),v(30,"i",12),p(),h(31,"td",11),v(32,"i",12),p()(),h(33,"tr")(34,"th",8),f(35,"Line coverage "),h(36,"a",14),v(37,"i",10),p()(),h(38,"td",11),v(39,"i",12),p(),h(40,"td",11),v(41,"i",12),p()(),h(42,"tr")(43,"th",8),f(44,"Branch coverage "),h(45,"a",14),v(46,"i",10),p()(),h(47,"td",11),v(48,"i",12),p(),h(49,"td",11),v(50,"i",12),p()(),h(51,"tr")(52,"th",8),f(53,"Method coverage "),h(54,"a",14),v(55,"i",10),p()(),v(56,"td",11),h(57,"td",11),v(58,"i",15),p()(),h(59,"tr")(60,"th",8),f(61,"Metrics on summary page "),h(62,"a",9),v(63,"i",10),p()(),v(64,"td",11),h(65,"td",11),v(66,"i",15),p()(),h(67,"tr")(68,"th",8)(69,"i"),f(70,"OpenCover"),p(),f(71," output format"),p(),v(72,"td",11),h(73,"td",11),v(74,"i",15),p()()()()(),h(75,"div",16)(76,"p")(77,"i"),f(78,"ReportGenerator"),p(),f(79," is Open Source and free to use."),v(80,"br"),f(81," Some of the advanced features require a PRO license. "),p(),h(82,"p"),f(83," You can either become a "),h(84,"a",17),F("click",function(){return r.scrollToGithub()}),f(85,"GitHub sponsor"),p(),f(86," or you can "),h(87,"a",17),F("click",function(){return r.scrollToPaddle()}),f(88,"buy a license"),p(),f(89,"."),v(90,"br"),p(),h(91,"p"),f(92," Get "),h(93,"a",18),f(94,"in touch"),p(),f(95," if you have any issues and we will figure it out. "),p()()(),v(96,"div",19),p(),h(97,"section",20)(98,"div",0)(99,"h2",1),f(100,"Get your license as a sponsor"),p(),h(101,"div",2)(102,"div",21)(103,"p"),f(104,"You can obtain your license in two easy steps (no sign up required):"),p(),h(105,"span",22),f(106,"1."),p(),h(107,"a",23),v(108,"i",24),f(109," Become a GitHub sponsor"),p(),v(110,"br"),h(111,"span",22),f(112,"2."),p(),h(113,"button",25),F("click",function(){return r.requestLicense()}),v(114,"i",26),f(115," Get license"),p(),$(116,uk,3,0,"div",27),p(),$(117,gk,4,3,"div",28),p()(),v(118,"div",29),p(),h(119,"section",20)(120,"div",0)(121,"h2",1),f(122,"Buy a license"),p(),$(123,wk,34,9,"div",30),$(124,Tk,3,2,"div",30),h(125,"div",31)(126,"p")(127,"i"),f(128,"ReportGenerator"),p(),f(129," licence purchases are provided with a 30 day money back guarantee."),p(),h(130,"p"),f(131,"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."),p()()()(),h(132,"section",32)(133,"h2",1),f(134,"Frequently Asked Questions"),p(),h(135,"div",33)(136,"div",34)(137,"h2",35)(138,"button",36),f(139," Are there limitations on number of users? "),p()(),h(140,"div",37)(141,"div",38)(142,"b"),f(143,"GitHub sponsors"),p(),v(144,"br"),h(145,"p"),f(146,"There's no enforced limit. Just pick a sponsor level that fits your company size and budget."),p(),h(147,"b"),f(148,"Bought license"),p(),v(149,"br"),h(150,"p"),f(151,"There's no enforced limit. Please choose a plan that matches the number of developers using "),h(152,"i"),f(153,"ReportGenerator"),p(),f(154,"."),p()()()(),h(155,"div",34)(156,"h2",39)(157,"button",40),f(158," Will my license expire? "),p()(),h(159,"div",41)(160,"div",38),f(161," Your license will not expire. "),p()()()()()),2&t&&(C(18),S("routerLink",ne(12,Mo)),C(9),S("routerLink",ne(13,Mo)),C(9),S("routerLink",ne(14,Mo)),C(9),S("routerLink",ne(15,Mo)),C(9),S("routerLink",ne(16,Mo)),C(8),S("routerLink",ne(17,Mo)),C(31),S("routerLink",ne(18,Mf)),C(20),S("disabled",r.licenseRequested),C(3),S("ngIf",r.licenseRequested&&!r.license),C(1),S("ngIf",r.license),C(6),S("ngIf",!r.paddleLicenseRequested),C(1),S("ngIf",r.paddleLicenseRequested))},dependencies:[wa,gn],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}"]}),e})();class dl{constructor(n,t,r,o,i,s){this.name=n,this.url=t,this.runtimes=r,this.description=o,this.installOptions=i,this.executables=s}formatExecutable(n){return n.tool}formatArgument(n,t){if(""===(t=t.trim()))return"";const r=t.indexOf(" ")>-1?'"':"";return`\r\n${r}-${n}:${t}${r}`}formatArguments(n,t){return this.formatArgument(n,t.filter(r=>null!=r&&0!==r.length&&0!==r.trim().length).join(";"))}}class Rk extends dl{formatExecutable(n){let t=`- task: ${n.tool}@${kt.majorVersion}`;return t+="\r\n displayName: ReportGenerator",t+="\r\n inputs:",console.log("hello",t),t}formatArgument(n,t){if(""===(t=t.trim()))return"";const r=t.indexOf(" ")>-1?"'":"";return`\r\n ${n}: ${r}${t}${r}`}}class Nk{constructor(){this.verbosities=["Verbose","Info","Warning","Error","Off"],this.reports=["cobertura.xml"],this.targetdir="coveragereport",this.reporttypes=[{name:"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",description:"Same as Html but with a light theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Light/index.html"},{name:"Html_Dark",description:"Same as Html but with a dark theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Dark/index.html"},{name:"Html_BlueRed",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",description:"Creates a single HTML file (summary.html) without links.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlSummary/summary.html"},{name:"HtmlChart",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",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",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",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",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",description:"Same as HTML but packaged into a single MHTML file.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MHtml/Summary.mht"},{name:"Clover",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",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",description:"Creates a XML file in OpenCover format (PRO version only).",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/OpenCover/OpenCover.xml"},{name:"SonarQube",description:"Creates a XML file in SonarQube 'Generic Test Data' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/SonarQube/SonarQube.xml"},{name:"lcov",description:"Creates a text file in 'lcov' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/lcov/lcov.info"},{name:"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",description:"Creates a single XML file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/XmlSummary/Summary.xml"},{name:"JsonSummary",description:"Creates a single JSON file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/JsonSummary/Summary.json"},{name:"Latex",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",description:"Creates a single TEX file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/LatexSummary/Summary.tex"},{name:"TeamCitySummary",description:"Command line output interpreted by TeamCity.",requiresHistoryDir:!1,checked:!1,sampleReport:null},{name:"TextSummary",description:"Creates a single TXT file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/TextSummary/Summary.txt"},{name:"TextDeltaSummary",description:"Creates a single TXT file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/TextDeltaSummary/DeltaSummary.txt"},{name:"CsvSummary",description:"Creates a single CSV file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/CsvSummary/Summary.csv"},{name:"MarkdownSummary",description:"Creates a single Markdown file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownSummary/Summary.md"},{name:"MarkdownSummaryGithub",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",description:"Creates a single Markdown file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/MarkdownDeltaSummary/DeltaSummary.md"},{name:"PngChart",description:"Creates a single PNG file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/PngChart/CoverageHistory.png"},{name:"Badges",description:"Creates SVGs and PNGs 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.selectedverbosity=this.verbosities[1],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}getUsage(n,t){const r=n.executables.find(a=>a.runtime==t);let o=void 0!==r?n.formatExecutable(r):"";o+=n.formatArguments("reports",this.reports),o+=n.formatArgument("targetdir",this.targetdir);for(var i="",s=0;s0&&(i+=";"),i+=this.reporttypes[s].name);return i.length>0&&"Html"!==i&&(o+=n.formatArgument("reporttypes",i)),o+=n.formatArguments("sourcedirs",this.sourcedirectories),o+=n.formatArgument("historydir",this.historydir),o+=n.formatArguments("plugins",this.plugins),o+=n.formatArguments("assemblyfilters",this.assemblyfilters),o+=n.formatArguments("classfilters",this.classfilters),o+=n.formatArguments("filefilters",this.filefilters),"Info"!==this.selectedverbosity&&(o+=n.formatArgument("verbosity",this.selectedverbosity)),o+=n.formatArgument("title",this.title),o+=n.formatArgument("tag",this.tag),o+=n.formatArgument("license",this.license),o}historyDirRequired(){for(let n=0;n-1?"'":"";return`\r\n ${n}: ${r}${t}${r}`}}class If{constructor(n,t){this.tool=n,this.command=t}}function Pk(e,n){if(1&e){const t=Ge();h(0,"div",33)(1,"label",34)(2,"input",35),F("ngModelChange",function(o){return ue(t),ce(H().selectedEnvironment=o)})("ngModelChange",function(){return ue(t),ce(H().selectedEnvironmentChanged())}),p(),h(3,"b"),f(4),p(),v(5,"br"),h(6,"div",36),f(7),p()()()}if(2&e){const t=n.$implicit,r=H();C(2),S("ngModel",r.selectedEnvironment)("value",t)("checked",r.selectedEnvironment.name===t.name),C(2),Ce(t.name),C(3),Ce(t.description)}}function Ok(e,n){if(1&e){const t=Ge();h(0,"div",33)(1,"label",34)(2,"input",39),F("ngModelChange",function(o){return ue(t),ce(H(3).selectedPackage=o)}),p(),h(3,"b"),f(4),p(),v(5,"br"),h(6,"div",36),f(7),p()()()}if(2&e){const t=H().$implicit,r=H(2);C(2),S("ngModel",r.selectedPackage)("value",t),C(2),Ce(t.name),C(3),Ce(t.description)}}function kk(e,n){if(1&e&&(pr(0),$(1,Ok,8,4,"div",38),gr()),2&e){const t=n.$implicit,r=H(2);C(1),S("ngIf",t.runtimes.indexOf(r.selectedEnvironment.name)>-1)}}function Lk(e,n){if(1&e&&(pr(0),h(1,"h4"),f(2,"NuGet Package"),p(),$(3,kk,2,1,"ng-container",37),gr()),2&e){const t=H();C(3),S("ngForOf",t.packages)}}function Vk(e,n){if(1&e){const t=Ge();h(0,"span",43),F("click",function(){ue(t);const o=H().index;return ce(H().configuration.removeReport(o))}),h(1,"a",44),v(2,"i",45),p()()}}const Uk=function(e){return{"input-group":e}};function Hk(e,n){if(1&e){const t=Ge();h(0,"div",36)(1,"div",40)(2,"input",41),F("ngModelChange",function(o){const s=ue(t).index;return ce(H().configuration.reports[s]=o)}),p(),$(3,Vk,3,0,"span",42),p()()}if(2&e){const t=n.index,r=H();C(1),S("ngClass",mc(4,Uk,t>0)),C(1),An("name","report_",t,""),S("ngModel",r.configuration.reports[t]),C(1),S("ngIf",t>0)}}function jk(e,n){if(1&e){const t=Ge();h(0,"span",48),v(1,"i",49),f(2," Please specify a "),h(3,"a",9),F("click",function(){return ue(t),ce(H(2).scrollToHistoryDir())}),f(4,"history directory"),p()()}}function Bk(e,n){if(1&e&&(pr(0),v(1,"br",50),h(2,"a",27),f(3,"Sample report"),p(),f(4,"\xa0"),h(5,"a",27),v(6,"i",51),p(),gr()),2&e){const t=H().$implicit;C(2),S("href",t.sampleReport,Gr),C(3),S("href",t.sampleReport,Gr)}}function $k(e,n){if(1&e){const t=Ge();h(0,"div",33)(1,"label",34)(2,"input",46),F("change",function(){const i=ue(t).$implicit;return ce(i.checked=!i.checked)}),p(),h(3,"b"),f(4),p(),$(5,jk,5,0,"span",47),v(6,"br"),h(7,"div",36),f(8),$(9,Bk,7,2,"ng-container",5),p()()()}if(2&e){const t=n.$implicit,r=H();C(2),S("checked",t.checked),C(2),Ce(t.name),C(1),S("ngIf",t.checked&&t.requiresHistoryDir&&!r.configuration.historydir),C(3),Tn("",t.description," "),C(1),S("ngIf",t.sampleReport)}}function Gk(e,n){if(1&e){const t=Ge();h(0,"div",8)(1,"div",52)(2,"input",53),F("ngModelChange",function(o){const s=ue(t).index;return ce(H().configuration.sourcedirectories[s]=o)}),p(),h(3,"span",43),F("click",function(){const i=ue(t).index;return ce(H().configuration.removeSourceDirectory(i))}),h(4,"a",44),v(5,"i",45),p()()()()}if(2&e){const t=n.index,r=H();C(2),An("name","sourcedir_",t,""),S("ngModel",r.configuration.sourcedirectories[t])}}function zk(e,n){if(1&e){const t=Ge();h(0,"div",8)(1,"div",52)(2,"input",54),F("ngModelChange",function(o){const s=ue(t).index;return ce(H().configuration.plugins[s]=o)}),p(),h(3,"span",43),F("click",function(){const i=ue(t).index;return ce(H().configuration.removePlugin(i))}),h(4,"a",44),v(5,"i",45),p()()()()}if(2&e){const t=n.index,r=H();C(2),An("name","plugin_",t,""),S("ngModel",r.configuration.plugins[t])}}function qk(e,n){if(1&e){const t=Ge();h(0,"div",8)(1,"div",52)(2,"input",55),F("ngModelChange",function(o){const s=ue(t).index;return ce(H().configuration.assemblyfilters[s]=o)}),p(),h(3,"span",43),F("click",function(){const i=ue(t).index;return ce(H().configuration.removeAssemblyFilter(i))}),h(4,"a",44),v(5,"i",45),p()()()()}if(2&e){const t=n.index,r=H();C(2),An("name","assemblyfilter_",t,""),S("ngModel",r.configuration.assemblyfilters[t])}}function Wk(e,n){if(1&e){const t=Ge();h(0,"div",8)(1,"div",52)(2,"input",56),F("ngModelChange",function(o){const s=ue(t).index;return ce(H().configuration.classfilters[s]=o)}),p(),h(3,"span",43),F("click",function(){const i=ue(t).index;return ce(H().configuration.removeClassFilter(i))}),h(4,"a",44),v(5,"i",45),p()()()()}if(2&e){const t=n.index,r=H();C(2),An("name","classfilter_",t,""),S("ngModel",r.configuration.classfilters[t])}}function Kk(e,n){if(1&e){const t=Ge();h(0,"div",8)(1,"div",52)(2,"input",57),F("ngModelChange",function(o){const s=ue(t).index;return ce(H().configuration.filefilters[s]=o)}),p(),h(3,"span",43),F("click",function(){const i=ue(t).index;return ce(H().configuration.removeFileFilter(i))}),h(4,"a",44),v(5,"i",45),p()()()()}if(2&e){const t=n.index,r=H();C(2),An("name","filefilter_",t,""),S("ngModel",r.configuration.filefilters[t])}}function Yk(e,n){if(1&e&&(h(0,"option",58),f(1),p()),2&e){const t=n.$implicit;S("value",t),C(1),Ce(t)}}function Zk(e,n){if(1&e&&(h(0,"div",59)(1,"b"),f(2),p(),v(3,"br"),h(4,"pre",30),f(5),p()()),2&e){const t=n.$implicit;C(2),Ce(t.tool),C(3),Ce(t.command)}}function Qk(e,n){1&e&&(h(0,"span"),v(1,"i",60),f(2," Copy"),p())}function Xk(e,n){1&e&&(h(0,"span"),v(1,"i",61),f(2," Copied"),p())}function Jk(e,n){if(1&e&&(h(0,"div",59)(1,"b"),f(2),p(),v(3,"br"),h(4,"pre",30),f(5),p()()),2&e){const t=n.$implicit;C(2),Ce(t.tool),C(3),Ce(t.command)}}function eL(e,n){1&e&&(h(0,"span"),v(1,"i",60),f(2," Copy"),p())}function tL(e,n){1&e&&(h(0,"span"),v(1,"i",61),f(2," Copied"),p())}const nL=function(){return["/pro"]},rL=[{path:"",component:ak,pathMatch:"full",title:"Home",data:{canonical:"/"}},{path:"features",component:ek,title:"Features",data:{canonical:"/features"}},{path:"features.html",redirectTo:"/features"},{path:"getstarted",component:nk,title:"Get started",data:{canonical:"/getstarted"}},{path:"getstarted.html",redirectTo:"/getstarted"},{path:"usage",component:(()=>{class e{constructor(){this.versions=kt,this.lastResult="",this.usageCopied=!1,this.configuration=new Nk,this.environments=[new fl(".NET Core",".NET Core"),new fl(".NET Framework","The full .NET framework"),new fl("Azure DevOps",null),new fl("Github Action",null)],this.packages=[new dl("ReportGenerator","https://www.nuget.org/packages/ReportGenerator",[".NET Framework",".NET Core"],"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.",[new If("Package Manager",`Install-Package ReportGenerator -Version ${kt.version}`),new If(".NET CLI",`dotnet add package ReportGenerator --version ${kt.version}`)],[new Yi(".NET Framework",`$(UserProfile)\\.nuget\\packages\\reportgenerator\\${kt.version}\\tools\\net47\\ReportGenerator.exe`),new Yi(".NET Core",`dotnet $(UserProfile)\\.nuget\\packages\\reportgenerator\\${kt.version}\\tools\\net6.0\\ReportGenerator.dll`)]),new dl("dotnet-reportgenerator-globaltool","https://www.nuget.org/packages/dotnet-reportgenerator-globaltool",[".NET Core"],"Use this package if your project is based on .NET Core and you want to use ReportGenerator as a (global) 'DotnetTool'.",[new If(".NET CLI",`dotnet tool install --global dotnet-reportgenerator-globaltool --version ${kt.version}\r\n\r\ndotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version ${kt.version}\r\n\r\ndotnet new tool-manifest\r\ndotnet tool install dotnet-reportgenerator-globaltool --version ${kt.version}`)],[new Yi(".NET Core","reportgenerator")]),new Rk("Azure DevOps","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator",["Azure DevOps"],"Use this package within Azure DevOps",[],[new Yi("Azure DevOps","reportgenerator")]),new Fk("GitHub Action","https://github.com/marketplace/actions/reportgenerator",["Github Action"],"Use this package within Github Actions",[],[new Yi("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(){const 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}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=At({type:e,selectors:[["app-usage-component"]],decls:215,vars:39,consts:[[1,"container"],[1,"mb-4"],[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,"ngModel","ngModelChange"],["href","https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip"],["class","form-check",4,"ngFor","ngForOf","ngForTrackBy"],["class","input-group mb-3",4,"ngFor","ngForOf","ngForTrackBy"],["id","historydir",1,"input-group","mb-3"],["type","text","name","historydir","placeholder","The history directory",1,"form-control",3,"ngModel","required","ngModelChange"],["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,"ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf","ngForTrackBy"],["type","text","name","title","placeholder","Title",1,"form-control",3,"ngModel","ngModelChange"],["type","text","name","tag","placeholder","Optional tag or build version",1,"form-control",3,"ngModel","ngModelChange"],[3,"routerLink"],["type","text","name","license","placeholder","Optional license for PRO version","rows","4",1,"form-control",3,"ngModel","ngModelChange"],[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,"ngModel","value","checked","ngModelChange"],[1,"mb-3"],[4,"ngFor","ngForOf"],["class","form-check",4,"ngIf"],["type","radio","name","package",1,"form-check-input",3,"ngModel","value","ngModelChange"],[3,"ngClass"],["type","text","placeholder","The path of the coverage file","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["class","input-group-text",3,"click",4,"ngIf"],[1,"input-group-text",3,"click"],["href",""],[1,"fa","fa-trash","text-danger"],["type","checkbox","name","reporttype",1,"form-check-input",3,"checked","change"],["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,"name","ngModel","ngModelChange"],["type","text","placeholder","The path of the plugin","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for assemlies","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for classes","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for files","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],[3,"value"],[1,"mt-2"],[1,"fa-solid","fa-copy"],[1,"fa-solid","fa-check","text-success"]],template:function(t,r){1&t&&(h(0,"div",0)(1,"h1",1),f(2,"Usage"),p(),h(3,"div",2)(4,"div",3)(5,"form")(6,"h3"),f(7,"Environment"),p(),$(8,Pk,8,5,"div",4),v(9,"hr"),$(10,Lk,4,1,"ng-container",5),v(11,"hr"),h(12,"h3"),f(13,"Reports"),p(),h(14,"div",6),f(15,"Path to the coverage report(s) that should be parsed."),v(16,"br"),f(17,"Globbing is supported."),p(),$(18,Hk,4,6,"div",7),h(19,"div",8)(20,"a",9),F("click",function(){return r.configuration.addReport()}),v(21,"i",10),f(22," Add report"),p()(),v(23,"br"),h(24,"h3"),f(25,"Target directory"),p(),h(26,"div",6),f(27,"The directory where the generated report(s) should be saved."),p(),h(28,"div",8)(29,"input",11),F("ngModelChange",function(i){return r.configuration.targetdir=i}),p()(),v(30,"br"),h(31,"h3"),f(32,"Report types"),p(),h(33,"div",6),f(34,"Download "),h(35,"a",12),f(36,"sample reports"),p()(),$(37,$k,10,5,"div",13),h(38,"h3"),f(39,"Source directories"),p(),h(40,"div",6),f(41,"Optional directories which contain the corresponding source code."),v(42,"br"),f(43,"The source directories are used if coverage report contains classes without path information."),p(),$(44,Gk,6,2,"div",14),h(45,"div",15)(46,"a",9),F("click",function(){return r.configuration.addSourceDirectory()}),v(47,"i",10),f(48," Add source directory"),p()(),v(49,"br"),h(50,"h3"),f(51,"History directory"),p(),h(52,"div",6),f(53,"Optional directory for storing "),h(54,"b"),f(55,"persistent"),p(),f(56," coverage information. Choose a directory which does not get deleted between builds."),v(57,"br"),f(58,"Required to show the history chart in the HTML reports."),p(),h(59,"div",8)(60,"input",16),F("ngModelChange",function(i){return r.configuration.historydir=i}),p()(),v(61,"br"),h(62,"h3"),f(63,"Plugins"),p(),h(64,"div",6),f(65,"Optional plugin files for "),h(66,"a",17),f(67,"custom reports"),p(),f(68," or "),h(69,"a",18),f(70,"custom history storage"),p(),f(71,"."),p(),$(72,zk,6,2,"div",14),h(73,"div",8)(74,"a",9),F("click",function(){return r.configuration.addPlugin()}),v(75,"i",10),f(76," Add plugin"),p()(),v(77,"br"),h(78,"h3"),f(79,"Assembly filters"),p(),h(80,"div",6),f(81,"Optional list of "),h(82,"b"),f(83,"assemblies"),p(),f(84," that should be included or excluded in the report. "),v(85,"br"),f(86,"Exclusion filters take precedence over inclusion filters. "),v(87,"br"),f(88,"Wildcards are allowed."),v(89,"br"),h(90,"p"),f(91,"Examples:"),v(92,"br"),h(93,"code"),f(94,"+Included"),p(),v(95,"br"),h(96,"code"),f(97,"-Excluded"),p()()(),$(98,qk,6,2,"div",14),h(99,"div",8)(100,"a",9),F("click",function(){return r.configuration.addAssemblyFilter()}),v(101,"i",10),f(102," Add assembly filter"),p()(),v(103,"br"),h(104,"h3"),f(105,"Class filters"),p(),h(106,"div",6),f(107,"Optional list of "),h(108,"b"),f(109,"classes"),p(),f(110," that should be included or excluded in the report. "),v(111,"br"),f(112,"Exclusion filters take precedence over inclusion filters. "),v(113,"br"),f(114,"Wildcards are allowed."),v(115,"br"),h(116,"p"),f(117,"Examples:"),v(118,"br"),h(119,"code"),f(120,"+Included"),p(),v(121,"br"),h(122,"code"),f(123,"-Excluded"),p()()(),$(124,Wk,6,2,"div",14),h(125,"div",8)(126,"a",9),F("click",function(){return r.configuration.addClassFilter()}),v(127,"i",10),f(128," Add class filter"),p()(),v(129,"br"),h(130,"h3"),f(131,"File filters"),p(),h(132,"div",6),f(133,"Optional list of "),h(134,"b"),f(135,"files"),p(),f(136," that should be included or excluded in the report. "),v(137,"br"),f(138,"Exclusion filters take precedence over inclusion filters. "),v(139,"br"),f(140,"Wildcards are allowed."),v(141,"br"),h(142,"p"),f(143,"Examples:"),v(144,"br"),h(145,"code"),f(146,"+Included"),p(),v(147,"br"),h(148,"code"),f(149,"-Excluded"),p()()(),$(150,Kk,6,2,"div",14),h(151,"div",8)(152,"a",9),F("click",function(){return r.configuration.addFileFilter()}),v(153,"i",10),f(154," Add file filter"),p()(),v(155,"br"),h(156,"h3"),f(157,"Verbosity"),p(),h(158,"div",6),f(159,"The verbosity level of the log messages."),p(),h(160,"div",8)(161,"select",19),F("ngModelChange",function(i){return r.configuration.selectedverbosity=i}),$(162,Yk,2,2,"option",20),p()(),v(163,"br"),h(164,"h3"),f(165,"Title"),p(),h(166,"div",6),f(167,"Optional title."),p(),h(168,"div",8)(169,"input",21),F("ngModelChange",function(i){return r.configuration.title=i}),p()(),v(170,"br"),h(171,"h3"),f(172,"Tag"),p(),h(173,"div",6),f(174,"Optional tag or build version."),p(),h(175,"div",8)(176,"input",22),F("ngModelChange",function(i){return r.configuration.tag=i}),p()(),v(177,"br"),h(178,"h3"),f(179,"License"),p(),h(180,"div",6),f(181,"Optional license. Get your license here: "),h(182,"a",23),f(183,"https://reportgenerator.io/pro"),p()(),h(184,"div",8)(185,"textarea",24),F("ngModelChange",function(i){return r.configuration.license=i}),p()()()(),h(186,"div",25)(187,"div",26)(188,"h3"),f(189,"Instructions"),p(),f(190," Install "),h(191,"a",27),f(192),p(),$(193,Zk,6,2,"div",28),h(194,"h4",29),f(195,"Usage"),p(),h(196,"pre",30),f(197),p(),h(198,"button",31),F("click",function(){return r.copy()}),$(199,Qk,3,0,"span",5),$(200,Xk,3,0,"span",5),p()(),h(201,"div",32)(202,"h3"),f(203,"Instructions"),p(),f(204," Install "),h(205,"a",27),f(206),p(),$(207,Jk,6,2,"div",28),h(208,"h4",29),f(209,"Usage"),p(),h(210,"pre",30),f(211),p(),h(212,"button",31),F("click",function(){return r.copy()}),$(213,eL,3,0,"span",5),$(214,tL,3,0,"span",5),p()()()()()),2&t&&(C(8),S("ngForOf",r.environments),C(2),S("ngIf",r.severalPackagesAvailable()),C(8),S("ngForOf",r.configuration.reports)("ngForTrackBy",r.trackByIndex),C(11),S("ngModel",r.configuration.targetdir),C(8),S("ngForOf",r.configuration.reporttypes)("ngForTrackBy",r.trackByIndex),C(7),S("ngForOf",r.configuration.sourcedirectories)("ngForTrackBy",r.trackByIndex),C(16),S("ngModel",r.configuration.historydir)("required",r.configuration.historyDirRequired()),C(12),S("ngForOf",r.configuration.plugins)("ngForTrackBy",r.trackByIndex),C(26),S("ngForOf",r.configuration.assemblyfilters)("ngForTrackBy",r.trackByIndex),C(26),S("ngForOf",r.configuration.classfilters)("ngForTrackBy",r.trackByIndex),C(26),S("ngForOf",r.configuration.filefilters)("ngForTrackBy",r.trackByIndex),C(11),S("ngModel",r.configuration.selectedverbosity),C(1),S("ngForOf",r.configuration.verbosities)("ngForTrackBy",r.trackByIndex),C(7),S("ngModel",r.configuration.title),C(7),S("ngModel",r.configuration.tag),C(6),S("routerLink",ne(38,nL)),C(3),S("ngModel",r.configuration.license),C(6),S("href",r.selectedPackage.url,Gr),C(1),Ce(r.selectedPackage.name),C(1),S("ngForOf",r.selectedPackage.installOptions),C(4),Ce(r.getUsage()),C(2),S("ngIf",!r.usageCopied),C(1),S("ngIf",r.usageCopied),C(5),S("href",r.selectedPackage.url,Gr),C(1),Ce(r.selectedPackage.name),C(1),S("ngForOf",r.selectedPackage.installOptions),C(4),Ce(r.getUsage()),C(2),S("ngIf",!r.usageCopied),C(1),S("ngIf",r.usageCopied))},dependencies:[od,r_,wa,gn,Hd,$C,zC,Mi,Ba,jd,Ad,Td,Ni,qd,ja,Ri],styles:[".sticky[_ngcontent-%COMP%]{position:sticky;top:100px}"]}),e})(),title:"Usage",data:{canonical:"/usage"}},{path:"usage.html",redirectTo:"/usage"},{path:"pro",component:xk,title:"PRO",data:{canonical:"/pro"}},{path:"pro.html",redirectTo:"/pro"},{path:"contact",component:JO,title:"Contact",data:{canonical:"/contact"}},{path:"contact.html",redirectTo:"/contact"},{path:"404",component:lk,title:"404 - Not found"},{path:"**",redirectTo:"/404"}];let oL=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Lt({type:e}),e.\u0275inj=Mt({imports:[dw.forRoot(rL,{scrollPositionRestoration:"enabled",scrollOffset:[0,0],anchorScrolling:"enabled"}),dw]}),e})();const vw=function(){return["/"]},iL=function(e){return{show:e}},Io=function(){return["link-active"]},_w=function(){return{exact:!0}},sL=function(){return["/features"]},aL=function(){return["/getstarted"]},lL=function(){return["/usage"]},uL=function(){return["/contact"]},cL=function(){return["/pro"]};let dL=(()=>{class e{constructor(){this.isExpanded=!1}collapse(){this.isExpanded=!1}toggle(){this.isExpanded=!this.isExpanded}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=At({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(t,r){1&t&&(h(0,"header",0)(1,"nav",1)(2,"div",2)(3,"a",3),v(4,"img",4),h(5,"span",5),f(6,"ReportGenerator"),p()(),h(7,"button",6),F("click",function(){return r.toggle()}),v(8,"span",7),p(),h(9,"div",8)(10,"ul",9)(11,"li",10)(12,"a",11),f(13,"Home"),p()(),h(14,"li",10)(15,"a",11),f(16,"Features"),p()(),h(17,"li",12)(18,"a",13),f(19,"Get started"),p()(),h(20,"li",12)(21,"a",11),f(22,"Usage"),p()(),h(23,"li",12)(24,"a",11),f(25,"Contact"),p()(),h(26,"li",12)(27,"a",11)(28,"span",14),f(29,"PRO"),p()()()(),v(30,"hr",15),h(31,"ul",16)(32,"li",17)(33,"a",18),v(34,"i",19),h(35,"span",20),f(36,"GitHub"),p()()(),h(37,"li",17)(38,"a",21),v(39,"i",22),h(40,"span",20),f(41,"Twitter"),p()()()()()()()()),2&t&&(C(3),S("routerLink",ne(17,vw)),C(4),Bt("aria-expanded",r.isExpanded),C(2),S("ngClass",mc(18,iL,r.isExpanded)),C(2),S("routerLinkActive",ne(20,Io))("routerLinkActiveOptions",ne(21,_w)),C(1),S("routerLink",ne(22,vw)),C(2),S("routerLinkActive",ne(23,Io))("routerLinkActiveOptions",ne(24,_w)),C(1),S("routerLink",ne(25,sL)),C(2),S("routerLinkActive",ne(26,Io)),C(1),S("routerLink",ne(27,aL)),C(2),S("routerLinkActive",ne(28,Io)),C(1),S("routerLink",ne(29,lL)),C(2),S("routerLinkActive",ne(30,Io)),C(1),S("routerLink",ne(31,uL)),C(2),S("routerLinkActive",ne(32,Io)),C(1),S("routerLink",ne(33,cL)))},dependencies:[od,gn,rw],styles:[".box-shadow[_ngcontent-%COMP%]{box-shadow:0 .25rem .75rem #0000000d}@keyframes _ngcontent-%COMP%_pro-button-animation{0%{background-color:#20a0d2;background-image:linear-gradient(50deg,#1c7ed6 0%,#23b8cf 100%)}50%{background-color:#1c8eb7;background-image:linear-gradient(50deg,#1A6FBA 0%,#1EA1B5 100%);box-shadow:0 0 6px 1px #20a0d2}to{background-color:#20a0d2;background-image:linear-gradient(50deg,#1c7ed6 0%,#23b8cf 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:#1c8eb7;background-image:linear-gradient(50deg,#1A6FBA 0%,#1EA1B5 100%);box-shadow:0 0 6px 1px #20a0d2}.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:#1c8eb7!important;font-weight:400}"]}),e})();const fL=function(){return["/pro"]};let hL=(()=>{class e{constructor(){this.years=(new Date).getFullYear()-2009}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=At({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",2,"max-height","300px"],[1,"col-xs-12","col-md-8"],[1,"fa-solid","fa-heart","githubheart"],["href","https://github.com/sponsors/danielpalme","target","_blank"],[3,"routerLink"],[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(t,r){1&t&&(h(0,"footer",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"div",4),v(5,"img",5),p(),h(6,"div",6)(7,"h2"),f(8,"Who's behind"),p(),h(9,"p"),f(10,"My name is Daniel Palme. I'm a software developer from Germany."),p(),h(11,"p"),f(12," Back in 2009 I wanted to create a code coverage report based on "),h(13,"i"),f(14,"PartCover"),p(),f(15," files."),v(16,"br"),f(17," Since no existing tool was able to merge several coverage files and generate a visual appealing report, I decided to create my own."),v(18,"br"),f(19),h(20,"i"),f(21,"ReportGenerator"),p(),f(22,". "),p(),h(23,"p"),f(24," You can support the ongoing maintenance by becoming a "),v(25,"i",7),f(26,"\xa0"),h(27,"a",8),f(28,"GitHub sponsor"),p(),f(29," or by buying a "),h(30,"a",9),f(31,"PRO license"),p(),f(32,". "),p()()()()(),h(33,"div",2)(34,"div",3),v(35,"hr"),p()(),h(36,"div",1)(37,"div",2)(38,"div",3)(39,"div",10)(40,"p")(41,"b"),f(42,"GitHub"),p()(),h(43,"a",11),f(44,"Source code"),p(),v(45,"br"),h(46,"a",12),f(47,"Wiki"),p(),v(48,"br"),h(49,"a",13),f(50,"FAQ"),p()(),h(51,"div",14)(52,"p")(53,"b"),f(54,"Download"),p()(),h(55,"i"),f(56,"NuGet"),p(),v(57,"br"),h(58,"a",15),f(59,"ReportGenerator"),p(),v(60,"br"),h(61,"a",16),f(62,"dotnet-reportgenerator-globaltool"),p(),v(63,"br"),h(64,"a",17),f(65,"ReportGenerator.Core"),p(),v(66,"br")(67,"br"),h(68,"i"),f(69,"Integration"),p(),v(70,"br"),h(71,"a",18),f(72,"GitHub actions"),p(),v(73,"br"),h(74,"a",19),f(75,"Azure DevOps"),p()(),h(76,"div",20)(77,"p")(78,"b"),f(79,"Community"),p()(),h(80,"a",11),v(81,"i",21),f(82," GitHub"),p(),v(83,"br"),h(84,"a",22),v(85,"i",23),f(86," Twitter"),p(),v(87,"br")(88,"br"),h(89,"a",24),f(90,"Privacy"),p(),v(91,"br"),h(92,"a",25),f(93,"Imprint"),p()()()()()()),2&t&&(C(19),Tn(" Fast forward ",r.years," years, I'm still maintaining "),C(11),S("routerLink",ne(2,fL)))},dependencies:[gn],styles:["footer[_ngcontent-%COMP%]{background-color:#464646}footer[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{color:#fff}"]}),e})(),pL=(()=>{class e{constructor(t,r,o){this.dom=t,this.router=r,this.activatedRoute=o}ngOnInit(){this.router.events.pipe(Yt(t=>t instanceof Jn),K(()=>this.activatedRoute),K(t=>{for(;t.firstChild;)t=t.firstChild;return t}),Yt(t=>"primary"===t.outlet),$e(t=>t.data)).subscribe(t=>{const r=`${window.location.protocol}//${window.location.hostname}`;this.updateCanonicalUrl(t.canonical?r+t.canonical:r+this.router.url)})}updateCanonicalUrl(t){const r=this.dom.getElementsByTagName("head")[0];var o=this.dom.querySelector("link[rel='canonical']")||null;null==o&&(o=this.dom.createElement("link"),r.appendChild(o)),o.setAttribute("rel","canonical"),o.setAttribute("href",t)}}return e.\u0275fac=function(t){return new(t||e)(M(et),M(pt),M(Er))},e.\u0275cmp=At({type:e,selectors:[["app-root"]],decls:3,vars:0,template:function(t,r){1&t&&v(0,"app-nav-menu")(1,"router-outlet")(2,"app-footer")},dependencies:[hf,dL,hL],encapsulation:2}),e})(),gL=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Lt({type:e,bootstrap:[pL]}),e.\u0275inj=Mt({providers:[mw,yw,hw],imports:[HR,oL,mN,wF]}),e})();UR().bootstrapModule(gL).catch(e=>console.error(e))}},fe=>{fe(fe.s=304)}]); \ No newline at end of file +"use strict";(self.webpackChunkReportGenerator_io=self.webpackChunkReportGenerator_io||[]).push([[179],{304:()=>{function fe(e){return"function"==typeof e}function Ao(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 Zi=Ao(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((r,o)=>`${o+1}) ${r.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function To(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class Et{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 i of t)i.remove(this);else t.remove(this);const{initialTeardown:r}=this;if(fe(r))try{r()}catch(i){n=i instanceof Zi?i.errors:[i]}const{_finalizers:o}=this;if(o){this._finalizers=null;for(const i of o)try{xf(i)}catch(s){n=n??[],s instanceof Zi?n=[...n,...s.errors]:n.push(s)}}if(n)throw new Zi(n)}}add(n){var t;if(n&&n!==this)if(this.closed)xf(n);else{if(n instanceof Et){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)&&To(t,n)}remove(n){const{_finalizers:t}=this;t&&To(t,n),n instanceof Et&&n._removeParent(this)}}Et.EMPTY=(()=>{const e=new Et;return e.closed=!0,e})();const Af=Et.EMPTY;function Tf(e){return e instanceof Et||e&&"closed"in e&&fe(e.remove)&&fe(e.add)&&fe(e.unsubscribe)}function xf(e){fe(e)?e():e.unsubscribe()}const tr={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Qi={setTimeout(e,n,...t){const{delegate:r}=Qi;return r?.setTimeout?r.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=Qi;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Rf(e){Qi.setTimeout(()=>{const{onUnhandledError:n}=tr;if(!n)throw e;n(e)})}function Nf(){}const Cw=hl("C",void 0,void 0);function hl(e,n,t){return{kind:e,value:n,error:t}}let nr=null;function Xi(e){if(tr.useDeprecatedSynchronousErrorHandling){const n=!nr;if(n&&(nr={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:r}=nr;if(nr=null,t)throw r}}else e()}class pl extends Et{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Tf(n)&&n.add(this)):this.destination=Iw}static create(n,t,r){return new Ji(n,t,r)}next(n){this.isStopped?ml(function ww(e){return hl("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?ml(function Dw(e){return hl("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?ml(Cw,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 Ew=Function.prototype.bind;function gl(e,n){return Ew.call(e,n)}class Sw{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(r){es(r)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(r){es(r)}else es(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){es(t)}}}class Ji extends pl{constructor(n,t,r){let o;if(super(),fe(n)||!n)o={next:n??void 0,error:t??void 0,complete:r??void 0};else{let i;this&&tr.useDeprecatedNextContext?(i=Object.create(n),i.unsubscribe=()=>this.unsubscribe(),o={next:n.next&&gl(n.next,i),error:n.error&&gl(n.error,i),complete:n.complete&&gl(n.complete,i)}):o=n}this.destination=new Sw(o)}}function es(e){tr.useDeprecatedSynchronousErrorHandling?function bw(e){tr.useDeprecatedSynchronousErrorHandling&&nr&&(nr.errorThrown=!0,nr.error=e)}(e):Rf(e)}function ml(e,n){const{onStoppedNotification:t}=tr;t&&Qi.setTimeout(()=>t(e,n))}const Iw={closed:!0,next:Nf,error:function Mw(e){throw e},complete:Nf},yl="function"==typeof Symbol&&Symbol.observable||"@@observable";function rr(e){return e}function Ff(e){return 0===e.length?rr:1===e.length?e[0]:function(t){return e.reduce((r,o)=>o(r),t)}}let Se=(()=>{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,o){const i=function xw(e){return e&&e instanceof pl||function Tw(e){return e&&fe(e.next)&&fe(e.error)&&fe(e.complete)}(e)&&Tf(e)}(t)?t:new Ji(t,r,o);return Xi(()=>{const{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return new(r=Pf(r))((o,i)=>{const s=new Ji({next:a=>{try{t(a)}catch(l){i(l),s.unsubscribe()}},error:i,complete:o});this.subscribe(s)})}_subscribe(t){var r;return null===(r=this.source)||void 0===r?void 0:r.subscribe(t)}[yl](){return this}pipe(...t){return Ff(t)(this)}toPromise(t){return new(t=Pf(t))((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=n=>new e(n),e})();function Pf(e){var n;return null!==(n=e??tr.Promise)&&void 0!==n?n:Promise}const Rw=Ao(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let mn=(()=>{class e extends Se{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const r=new Of(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new Rw}next(t){Xi(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const r of this.currentObservers)r.next(t)}})}error(t){Xi(()=>{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(){Xi(()=>{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:o,observers:i}=this;return r||o?Af:(this.currentObservers=null,i.push(t),new Et(()=>{this.currentObservers=null,To(i,t)}))}_checkFinalizedStatuses(t){const{hasError:r,thrownError:o,isStopped:i}=this;r?t.error(o):i&&t.complete()}asObservable(){const t=new Se;return t.source=this,t}}return e.create=(n,t)=>new Of(n,t),e})();class Of extends mn{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:Af}}function kf(e){return fe(e?.lift)}function Be(e){return n=>{if(kf(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 Le(e,n,t,r,o){return new Nw(e,n,t,r,o)}class Nw extends pl{constructor(n,t,r,o,i,s){super(n),this.onFinalize=i,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=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 K(e,n){return Be((t,r)=>{let o=0;t.subscribe(Le(r,i=>{r.next(e.call(n,i,o++))}))})}function or(e){return this instanceof or?(this.v=e,this):new or(e)}function kw(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 Uf(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(i){t[i]=e[i]&&function(s){return new Promise(function(a,l){!function o(i,s,a,l){Promise.resolve(l).then(function(u){i({value:u,done:a})},s)}(a,l,(s=e[i](s)).done,s.value)})}}}const Hf=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function jf(e){return fe(e?.then)}function Bf(e){return fe(e[yl])}function $f(e){return Symbol.asyncIterator&&fe(e?.[Symbol.asyncIterator])}function Gf(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 zf=function Vw(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function qf(e){return fe(e?.[zf])}function Wf(e){return function Ow(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,r=t.apply(e,n||[]),i=[];return o={},s("next"),s("throw"),s("return"),o[Symbol.asyncIterator]=function(){return this},o;function s(g){r[g]&&(o[g]=function(m){return new Promise(function(y,_){i.push([g,m,y,_])>1||a(g,m)})})}function a(g,m){try{!function l(g){g.value instanceof or?Promise.resolve(g.value.v).then(u,c):d(i[0][2],g)}(r[g](m))}catch(y){d(i[0][3],y)}}function u(g){a("next",g)}function c(g){a("throw",g)}function d(g,m){g(m),i.shift(),i.length&&a(i[0][0],i[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:r,done:o}=yield or(t.read());if(o)return yield or(void 0);yield yield or(r)}}finally{t.releaseLock()}})}function Kf(e){return fe(e?.getReader)}function Qt(e){if(e instanceof Se)return e;if(null!=e){if(Bf(e))return function Uw(e){return new Se(n=>{const t=e[yl]();if(fe(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Hf(e))return function Hw(e){return new Se(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Rf)})}(e);if($f(e))return Yf(e);if(qf(e))return function Bw(e){return new Se(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(Kf(e))return function $w(e){return Yf(Wf(e))}(e)}throw Gf(e)}function Yf(e){return new Se(n=>{(function Gw(e,n){var t,r,o,i;return function Fw(e,n,t,r){return new(t||(t=Promise))(function(i,s){function a(c){try{u(r.next(c))}catch(d){s(d)}}function l(c){try{u(r.throw(c))}catch(d){s(d)}}function u(c){c.done?i(c.value):function o(i){return i instanceof t?i:new t(function(s){s(i)})}(c.value).then(a,l)}u((r=r.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=kw(e);!(r=yield t.next()).done;)if(n.next(r.value),n.closed)return}catch(s){o={error:s}}finally{try{r&&!r.done&&(i=t.return)&&(yield i.call(t))}finally{if(o)throw o.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function yn(e,n,t,r=0,o=!1){const i=n.schedule(function(){t(),o?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(i),!o)return i}function $e(e,n,t=1/0){return fe(n)?$e((r,o)=>K((i,s)=>n(r,i,o,s))(Qt(e(r,o))),t):("number"==typeof n&&(t=n),Be((r,o)=>function zw(e,n,t,r,o,i,s,a){const l=[];let u=0,c=0,d=!1;const g=()=>{d&&!l.length&&!u&&n.complete()},m=_=>u{i&&n.next(_),u++;let D=!1;Qt(t(_,c++)).subscribe(Le(n,b=>{o?.(b),i?m(b):n.next(b)},()=>{D=!0},void 0,()=>{if(D)try{for(u--;l.length&&uy(b)):y(b)}g()}catch(b){n.error(b)}}))};return e.subscribe(Le(n,m,()=>{d=!0,g()})),()=>{a?.()}}(r,o,e,t)))}function Sr(e=1/0){return $e(rr,e)}const Xt=new Se(e=>e.complete());function _l(e){return e[e.length-1]}function Zf(e){return fe(_l(e))?e.pop():void 0}function xo(e){return function Ww(e){return e&&fe(e.schedule)}(_l(e))?e.pop():void 0}function Qf(e,n=0){return Be((t,r)=>{t.subscribe(Le(r,o=>yn(r,e,()=>r.next(o),n),()=>yn(r,e,()=>r.complete(),n),o=>yn(r,e,()=>r.error(o),n)))})}function Xf(e,n=0){return Be((t,r)=>{r.add(e.schedule(()=>t.subscribe(r),n))})}function Jf(e,n){if(!e)throw new Error("Iterable cannot be null");return new Se(t=>{yn(t,n,()=>{const r=e[Symbol.asyncIterator]();yn(t,n,()=>{r.next().then(o=>{o.done?t.complete():t.next(o.value)})},0,!0)})})}function Me(e,n){return n?function eb(e,n){if(null!=e){if(Bf(e))return function Yw(e,n){return Qt(e).pipe(Xf(n),Qf(n))}(e,n);if(Hf(e))return function Qw(e,n){return new Se(t=>{let r=0;return n.schedule(function(){r===e.length?t.complete():(t.next(e[r++]),t.closed||this.schedule())})})}(e,n);if(jf(e))return function Zw(e,n){return Qt(e).pipe(Xf(n),Qf(n))}(e,n);if($f(e))return Jf(e,n);if(qf(e))return function Xw(e,n){return new Se(t=>{let r;return yn(t,n,()=>{r=e[zf](),yn(t,n,()=>{let o,i;try{({value:o,done:i}=r.next())}catch(s){return void t.error(s)}i?t.complete():t.next(o)},0,!0)}),()=>fe(r?.return)&&r.return()})}(e,n);if(Kf(e))return function Jw(e,n){return Jf(Wf(e),n)}(e,n)}throw Gf(e)}(e,n):Qt(e)}function ir(e){return e<=0?()=>Xt:Be((n,t)=>{let r=0;n.subscribe(Le(t,o=>{++r<=e&&(t.next(o),e<=r&&t.complete())}))})}function Cl(e,n,...t){return!0===n?(e(),null):!1===n?null:n(...t).pipe(ir(1)).subscribe(()=>e())}function le(e){for(let n in e)if(e[n]===le)return n;throw Error("Could not find renamed property on target object.")}function Dl(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function he(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(he).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 wl(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const rb=le({__forward_ref__:le});function pe(e){return e.__forward_ref__=pe,e.toString=function(){return he(this())},e}function V(e){return bl(e)?e():e}function bl(e){return"function"==typeof e&&e.hasOwnProperty(rb)&&e.__forward_ref__===pe}function El(e){return e&&!!e.\u0275providers}const eh="https://g.co/ng/security#xss";class I extends Error{constructor(n,t){super(ts(n,t)),this.code=n}}function ts(e,n){return`NG0${Math.abs(e)}${n?": "+n.trim():""}`}function G(e){return"string"==typeof e?e:null==e?"":String(e)}function ns(e,n){throw new I(-201,!1)}function St(e,n){null==e&&function ie(e,n,t,r){throw new Error(`ASSERTION ERROR: ${e}`+(null==r?"":` [Expected=> ${t} ${r} ${n} <=Actual]`))}(n,e,null,"!=")}function P(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Mt(e){return{providers:e.providers||[],imports:e.imports||[]}}function rs(e){return th(e,os)||th(e,rh)}function th(e,n){return e.hasOwnProperty(n)?e[n]:null}function nh(e){return e&&(e.hasOwnProperty(Sl)||e.hasOwnProperty(fb))?e[Sl]:null}const os=le({\u0275prov:le}),Sl=le({\u0275inj:le}),rh=le({ngInjectableDef:le}),fb=le({ngInjectorDef:le});var U=(()=>((U=U||{})[U.Default=0]="Default",U[U.Host=1]="Host",U[U.Self=2]="Self",U[U.SkipSelf=4]="SkipSelf",U[U.Optional=8]="Optional",U))();let Ml;function It(e){const n=Ml;return Ml=e,n}function oh(e,n,t){const r=rs(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:t&U.Optional?null:void 0!==n?n:void ns(he(e))}const me=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),Ro={},Il="__NG_DI_FLAG__",is="ngTempTokenPath",pb="ngTokenPath",gb=/\n/gm,mb="\u0275",ih="__source";let No;function Mr(e){const n=No;return No=e,n}function yb(e,n=U.Default){if(void 0===No)throw new I(-203,!1);return null===No?oh(e,void 0,n):No.get(e,n&U.Optional?null:void 0,n)}function N(e,n=U.Default){return(function hb(){return Ml}()||yb)(V(e),n)}function Q(e,n=U.Default){return N(e,ss(n))}function ss(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Al(e){const n=[];for(let t=0;t((Jt=Jt||{})[Jt.OnPush=0]="OnPush",Jt[Jt.Default=1]="Default",Jt))(),en=(()=>{return(e=en||(en={}))[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",en;var e})();const _n={},re=[],as=le({\u0275cmp:le}),Tl=le({\u0275dir:le}),xl=le({\u0275pipe:le}),ah=le({\u0275mod:le}),Cn=le({\u0275fac:le}),Po=le({__NG_ELEMENT_ID__:le});let Db=0;function At(e){return vn(()=>{const n=uh(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===Jt.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,data:e.data||{},encapsulation:e.encapsulation||en.Emulated,id:"c"+Db++,styles:e.styles||re,_:null,schemas:e.schemas||null,tView:null};ch(t);const r=e.dependencies;return t.directiveDefs=ls(r,!1),t.pipeDefs=ls(r,!0),t})}function bb(e){return se(e)||Ye(e)}function Eb(e){return null!==e}function Lt(e){return vn(()=>({type:e.type,bootstrap:e.bootstrap||re,declarations:e.declarations||re,imports:e.imports||re,exports:e.exports||re,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function lh(e,n){if(null==e)return _n;const t={};for(const r in e)if(e.hasOwnProperty(r)){let o=e[r],i=o;Array.isArray(o)&&(i=o[1],o=o[0]),t[o]=r,n&&(n[o]=i)}return t}function B(e){return vn(()=>{const n=uh(e);return ch(n),n})}function se(e){return e[as]||null}function Ye(e){return e[Tl]||null}function ct(e){return e[xl]||null}function mt(e,n){const t=e[ah]||null;if(!t&&!0===n)throw new Error(`Type ${he(e)} does not have '\u0275mod' property.`);return t}function uh(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,exportAs:e.exportAs||null,standalone:!0===e.standalone,selectors:e.selectors||re,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:lh(e.inputs,n),outputs:lh(e.outputs)}}function ch(e){e.features?.forEach(n=>n(e))}function ls(e,n){if(!e)return null;const t=n?ct:bb;return()=>("function"==typeof e?e():e).map(r=>t(r)).filter(Eb)}const Dn=0,x=1,Y=2,we=3,Vt=4,sr=5,Ze=6,Ar=7,Ie=8,us=9,cs=10,X=11,Rl=12,Oo=13,dh=14,Tr=15,Qe=16,ko=17,xr=18,tn=19,Lo=20,fh=21,ye=22,Nl=1,hh=2,ds=7,fs=8,Rr=9,rt=10;function yt(e){return Array.isArray(e)&&"object"==typeof e[Nl]}function Ut(e){return Array.isArray(e)&&!0===e[Nl]}function Fl(e){return 0!=(4&e.flags)}function Vo(e){return e.componentOffset>-1}function hs(e){return 1==(1&e.flags)}function Ht(e){return!!e.template}function Mb(e){return 0!=(256&e[Y])}function ar(e,n){return e.hasOwnProperty(Cn)?e[Cn]:null}class Tb{constructor(n,t,r){this.previousValue=n,this.currentValue=t,this.firstChange=r}isFirstChange(){return this.firstChange}}function Tt(){return mh}function mh(e){return e.type.prototype.ngOnChanges&&(e.setInput=Rb),xb}function xb(){const e=vh(this),n=e?.current;if(n){const t=e.previous;if(t===_n)e.previous=n;else for(let r in n)t[r]=n[r];e.current=null,this.ngOnChanges(n)}}function Rb(e,n,t,r){const o=this.declaredInputs[t],i=vh(e)||function Nb(e,n){return e[yh]=n}(e,{previous:_n,current:null}),s=i.current||(i.current={}),a=i.previous,l=a[o];s[o]=new Tb(l&&l.currentValue,n,a===_n),e[r]=n}Tt.ngInherit=!0;const yh="__ngSimpleChanges__";function vh(e){return e[yh]||null}const xt=function(e,n,t){};function ze(e){for(;Array.isArray(e);)e=e[Dn];return e}function ps(e,n){return ze(n[e])}function vt(e,n){return ze(n[e.index])}function Dh(e,n){return e.data[n]}function _t(e,n){const t=n[e];return yt(t)?t:t[Dn]}function gs(e){return 64==(64&e[Y])}function Un(e,n){return null==n?null:e[n]}function wh(e){e[xr]=0}function Ol(e,n){e[sr]+=n;let t=e,r=e[we];for(;null!==r&&(1===n&&1===t[sr]||-1===n&&0===t[sr]);)r[sr]+=n,t=r,r=r[we]}const z={lFrame:Nh(null),bindingsEnabled:!0};function Eh(){return z.bindingsEnabled}function E(){return z.lFrame.lView}function te(){return z.lFrame.tView}function ue(e){return z.lFrame.contextLView=e,e[Ie]}function ce(e){return z.lFrame.contextLView=null,e}function qe(){let e=Sh();for(;null!==e&&64===e.type;)e=e.parent;return e}function Sh(){return z.lFrame.currentTNode}function nn(e,n){const t=z.lFrame;t.currentTNode=e,t.isParent=n}function kl(){return z.lFrame.isParent}function Ll(){z.lFrame.isParent=!1}function ot(){const e=z.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function Fr(){return z.lFrame.bindingIndex++}function zb(e,n){const t=z.lFrame;t.bindingIndex=t.bindingRootIndex=e,Vl(n)}function Vl(e){z.lFrame.currentDirectiveIndex=e}function Th(){return z.lFrame.currentQueryIndex}function Hl(e){z.lFrame.currentQueryIndex=e}function Wb(e){const n=e[x];return 2===n.type?n.declTNode:1===n.type?e[Ze]:null}function xh(e,n,t){if(t&U.SkipSelf){let o=n,i=e;for(;!(o=o.parent,null!==o||t&U.Host||(o=Wb(i),null===o||(i=i[Tr],10&o.type))););if(null===o)return!1;n=o,e=i}const r=z.lFrame=Rh();return r.currentTNode=n,r.lView=e,!0}function jl(e){const n=Rh(),t=e[x];z.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function Rh(){const e=z.lFrame,n=null===e?null:e.child;return null===n?Nh(e):n}function Nh(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 Fh(){const e=z.lFrame;return z.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const Ph=Fh;function Bl(){const e=Fh();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 it(){return z.lFrame.selectedIndex}function lr(e){z.lFrame.selectedIndex=e}function _e(){const e=z.lFrame;return Dh(e.tView,e.selectedIndex)}function ms(e,n){for(let t=n.directiveStart,r=n.directiveEnd;t=r)break}else n[l]<0&&(e[xr]+=65536),(a>11>16&&(3&e[Y])===n){e[Y]+=2048,xt(4,a,i);try{i.call(a)}finally{xt(5,a,i)}}}else{xt(4,a,i);try{i.call(a)}finally{xt(5,a,i)}}}const Pr=-1;class Ho{constructor(n,t,r){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=r}}function zl(e,n,t){let r=0;for(;rn){s=i-1;break}}}for(;i>16}(e),r=n;for(;t>0;)r=r[Tr],t--;return r}let ql=!0;function Ds(e){const n=ql;return ql=e,n}const Hh=255,jh=5;let aE=0;const rn={};function ws(e,n){const t=Bh(e,n);if(-1!==t)return t;const r=n[x];r.firstCreatePass&&(e.injectorIndex=n.length,Wl(r.data,e),Wl(n,null),Wl(r.blueprint,null));const o=Kl(e,n),i=e.injectorIndex;if(Uh(o)){const s=_s(o),a=Cs(o,n),l=a[x].data;for(let u=0;u<8;u++)n[i+u]=a[s+u]|l[s+u]}return n[i+8]=o,i}function Wl(e,n){e.push(0,0,0,0,0,0,0,0,n)}function Bh(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function Kl(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,r=null,o=n;for(;null!==o;){if(r=Yh(o),null===r)return Pr;if(t++,o=o[Tr],-1!==r.injectorIndex)return r.injectorIndex|t<<16}return Pr}function Yl(e,n,t){!function lE(e,n,t){let r;"string"==typeof t?r=t.charCodeAt(0)||0:t.hasOwnProperty(Po)&&(r=t[Po]),null==r&&(r=t[Po]=aE++);const o=r&Hh;n.data[e+(o>>jh)]|=1<=0?n&Hh:fE:n}(t);if("function"==typeof i){if(!xh(n,e,r))return r&U.Host?$h(o,0,r):Gh(n,t,r,o);try{const s=i(r);if(null!=s||r&U.Optional)return s;ns()}finally{Ph()}}else if("number"==typeof i){let s=null,a=Bh(e,n),l=Pr,u=r&U.Host?n[Qe][Ze]:null;for((-1===a||r&U.SkipSelf)&&(l=-1===a?Kl(e,n):n[a+8],l!==Pr&&Kh(r,!1)?(s=n[x],a=_s(l),n=Cs(l,n)):a=-1);-1!==a;){const c=n[x];if(Wh(i,a,c.data)){const d=cE(a,n,t,s,r,u);if(d!==rn)return d}l=n[a+8],l!==Pr&&Kh(r,n[x].data[a+8]===u)&&Wh(i,a,n)?(s=c,a=_s(l),n=Cs(l,n)):a=-1}}return o}function cE(e,n,t,r,o,i){const s=n[x],a=s.data[e+8],c=bs(a,s,t,null==r?Vo(a)&&ql:r!=s&&0!=(3&a.type),o&U.Host&&i===a);return null!==c?ur(n,s,c,a):rn}function bs(e,n,t,r,o){const i=e.providerIndexes,s=n.data,a=1048575&i,l=e.directiveStart,c=i>>20,g=o?a+c:e.directiveEnd;for(let m=r?a:a+c;m=l&&y.type===t)return m}if(o){const m=s[l];if(m&&Ht(m)&&m.type===t)return l}return null}function ur(e,n,t,r){let o=e[t];const i=n.data;if(function rE(e){return e instanceof Ho}(o)){const s=o;s.resolving&&function ob(e,n){const t=n?`. Dependency path: ${n.join(" > ")} > ${e}`:"";throw new I(-200,`Circular dependency in DI detected for ${e}${t}`)}(function oe(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():G(e)}(i[t]));const a=Ds(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?It(s.injectImpl):null;xh(e,r,U.Default);try{o=e[t]=s.factory(void 0,i,e,r),n.firstCreatePass&&t>=r.directiveStart&&function tE(e,n,t){const{ngOnChanges:r,ngOnInit:o,ngDoCheck:i}=n.type.prototype;if(r){const s=mh(n);(t.preOrderHooks??(t.preOrderHooks=[])).push(e,s),(t.preOrderCheckHooks??(t.preOrderCheckHooks=[])).push(e,s)}o&&(t.preOrderHooks??(t.preOrderHooks=[])).push(0-e,o),i&&((t.preOrderHooks??(t.preOrderHooks=[])).push(e,i),(t.preOrderCheckHooks??(t.preOrderCheckHooks=[])).push(e,i))}(t,i[t],n)}finally{null!==l&&It(l),Ds(a),s.resolving=!1,Ph()}}return o}function Wh(e,n,t){return!!(t[n+(e>>jh)]&1<{const n=e.prototype.constructor,t=n[Cn]||Zl(n),r=Object.prototype;let o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){const i=o[Cn]||Zl(o);if(i&&i!==t)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function Zl(e){return bl(e)?()=>{const n=Zl(V(e));return n&&n()}:ar(e)}function Yh(e){const n=e[x],t=n.type;return 2===t?n.declTNode:1===t?e[Ze]:null}const Lr="__parameters__";function Ur(e,n,t){return vn(()=>{const r=function Ql(e){return function(...t){if(e){const r=e(...t);for(const o in r)this[o]=r[o]}}}(n);function o(...i){if(this instanceof o)return r.apply(this,i),this;const s=new o(...i);return a.annotation=s,a;function a(l,u,c){const d=l.hasOwnProperty(Lr)?l[Lr]:Object.defineProperty(l,Lr,{value:[]})[Lr];for(;d.length<=c;)d.push(null);return(d[c]=d[c]||[]).push(s),l}}return t&&(o.prototype=Object.create(t.prototype)),o.prototype.ngMetadataName=e,o.annotationCls=o,o})}class R{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=P({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function cr(e,n){e.forEach(t=>Array.isArray(t)?cr(t,n):n(t))}function Qh(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function Ss(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function Ct(e,n,t){let r=Hr(e,n);return r>=0?e[1|r]=t:(r=~r,function yE(e,n,t,r){let o=e.length;if(o==n)e.push(t,r);else if(1===o)e.push(r,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]=r}}(e,r,n,t)),r}function Jl(e,n){const t=Hr(e,n);if(t>=0)return e[1|t]}function Hr(e,n){return function Xh(e,n,t){let r=0,o=e.length>>t;for(;o!==r;){const i=r+(o-r>>1),s=e[i<n?o=i:r=i+1}return~(o<((dt=dt||{})[dt.Important=1]="Important",dt[dt.DashCase=2]="DashCase",dt))();const iu=new Map;let UE=0;const au="__ngContext__";function Xe(e,n){yt(n)?(e[au]=n[Lo],function jE(e){iu.set(e[Lo],e)}(n)):e[au]=n}let lu;function uu(e,n){return lu(e,n)}function Zo(e){const n=e[we];return Ut(n)?n[we]:n}function cu(e){return vp(e[Oo])}function du(e){return vp(e[Vt])}function vp(e){for(;null!==e&&!Ut(e);)e=e[Vt];return e}function Br(e,n,t,r,o){if(null!=r){let i,s=!1;Ut(r)?i=r:yt(r)&&(s=!0,r=r[Dn]);const a=ze(r);0===e&&null!==t?null==o?Ep(n,t,a):dr(n,t,a,o||null,!0):1===e&&null!==t?dr(n,t,a,o||null,!0):2===e?function vu(e,n,t){const r=Ts(e,n);r&&function l0(e,n,t,r){e.removeChild(n,t,r)}(e,r,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=i&&function d0(e,n,t,r,o){const i=t[ds];i!==ze(t)&&Br(n,e,r,i,o);for(let a=rt;a0&&(e[t-1][Vt]=r[Vt]);const i=Ss(e,rt+n);!function JE(e,n){Qo(e,n,n[X],2,null,null),n[Dn]=null,n[Ze]=null}(r[x],r);const s=i[tn];null!==s&&s.detachView(i[x]),r[we]=null,r[Vt]=null,r[Y]&=-65}return r}function Dp(e,n){if(!(128&n[Y])){const t=n[X];t.destroyNode&&Qo(e,n,t,3,null,null),function n0(e){let n=e[Oo];if(!n)return gu(e[x],e);for(;n;){let t=null;if(yt(n))t=n[Oo];else{const r=n[rt];r&&(t=r)}if(!t){for(;n&&!n[Vt]&&n!==e;)yt(n)&&gu(n[x],n),n=n[we];null===n&&(n=e),yt(n)&&gu(n[x],n),t=n&&n[Vt]}n=t}}(n)}}function gu(e,n){if(!(128&n[Y])){n[Y]&=-65,n[Y]|=128,function a0(e,n){let t;if(null!=e&&null!=(t=e.destroyHooks))for(let r=0;r=0?r[o=s]():r[o=-s].unsubscribe(),i+=2}else{const s=r[o=t[i+1]];t[i].call(s)}if(null!==r){for(let i=o+1;i-1){const{encapsulation:i}=e.data[r.directiveStart+o];if(i===en.None||i===en.Emulated)return null}return vt(r,t)}}(e,n.parent,t)}function dr(e,n,t,r,o){e.insertBefore(n,t,r,o)}function Ep(e,n,t){e.appendChild(n,t)}function Sp(e,n,t,r,o){null!==r?dr(e,n,t,r,o):Ep(e,n,t)}function Ts(e,n){return e.parentNode(n)}let mu,Du,Fs,Ap=function Ip(e,n,t){return 40&e.type?vt(e,t):null};function xs(e,n,t,r){const o=wp(e,r,n),i=n[X],a=function Mp(e,n,t){return Ap(e,n,t)}(r.parent||n[Ze],r,n);if(null!=o)if(Array.isArray(t))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Fs}()?.createScriptURL(e)||e}class Vp{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${eh})`}}function Hn(e){return e instanceof Vp?e.changingThisBreaksApplicationSecurity:e}function Xo(e,n){const t=function b0(e){return e instanceof Vp&&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 ${eh})`)}return t===n}const I0=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;var Fe=(()=>((Fe=Fe||{})[Fe.NONE=0]="NONE",Fe[Fe.HTML=1]="HTML",Fe[Fe.STYLE=2]="STYLE",Fe[Fe.SCRIPT=3]="SCRIPT",Fe[Fe.URL=4]="URL",Fe[Fe.RESOURCE_URL=5]="RESOURCE_URL",Fe))();function Gr(e){const n=ei();return n?n.sanitize(Fe.URL,e)||"":Xo(e,"URL")?Hn(e):function bu(e){return(e=String(e)).match(I0)?e:"unsafe:"+e}(G(e))}function zp(e){const n=ei();if(n)return Lp(n.sanitize(Fe.RESOURCE_URL,e)||"");if(Xo(e,"ResourceURL"))return Lp(Hn(e));throw new I(904,!1)}function ei(){const e=E();return e&&e[Rl]}const Os=new R("ENVIRONMENT_INITIALIZER"),Wp=new R("INJECTOR",-1),Kp=new R("INJECTOR_DEF_TYPES");class Yp{get(n,t=Ro){if(t===Ro){const r=new Error(`NullInjectorError: No provider for ${he(n)}!`);throw r.name="NullInjectorError",r}return t}}function j0(...e){return{\u0275providers:Zp(0,e),\u0275fromNgModule:!0}}function Zp(e,...n){const t=[],r=new Set;let o;return cr(n,i=>{const s=i;Iu(s,t,[],r)&&(o||(o=[]),o.push(s))}),void 0!==o&&Qp(o,t),t}function Qp(e,n){for(let t=0;t{n.push(i)})}}function Iu(e,n,t,r){if(!(e=V(e)))return!1;let o=null,i=nh(e);const s=!i&&se(e);if(i||s){if(s&&!s.standalone)return!1;o=e}else{const l=e.ngModule;if(i=nh(l),!i)return!1;o=l}const a=r.has(o);if(s){if(a)return!1;if(r.add(o),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const u of l)Iu(u,n,t,r)}}else{if(!i)return!1;{if(null!=i.imports&&!a){let u;r.add(o);try{cr(i.imports,c=>{Iu(c,n,t,r)&&(u||(u=[]),u.push(c))})}finally{}void 0!==u&&Qp(u,n)}if(!a){const u=ar(o)||(()=>new o);n.push({provide:o,useFactory:u,deps:re},{provide:Kp,useValue:o,multi:!0},{provide:Os,useValue:()=>N(o),multi:!0})}const l=i.providers;null==l||a||Au(l,c=>{n.push(c)})}}return o!==e&&void 0!==e.providers}function Au(e,n){for(let t of e)El(t)&&(t=t.\u0275providers),Array.isArray(t)?Au(t,n):n(t)}const B0=le({provide:String,useValue:le});function Tu(e){return null!==e&&"object"==typeof e&&B0 in e}function fr(e){return"function"==typeof e}const xu=new R("Set Injector scope."),ks={},G0={};let Ru;function Ls(){return void 0===Ru&&(Ru=new Yp),Ru}class on{}class eg extends on{get destroyed(){return this._destroyed}constructor(n,t,r,o){super(),this.parent=t,this.source=r,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Fu(n,s=>this.processProvider(s)),this.records.set(Wp,zr(void 0,this)),o.has("environment")&&this.records.set(on,zr(void 0,this));const i=this.records.get(xu);null!=i&&"string"==typeof i.value&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(Kp.multi,re,U.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const n of this._ngOnDestroyHooks)n.ngOnDestroy();for(const n of this._onDestroyHooks)n()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),this._onDestroyHooks.length=0}}onDestroy(n){this._onDestroyHooks.push(n)}runInContext(n){this.assertNotDestroyed();const t=Mr(this),r=It(void 0);try{return n()}finally{Mr(t),It(r)}}get(n,t=Ro,r=U.Default){this.assertNotDestroyed(),r=ss(r);const o=Mr(this),i=It(void 0);try{if(!(r&U.SkipSelf)){let a=this.records.get(n);if(void 0===a){const l=function Y0(e){return"function"==typeof e||"object"==typeof e&&e instanceof R}(n)&&rs(n);a=l&&this.injectableDefInScope(l)?zr(Nu(n),ks):null,this.records.set(n,a)}if(null!=a)return this.hydrate(n,a)}return(r&U.Self?Ls():this.parent).get(n,t=r&U.Optional&&t===Ro?null:t)}catch(s){if("NullInjectorError"===s.name){if((s[is]=s[is]||[]).unshift(he(n)),o)throw s;return function _b(e,n,t,r){const o=e[is];throw n[ih]&&o.unshift(n[ih]),e.message=function Cb(e,n,t,r=null){e=e&&"\n"===e.charAt(0)&&e.charAt(1)==mb?e.slice(2):e;let o=he(n);if(Array.isArray(n))o=n.map(he).join(" -> ");else if("object"==typeof n){let i=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];i.push(s+":"+("string"==typeof a?JSON.stringify(a):he(a)))}o=`{${i.join(", ")}}`}return`${t}${r?"("+r+")":""}[${o}]: ${e.replace(gb,"\n ")}`}("\n"+e.message,o,t,r),e[pb]=o,e[is]=null,e}(s,n,"R3InjectorError",this.source)}throw s}finally{It(i),Mr(o)}}resolveInjectorInitializers(){const n=Mr(this),t=It(void 0);try{const r=this.get(Os.multi,re,U.Self);for(const o of r)o()}finally{Mr(n),It(t)}}toString(){const n=[],t=this.records;for(const r of t.keys())n.push(he(r));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new I(205,!1)}processProvider(n){let t=fr(n=V(n))?n:V(n&&n.provide);const r=function q0(e){return Tu(e)?zr(void 0,e.useValue):zr(tg(e),ks)}(n);if(fr(n)||!0!==n.multi)this.records.get(t);else{let o=this.records.get(t);o||(o=zr(void 0,ks,!0),o.factory=()=>Al(o.multi),this.records.set(t,o)),t=n,o.multi.push(n)}this.records.set(t,r)}hydrate(n,t){return t.value===ks&&(t.value=G0,t.value=t.factory()),"object"==typeof t.value&&t.value&&function K0(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}injectableDefInScope(n){if(!n.providedIn)return!1;const t=V(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}}function Nu(e){const n=rs(e),t=null!==n?n.factory:ar(e);if(null!==t)return t;if(e instanceof R)throw new I(204,!1);if(e instanceof Function)return function z0(e){const n=e.length;if(n>0)throw function Go(e,n){const t=[];for(let r=0;rt.factory(e):()=>new e}(e);throw new I(204,!1)}function tg(e,n,t){let r;if(fr(e)){const o=V(e);return ar(o)||Nu(o)}if(Tu(e))r=()=>V(e.useValue);else if(function Jp(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...Al(e.deps||[]));else if(function Xp(e){return!(!e||!e.useExisting)}(e))r=()=>N(V(e.useExisting));else{const o=V(e&&(e.useClass||e.provide));if(!function W0(e){return!!e.deps}(e))return ar(o)||Nu(o);r=()=>new o(...Al(e.deps))}return r}function zr(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function Fu(e,n){for(const t of e)Array.isArray(t)?Fu(t,n):t&&El(t)?Fu(t.\u0275providers,n):n(t)}class Z0{}class ng{}class X0{resolveComponentFactory(n){throw function Q0(e){const n=Error(`No component factory found for ${he(e)}. Did you add it to @NgModule.entryComponents?`);return n.ngComponent=e,n}(n)}}let ti=(()=>{class e{}return e.NULL=new X0,e})();function J0(){return qr(qe(),E())}function qr(e,n){return new Dt(vt(e,n))}let Dt=(()=>{class e{constructor(t){this.nativeElement=t}}return e.__NG_ELEMENT_ID__=J0,e})();function e1(e){return e instanceof Dt?e.nativeElement:e}class og{}let Sn=(()=>{class e{}return e.__NG_ELEMENT_ID__=()=>function t1(){const e=E(),t=_t(qe().index,e);return(yt(t)?t:e)[X]}(),e})(),n1=(()=>{class e{}return e.\u0275prov=P({token:e,providedIn:"root",factory:()=>null}),e})();class ni{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const r1=new ni("15.2.6"),Pu={},Ou="ngOriginalError";function ku(e){return e[Ou]}class Wr{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&ku(n);for(;t&&ku(t);)t=ku(t);return t||null}}function Mn(e){return e instanceof Function?e():e}function sg(e,n,t){let r=e.length;for(;;){const o=e.indexOf(n,t);if(-1===o)return o;if(0===o||e.charCodeAt(o-1)<=32){const i=n.length;if(o+i===r||e.charCodeAt(o+i)<=32)return o}t=o+1}}const ag="ng-template";function p1(e,n,t){let r=0,o=!0;for(;ri?"":o[d+1].toLowerCase();const m=8&r?g:null;if(m&&-1!==sg(m,u,0)||2&r&&u!==g){if(jt(r))return!1;s=!0}}}}else{if(!s&&!jt(r)&&!jt(l))return!1;if(s&&jt(l))continue;s=!1,r=l|1&r}}return jt(r)||s}function jt(e){return 0==(1&e)}function y1(e,n,t,r){if(null===n)return-1;let o=0;if(r||!t){let i=!1;for(;o-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&r?o+="."+s:4&r&&(o+=" "+s);else""!==o&&!jt(s)&&(n+=cg(i,o),o=""),r=s,i=i||!jt(r);t++}return""!==o&&(n+=cg(i,o)),n}const q={};function C(e){dg(te(),E(),it()+e,!1)}function dg(e,n,t,r){if(!r)if(3==(3&n[Y])){const i=e.preOrderCheckHooks;null!==i&&ys(n,i,t)}else{const i=e.preOrderHooks;null!==i&&vs(n,i,0,t)}lr(t)}function gg(e,n=null,t=null,r){const o=mg(e,n,t,r);return o.resolveInjectorInitializers(),o}function mg(e,n=null,t=null,r,o=new Set){const i=[t||re,j0(e)];return r=r||("object"==typeof e?void 0:he(e)),new eg(i,n||Ls(),r||null,o)}let sn=(()=>{class e{static create(t,r){if(Array.isArray(t))return gg({name:""},r,t,"");{const o=t.name??"";return gg({name:o},t.parent,t.providers,o)}}}return e.THROW_IF_NOT_FOUND=Ro,e.NULL=new Yp,e.\u0275prov=P({token:e,providedIn:"any",factory:()=>N(Wp)}),e.__NG_ELEMENT_ID__=-1,e})();function M(e,n=U.Default){const t=E();return null===t?N(e,n):zh(qe(),t,V(e),n)}function Eg(e,n){const t=e.contentQueries;if(null!==t)for(let r=0;rye&&dg(e,n,ye,!1),xt(s?2:0,o),t(r,o)}finally{lr(i),xt(s?3:1,o)}}function $u(e,n,t){if(Fl(n)){const o=n.directiveEnd;for(let i=n.directiveStart;i0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,r,i)}}(e,n,r,ri(e,t,o.hostVars,q),o)}function an(e,n,t,r,o,i){const s=vt(e,n);!function Yu(e,n,t,r,o,i,s){if(null==i)e.removeAttribute(n,o,t);else{const a=null==s?G(i):s(i,r||"",o);e.setAttribute(n,o,a,t)}}(n[X],s,i,e.value,t,r,o)}function lS(e,n,t,r,o,i){const s=i[n];if(null!==s){const a=r.setInput;for(let l=0;l0&&Zu(t)}}function Zu(e){for(let r=cu(e);null!==r;r=du(r))for(let o=rt;o0&&Zu(i)}const t=e[x].components;if(null!==t)for(let r=0;r0&&Zu(o)}}function hS(e,n){const t=_t(n,e),r=t[x];(function pS(e,n){for(let t=n.length;t-1&&(pu(n,r),Ss(t,r))}this._attachedToViewContainer=!1}Dp(this._lView[x],this._lView)}onDestroy(n){Ig(this._lView[x],this._lView,null,n)}markForCheck(){Qu(this._cdRefInjectingView||this._lView)}detach(){this._lView[Y]&=-65}reattach(){this._lView[Y]|=64}detectChanges(){Bs(this._lView[x],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new I(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function t0(e,n){Qo(e,n,n[X],2,null,null)}(this._lView[x],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new I(902,!1);this._appRef=n}}class gS extends oi{constructor(n){super(n),this._view=n}detectChanges(){const n=this._view;Bs(n[x],n,n[Ie],!1)}checkNoChanges(){}get context(){return null}}class Vg extends ti{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const t=se(n);return new ii(t,this.ngModule)}}function Ug(e){const n=[];for(let t in e)e.hasOwnProperty(t)&&n.push({propName:e[t],templateName:t});return n}class yS{constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,r){r=ss(r);const o=this.injector.get(n,Pu,r);return o!==Pu||t===Pu?o:this.parentInjector.get(n,t,r)}}class ii extends ng{get inputs(){return Ug(this.componentDef.inputs)}get outputs(){return Ug(this.componentDef.outputs)}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function b1(e){return e.map(w1).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!t}create(n,t,r,o){let i=(o=o||this.ngModule)instanceof on?o:o?.injector;i&&null!==this.componentDef.getStandaloneInjector&&(i=this.componentDef.getStandaloneInjector(i)||i);const s=i?new yS(n,i):n,a=s.get(og,null);if(null===a)throw new I(407,!1);const l=s.get(n1,null),u=a.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",d=r?function W1(e,n,t){return e.selectRootElement(n,t===en.ShadowDom)}(u,r,this.componentDef.encapsulation):hu(u,c,function mS(e){const n=e.toLowerCase();return"svg"===n?"svg":"math"===n?"math":null}(c)),g=this.componentDef.onPush?288:272,m=qu(0,null,null,1,0,null,null,null,null,null),y=Us(null,m,null,g,null,null,a,u,l,s,null);let _,D;jl(y);try{const b=this.componentDef;let A,w=null;b.findHostDirectiveDefs?(A=[],w=new Map,b.findHostDirectiveDefs(b,A,w),A.push(b)):A=[b];const L=function _S(e,n){const t=e[x],r=ye;return e[r]=n,Zr(t,r,2,"#host",null)}(y,d),de=function CS(e,n,t,r,o,i,s,a){const l=o[x];!function DS(e,n,t,r){for(const o of e)n.mergedAttrs=jo(n.mergedAttrs,o.hostAttrs);null!==n.mergedAttrs&&($s(n,n.mergedAttrs,!0),null!==t&&Fp(r,t,n))}(r,e,n,s);const u=i.createRenderer(n,t),c=Us(o,Mg(t),null,t.onPush?32:16,o[e.index],e,i,u,a||null,null,null);return l.firstCreatePass&&Ku(l,e,r.length-1),js(o,c),o[e.index]=c}(L,d,b,A,y,a,u);D=Dh(m,ye),d&&function bS(e,n,t,r){if(r)zl(e,t,["ng-version",r1.full]);else{const{attrs:o,classes:i}=function E1(e){const n=[],t=[];let r=1,o=2;for(;r0&&Np(e,t,i.join(" "))}}(u,b,d,r),void 0!==t&&function ES(e,n,t){const r=e.projection=[];for(let o=0;o=0;r--){const o=e[r];o.hostVars=n+=o.hostVars,o.hostAttrs=jo(o.hostAttrs,t=jo(t,o.hostAttrs))}}(r)}function ec(e){return e===_n?{}:e===re?[]:e}function IS(e,n){const t=e.viewQuery;e.viewQuery=t?(r,o)=>{n(r,o),t(r,o)}:n}function AS(e,n){const t=e.contentQueries;e.contentQueries=t?(r,o,i)=>{n(r,o,i),t(r,o,i)}:n}function TS(e,n){const t=e.hostBindings;e.hostBindings=t?(r,o)=>{n(r,o),t(r,o)}:n}function zs(e){return!!tc(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function tc(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function ln(e,n,t){return e[n]=t}function Je(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function Bt(e,n,t,r){const o=E();return Je(o,Fr(),n)&&(te(),an(_e(),o,e,n,t,r)),Bt}function Xr(e,n,t,r){return Je(e,Fr(),t)?n+G(t)+r:q}function $(e,n,t,r,o,i,s,a){const l=E(),u=te(),c=e+ye,d=u.firstCreatePass?function US(e,n,t,r,o,i,s,a,l){const u=n.consts,c=Zr(n,e,4,s||null,Un(u,a));Wu(n,t,c,Un(u,l)),ms(n,c);const d=c.tView=qu(2,c,r,o,i,n.directiveRegistry,n.pipeRegistry,null,n.schemas,u);return null!==n.queries&&(n.queries.template(n,c),d.queries=n.queries.embeddedTView(c)),c}(c,u,l,n,t,r,o,i,s):u.data[c];nn(d,!1);const g=l[X].createComment("");xs(u,l,g,d),Xe(g,l),js(l,l[c]=Fg(g,l,g,d)),hs(d)&&Gu(u,l,d),null!=s&&zu(l,d,a)}function S(e,n,t){const r=E();return Je(r,Fr(),n)&&wt(te(),_e(),r,e,n,r[X],t,!1),S}function nc(e,n,t,r,o){const s=o?"class":"style";Ju(e,t,n.inputs[s],s,r)}function h(e,n,t,r){const o=E(),i=te(),s=ye+e,a=o[X],l=i.firstCreatePass?function jS(e,n,t,r,o,i){const s=n.consts,l=Zr(n,e,2,r,Un(s,o));return Wu(n,t,l,Un(s,i)),null!==l.attrs&&$s(l,l.attrs,!1),null!==l.mergedAttrs&&$s(l,l.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,l),l}(s,i,o,n,t,r):i.data[s],u=o[s]=hu(a,n,function eE(){return z.lFrame.currentNamespace}()),c=hs(l);return nn(l,!0),Fp(a,u,l),32!=(32&l.flags)&&xs(i,o,u,l),0===function Vb(){return z.lFrame.elementDepthCount}()&&Xe(u,o),function Ub(){z.lFrame.elementDepthCount++}(),c&&(Gu(i,o,l),$u(i,l,o)),null!==r&&zu(o,l),h}function p(){let e=qe();kl()?Ll():(e=e.parent,nn(e,!1));const n=e;!function Hb(){z.lFrame.elementDepthCount--}();const t=te();return t.firstCreatePass&&(ms(t,e),Fl(e)&&t.queries.elementEnd(e)),null!=n.classesWithoutHost&&function oE(e){return 0!=(8&e.flags)}(n)&&nc(t,n,E(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function iE(e){return 0!=(16&e.flags)}(n)&&nc(t,n,E(),n.stylesWithoutHost,!1),p}function v(e,n,t,r){return h(e,n,t,r),p(),v}function pr(e,n,t){const r=E(),o=te(),i=e+ye,s=o.firstCreatePass?function BS(e,n,t,r,o){const i=n.consts,s=Un(i,r),a=Zr(n,e,8,"ng-container",s);return null!==s&&$s(a,s,!0),Wu(n,t,a,Un(i,o)),null!==n.queries&&n.queries.elementStart(n,a),a}(i,o,r,n,t):o.data[i];nn(s,!0);const a=r[i]=r[X].createComment("");return xs(o,r,a,s),Xe(a,r),hs(s)&&(Gu(o,r,s),$u(o,s,r)),null!=t&&zu(r,s),pr}function gr(){let e=qe();const n=te();return kl()?Ll():(e=e.parent,nn(e,!1)),n.firstCreatePass&&(ms(n,e),Fl(e)&&n.queries.elementEnd(e)),gr}function Ge(){return E()}function ai(e){return!!e&&"function"==typeof e.then}const rc=function tm(e){return!!e&&"function"==typeof e.subscribe};function F(e,n,t,r){const o=E(),i=te(),s=qe();return function rm(e,n,t,r,o,i,s){const a=hs(r),u=e.firstCreatePass&&Og(e),c=n[Ie],d=Pg(n);let g=!0;if(3&r.type||s){const _=vt(r,n),D=s?s(_):_,b=d.length,A=s?L=>s(ze(L[r.index])):r.index;let w=null;if(!s&&a&&(w=function $S(e,n,t,r){const o=e.cleanup;if(null!=o)for(let i=0;il?a[l]:null}"string"==typeof s&&(i+=2)}return null}(e,n,o,r.index)),null!==w)(w.__ngLastListenerFn__||w).__ngNextListenerFn__=i,w.__ngLastListenerFn__=i,g=!1;else{i=im(r,n,c,i,!1);const L=t.listen(D,o,i);d.push(i,L),u&&u.push(o,A,b,b+1)}}else i=im(r,n,c,i,!1);const m=r.outputs;let y;if(g&&null!==m&&(y=m[o])){const _=y.length;if(_)for(let D=0;D<_;D+=2){const de=n[y[D]][y[D+1]].subscribe(i),Ne=d.length;d.push(i,de),u&&u.push(o,r.index,Ne,-(Ne+1))}}}(i,o,o[X],s,e,n,r),F}function om(e,n,t,r){try{return xt(6,n,t),!1!==t(r)}catch(o){return Lg(e,o),!1}finally{xt(7,n,t)}}function im(e,n,t,r,o){return function i(s){if(s===Function)return r;Qu(e.componentOffset>-1?_t(e.index,n):n);let l=om(n,t,r,s),u=i.__ngNextListenerFn__;for(;u;)l=om(n,t,u,s)&&l,u=u.__ngNextListenerFn__;return o&&!1===l&&(s.preventDefault(),s.returnValue=!1),l}}function H(e=1){return function Kb(e){return(z.lFrame.contextLView=function Yb(e,n){for(;e>0;)n=n[Tr],e--;return n}(e,z.lFrame.contextLView))[Ie]}(e)}function An(e,n,t,r,o){const i=E(),s=Xr(i,n,t,r);return s!==q&&wt(te(),_e(),i,e,s,i[X],o,!1),An}function Ws(e,n){return e<<17|n<<2}function jn(e){return e>>17&32767}function oc(e){return 2|e}function mr(e){return(131068&e)>>2}function ic(e,n){return-131069&e|n<<2}function sc(e){return 1|e}function gm(e,n,t,r,o){const i=e[t+1],s=null===n;let a=r?jn(i):mr(i),l=!1;for(;0!==a&&(!1===l||s);){const c=e[a+1];XS(e[a],n)&&(l=!0,e[a+1]=r?sc(c):oc(c)),a=r?jn(c):mr(c)}l&&(e[t+1]=r?oc(i):sc(i))}function XS(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&Hr(e,n)>=0}function Ks(e,n){return function $t(e,n,t,r){const o=E(),i=te(),s=function bn(e){const n=z.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}(2);i.firstUpdatePass&&function Em(e,n,t,r){const o=e.data;if(null===o[t+1]){const i=o[it()],s=function bm(e,n){return n>=e.expandoStartIndex}(e,t);(function Am(e,n){return 0!=(e.flags&(n?8:16))})(i,r)&&null===n&&!s&&(n=!1),n=function aM(e,n,t,r){const o=function Ul(e){const n=z.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let i=r?n.residualClasses:n.residualStyles;if(null===o)0===(r?n.classBindings:n.styleBindings)&&(t=li(t=ac(null,e,n,t,r),n.attrs,r),i=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==o)if(t=ac(o,e,n,t,r),null===i){let l=function lM(e,n,t){const r=t?n.classBindings:n.styleBindings;if(0!==mr(r))return e[jn(r)]}(e,n,r);void 0!==l&&Array.isArray(l)&&(l=ac(null,e,n,l[1],r),l=li(l,n.attrs,r),function uM(e,n,t,r){e[jn(t?n.classBindings:n.styleBindings)]=r}(e,n,r,l))}else i=function cM(e,n,t){let r;const o=n.directiveEnd;for(let i=1+n.directiveStylingLast;i0)&&(u=!0)):c=t,o)if(0!==l){const g=jn(e[a+1]);e[r+1]=Ws(g,a),0!==g&&(e[g+1]=ic(e[g+1],r)),e[a+1]=function KS(e,n){return 131071&e|n<<17}(e[a+1],r)}else e[r+1]=Ws(a,0),0!==a&&(e[a+1]=ic(e[a+1],r)),a=r;else e[r+1]=Ws(l,0),0===a?a=r:e[l+1]=ic(e[l+1],r),l=r;u&&(e[r+1]=oc(e[r+1])),gm(e,c,r,!0),gm(e,c,r,!1),function QS(e,n,t,r,o){const i=o?e.residualClasses:e.residualStyles;null!=i&&"string"==typeof n&&Hr(i,n)>=0&&(t[r+1]=sc(t[r+1]))}(n,c,e,r,i),s=Ws(a,l),i?n.classBindings=s:n.styleBindings=s}(o,i,n,t,s,r)}}(i,e,s,r),n!==q&&Je(o,s,n)&&function Mm(e,n,t,r,o,i,s,a){if(!(3&n.type))return;const l=e.data,u=l[a+1],c=function YS(e){return 1==(1&e)}(u)?Im(l,n,t,o,mr(u),s):void 0;Ys(c)||(Ys(i)||function WS(e){return 2==(2&e)}(u)&&(i=Im(l,null,t,o,a,s)),function f0(e,n,t,r,o){if(n)o?e.addClass(t,r):e.removeClass(t,r);else{let i=-1===r.indexOf("-")?void 0:dt.DashCase;null==o?e.removeStyle(t,r,i):("string"==typeof o&&o.endsWith("!important")&&(o=o.slice(0,-10),i|=dt.Important),e.setStyle(t,r,o,i))}}(r,s,ps(it(),t),o,i))}(i,i.data[it()],o,o[X],e,o[s+1]=function hM(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=he(Hn(e)))),e}(n,t),r,s)}(e,n,null,!0),Ks}function ac(e,n,t,r,o){let i=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[o],u=Array.isArray(l),c=u?l[1]:l,d=null===c;let g=t[o+1];g===q&&(g=d?re:void 0);let m=d?Jl(g,r):c===r?g:void 0;if(u&&!Ys(m)&&(m=Jl(l,r)),Ys(m)&&(a=m,s))return a;const y=e[o+1];o=s?jn(y):mr(y)}if(null!==n){let l=i?n.residualClasses:n.residualStyles;null!=l&&(a=Jl(l,r))}return a}function Ys(e){return void 0!==e}function f(e,n=""){const t=E(),r=te(),o=e+ye,i=r.firstCreatePass?Zr(r,o,1,n,null):r.data[o],s=t[o]=function fu(e,n){return e.createText(n)}(t[X],n);xs(r,t,s,i),nn(i,!1)}function Ce(e){return Tn("",e,""),Ce}function Tn(e,n,t){const r=E(),o=Xr(r,e,n,t);return o!==q&&function In(e,n,t){const r=ps(n,e);!function _p(e,n,t){e.setValue(n,t)}(e[X],r,t)}(r,it(),o),Tn}const lo="en-US";let Zm=lo;function cc(e,n,t,r,o){if(e=V(e),Array.isArray(e))for(let i=0;i>20;if(fr(e)||!e.multi){const m=new Ho(l,o,M),y=fc(a,n,o?c:c+g,d);-1===y?(Yl(ws(u,s),i,a),dc(i,e,n.length),n.push(a),u.directiveStart++,u.directiveEnd++,o&&(u.providerIndexes+=1048576),t.push(m),s.push(m)):(t[y]=m,s[y]=m)}else{const m=fc(a,n,c+g,d),y=fc(a,n,c,c+g),D=y>=0&&t[y];if(o&&!D||!o&&!(m>=0&&t[m])){Yl(ws(u,s),i,a);const b=function RI(e,n,t,r,o){const i=new Ho(e,t,M);return i.multi=[],i.index=n,i.componentProviders=0,Dy(i,o,r&&!t),i}(o?xI:TI,t.length,o,r,l);!o&&D&&(t[y].providerFactory=b),dc(i,e,n.length,0),n.push(a),u.directiveStart++,u.directiveEnd++,o&&(u.providerIndexes+=1048576),t.push(b),s.push(b)}else dc(i,e,m>-1?m:y,Dy(t[o?y:m],l,!o&&r));!o&&r&&D&&t[y].componentProviders++}}}function dc(e,n,t,r){const o=fr(n),i=function $0(e){return!!e.useClass}(n);if(o||i){const l=(i?V(n.useClass):n).prototype.ngOnDestroy;if(l){const u=e.destroyHooks||(e.destroyHooks=[]);if(!o&&n.multi){const c=u.indexOf(t);-1===c?u.push(t,[r,l]):u[c+1].push(r,l)}else u.push(t,l)}}}function Dy(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function fc(e,n,t,r){for(let o=t;o{t.providersResolver=(r,o)=>function AI(e,n,t){const r=te();if(r.firstCreatePass){const o=Ht(e);cc(t,r.data,r.blueprint,o,!0),cc(n,r.data,r.blueprint,o,!1)}}(r,o?o(e):e,n)}}class uo{}class wy{}class by extends uo{constructor(n,t){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new Vg(this);const r=mt(n);this._bootstrapComponents=Mn(r.bootstrap),this._r3Injector=mg(n,t,[{provide:uo,useValue:this},{provide:ti,useValue:this.componentFactoryResolver}],he(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class pc extends wy{constructor(n){super(),this.moduleType=n}create(n){return new by(this.moduleType,n)}}class FI extends uo{constructor(n,t,r){super(),this.componentFactoryResolver=new Vg(this),this.instance=null;const o=new eg([...n,{provide:uo,useValue:this},{provide:ti,useValue:this.componentFactoryResolver}],t||Ls(),r,new Set(["environment"]));this.injector=o,o.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function ea(e,n,t=null){return new FI(e,n,t).injector}let PI=(()=>{class e{constructor(t){this._injector=t,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t.id)){const r=Zp(0,t.type),o=r.length>0?ea([r],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t.id,o)}return this.cachedInjectors.get(t.id)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}}return e.\u0275prov=P({token:e,providedIn:"environment",factory:()=>new e(N(on))}),e})();function Ey(e){e.getStandaloneInjector=n=>n.get(PI).getOrCreateStandaloneInjector(e)}function ne(e,n,t){const r=ot()+e,o=E();return o[r]===q?ln(o,r,t?n.call(t):n()):function si(e,n){return e[n]}(o,r)}function mc(e,n,t,r){return function Ry(e,n,t,r,o,i){const s=n+t;return Je(e,s,o)?ln(e,s+1,i?r.call(i,o):r(o)):function pi(e,n){const t=e[n];return t===q?void 0:t}(e,s+1)}(E(),ot(),e,n,t,r)}function yc(e){return n=>{setTimeout(e,void 0,n)}}const Ee=class oA extends mn{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,t,r){let o=n,i=t||(()=>null),s=r;if(n&&"object"==typeof n){const l=n;o=l.next?.bind(l),i=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(i=yc(i),o&&(o=yc(o)),s&&(s=yc(s)));const a=super.subscribe({next:o,error:i,complete:s});return n instanceof Et&&n.add(a),a}};function iA(){return this._results[Symbol.iterator]()}class vc{get changes(){return this._changes||(this._changes=new Ee)}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=vc.prototype;t[Symbol.iterator]||(t[Symbol.iterator]=iA)}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){const r=this;r.dirty=!1;const o=function Rt(e){return e.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function gE(e,n,t){if(e.length!==n.length)return!1;for(let r=0;r{class e{}return e.__NG_ELEMENT_ID__=lA,e})();const sA=xn,aA=class extends sA{constructor(n,t,r){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=r}createEmbeddedView(n,t){const r=this._declarationTContainer.tView,o=Us(this._declarationLView,r,n,16,null,r.declTNode,null,null,null,null,t||null);o[ko]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[tn];return null!==s&&(o[tn]=s.createEmbeddedView(r)),Bu(r,o,n),new oi(o)}};function lA(){return ta(qe(),E())}function ta(e,n){return 4&e.type?new aA(n,e,qr(e,n)):null}let zt=(()=>{class e{}return e.__NG_ELEMENT_ID__=uA,e})();function uA(){return Vy(qe(),E())}const cA=zt,ky=class extends cA{constructor(n,t,r){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=r}get element(){return qr(this._hostTNode,this._hostLView)}get injector(){return new Or(this._hostTNode,this._hostLView)}get parentInjector(){const n=Kl(this._hostTNode,this._hostLView);if(Uh(n)){const t=Cs(n,this._hostLView),r=_s(n);return new Or(t[x].data[r+8],t)}return new Or(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=Ly(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-rt}createEmbeddedView(n,t,r){let o,i;"number"==typeof r?o=r:null!=r&&(o=r.index,i=r.injector);const s=n.createEmbeddedView(t||{},i);return this.insert(s,o),s}createComponent(n,t,r,o,i){const s=n&&!function $o(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const d=t||{};a=d.index,r=d.injector,o=d.projectableNodes,i=d.environmentInjector||d.ngModuleRef}const l=s?n:new ii(se(n)),u=r||this.parentInjector;if(!i&&null==l.ngModule){const g=(s?u:this.parentInjector).get(on,null);g&&(i=g)}const c=l.create(u,o,void 0,i);return this.insert(c.hostView,a),c}insert(n,t){const r=n._lView,o=r[x];if(function Lb(e){return Ut(e[we])}(r)){const c=this.indexOf(n);if(-1!==c)this.detach(c);else{const d=r[we],g=new ky(d,d[Ze],d[we]);g.detach(g.indexOf(n))}}const i=this._adjustIndex(t),s=this._lContainer;!function r0(e,n,t,r){const o=rt+r,i=t.length;r>0&&(t[o-1][Vt]=n),r0)r.push(s[a/2]);else{const u=i[a+1],c=n[-l];for(let d=rt;d{class e{constructor(t){this.appInits=t,this.resolve=ra,this.reject=ra,this.initialized=!1,this.done=!1,this.donePromise=new Promise((r,o)=>{this.resolve=r,this.reject=o})}runInitializers(){if(this.initialized)return;const t=[],r=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let o=0;o{i.subscribe({complete:a,error:l})});t.push(s)}}Promise.all(t).then(()=>{r()}).catch(o=>{this.reject(o)}),0===t.length&&r(),this.initialized=!0}}return e.\u0275fac=function(t){return new(t||e)(N(oa,8))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const yi=new R("AppId",{providedIn:"root",factory:function cv(){return`${xc()}${xc()}${xc()}`}});function xc(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const dv=new R("Platform Initializer"),Rc=new R("Platform ID",{providedIn:"platform",factory:()=>"unknown"});let VA=(()=>{class e{log(t){console.log(t)}warn(t){console.warn(t)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();const Rn=new R("LocaleId",{providedIn:"root",factory:()=>Q(Rn,U.Optional|U.SkipSelf)||function UA(){return typeof $localize<"u"&&$localize.locale||lo}()});class jA{constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}}let fv=(()=>{class e{compileModuleSync(t){return new pc(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){const r=this.compileModuleSync(t),i=Mn(mt(t).declarations).reduce((s,a)=>{const l=se(a);return l&&s.push(new ii(l)),s},[]);return new jA(r,i)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const GA=(()=>Promise.resolve(0))();function Nc(e){typeof Zone>"u"?GA.then(()=>{e&&e.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",e)}class Ae{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Ee(!1),this.onMicrotaskEmpty=new Ee(!1),this.onStable=new Ee(!1),this.onError=new Ee(!1),typeof Zone>"u")throw new I(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!r&&t,o.shouldCoalesceRunChangeDetection=r,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function zA(){let e=me.requestAnimationFrame,n=me.cancelAnimationFrame;if(typeof Zone<"u"&&e&&n){const t=e[Zone.__symbol__("OriginalDelegate")];t&&(e=t);const r=n[Zone.__symbol__("OriginalDelegate")];r&&(n=r)}return{nativeRequestAnimationFrame:e,nativeCancelAnimationFrame:n}}().nativeRequestAnimationFrame,function KA(e){const n=()=>{!function WA(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(me,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Pc(e),e.isCheckStableRunning=!0,Fc(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Pc(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,r,o,i,s,a)=>{try{return gv(e),t.invokeTask(o,i,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||e.shouldCoalesceRunChangeDetection)&&n(),mv(e)}},onInvoke:(t,r,o,i,s,a,l)=>{try{return gv(e),t.invoke(o,i,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&n(),mv(e)}},onHasTask:(t,r,o,i)=>{t.hasTask(o,i),r===o&&("microTask"==i.change?(e._hasPendingMicrotasks=i.microTask,Pc(e),Fc(e)):"macroTask"==i.change&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(t,r,o,i)=>(t.handleError(o,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Ae.isInAngularZone())throw new I(909,!1)}static assertNotInAngularZone(){if(Ae.isInAngularZone())throw new I(909,!1)}run(n,t,r){return this._inner.run(n,t,r)}runTask(n,t,r,o){const i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,n,qA,ra,ra);try{return i.runTask(s,t,r)}finally{i.cancelTask(s)}}runGuarded(n,t,r){return this._inner.runGuarded(n,t,r)}runOutsideAngular(n){return this._outer.run(n)}}const qA={};function Fc(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 Pc(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function gv(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function mv(e){e._nesting--,Fc(e)}class YA{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Ee,this.onMicrotaskEmpty=new Ee,this.onStable=new Ee,this.onError=new Ee}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,o){return n.apply(t,r)}}const yv=new R(""),sa=new R("");let Lc,Oc=(()=>{class e{constructor(t,r,o){this._ngZone=t,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Lc||(function ZA(e){Lc=e}(o),o.addToWindow(r)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Ae.assertNotInAngularZone(),Nc(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Nc(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(t)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,r,o){let i=-1;r&&r>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==i),t(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:o})}whenStable(t,r,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,r,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,r,o){return[]}}return e.\u0275fac=function(t){return new(t||e)(N(Ae),N(kc),N(sa))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})(),kc=(()=>{class e{constructor(){this._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 Lc?.findTestabilityInTree(this,t,r)??null}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();const Nn=!1;let Bn=null;const vv=new R("AllowMultipleToken"),Vc=new R("PlatformDestroyListeners"),_v=new R("appBootstrapListener");class Cv{constructor(n,t){this.name=n,this.token=t}}function wv(e,n,t=[]){const r=`Platform: ${n}`,o=new R(r);return(i=[])=>{let s=Uc();if(!s||s.injector.get(vv,!1)){const a=[...t,...i,{provide:o,useValue:!0}];e?e(a):function JA(e){if(Bn&&!Bn.get(vv,!1))throw new I(400,!1);Bn=e;const n=e.get(Ev);(function Dv(e){const n=e.get(dv,null);n&&n.forEach(t=>t())})(e)}(function bv(e=[],n){return sn.create({name:n,providers:[{provide:xu,useValue:"platform"},{provide:Vc,useValue:new Set([()=>Bn=null])},...e]})}(a,r))}return function tT(e){const n=Uc();if(!n)throw new I(401,!1);return n}()}}function Uc(){return Bn?.get(Ev)??null}let Ev=(()=>{class e{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,r){const o=function Mv(e,n){let t;return t="noop"===e?new YA:("zone.js"===e?void 0:e)||new Ae(n),t}(r?.ngZone,function Sv(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!(!e||!e.ngZoneEventCoalescing)||!1,shouldCoalesceRunChangeDetection:!(!e||!e.ngZoneRunCoalescing)||!1}}(r)),i=[{provide:Ae,useValue:o}];return o.run(()=>{const s=sn.create({providers:i,parent:this.injector,name:t.moduleType.name}),a=t.create(s),l=a.injector.get(Wr,null);if(!l)throw new I(402,!1);return o.runOutsideAngular(()=>{const u=o.onError.subscribe({next:c=>{l.handleError(c)}});a.onDestroy(()=>{la(this._modules,a),u.unsubscribe()})}),function Iv(e,n,t){try{const r=t();return ai(r)?r.catch(o=>{throw n.runOutsideAngular(()=>e.handleError(o)),o}):r}catch(r){throw n.runOutsideAngular(()=>e.handleError(r)),r}}(l,o,()=>{const u=a.injector.get(ia);return u.runInitializers(),u.donePromise.then(()=>(function Qm(e){St(e,"Expected localeId to be defined"),"string"==typeof e&&(Zm=e.toLowerCase().replace(/_/g,"-"))}(a.injector.get(Rn,lo)||lo),this._moduleDoBootstrap(a),a))})})}bootstrapModule(t,r=[]){const o=Av({},r);return function QA(e,n,t){const r=new pc(t);return Promise.resolve(r)}(0,0,t).then(i=>this.bootstrapModuleFactory(i,o))}_moduleDoBootstrap(t){const r=t.injector.get(aa);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(o=>r.bootstrap(o));else{if(!t.instance.ngDoBootstrap)throw new I(-403,!1);t.instance.ngDoBootstrap(r)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new I(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const t=this._injector.get(Vc,null);t&&(t.forEach(r=>r()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return e.\u0275fac=function(t){return new(t||e)(N(sn))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();function Av(e,n){return Array.isArray(n)?n.reduce(Av,e):{...e,...n}}let aa=(()=>{class e{get destroyed(){return this._destroyed}get injector(){return this._injector}constructor(t,r,o){this._zone=t,this._injector=r,this._exceptionHandler=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this._destroyed=!1,this._destroyListeners=[],this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const i=new Se(a=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{a.next(this._stable),a.complete()})}),s=new Se(a=>{let l;this._zone.runOutsideAngular(()=>{l=this._zone.onStable.subscribe(()=>{Ae.assertNotInAngularZone(),Nc(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,a.next(!0))})})});const u=this._zone.onUnstable.subscribe(()=>{Ae.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{a.next(!1)}))});return()=>{l.unsubscribe(),u.unsubscribe()}});this.isStable=function tb(...e){const n=xo(e),t=function Kw(e,n){return"number"==typeof _l(e)?e.pop():n}(e,1/0),r=e;return r.length?1===r.length?Qt(r[0]):Sr(t)(Me(r,n)):Xt}(i,s.pipe(function nb(e={}){const{connector:n=(()=>new mn),resetOnError:t=!0,resetOnComplete:r=!0,resetOnRefCountZero:o=!0}=e;return i=>{let s=null,a=null,l=null,u=0,c=!1,d=!1;const g=()=>{a?.unsubscribe(),a=null},m=()=>{g(),s=l=null,c=d=!1},y=()=>{const _=s;m(),_?.unsubscribe()};return Be((_,D)=>{u++,!d&&!c&&g();const b=l=l??n();D.add(()=>{u--,0===u&&!d&&!c&&(a=Cl(y,o))}),b.subscribe(D),s||(s=new Ji({next:A=>b.next(A),error:A=>{d=!0,g(),a=Cl(m,t,A),b.error(A)},complete:()=>{c=!0,g(),a=Cl(m,r),b.complete()}}),Me(_).subscribe(s))})(i)}}()))}bootstrap(t,r){const o=t instanceof ng;if(!this._injector.get(ia).done){!o&&function Ir(e){const n=se(e)||Ye(e)||ct(e);return null!==n&&n.standalone}(t);throw new I(405,Nn)}let s;s=o?t:this._injector.get(ti).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function XA(e){return e.isBoundToModule}(s)?void 0:this._injector.get(uo),u=s.create(sn.NULL,[],r||s.selector,a),c=u.location.nativeElement,d=u.injector.get(yv,null);return d?.registerApplication(c),u.onDestroy(()=>{this.detachView(u.hostView),la(this.components,u),d?.unregisterApplication(c)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new I(101,!1);try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const r=t;this._views.push(r),r.attachToAppRef(this)}detachView(t){const r=t;la(this._views,r),r.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const r=this._injector.get(_v,[]);r.push(...this._bootstrapListeners),r.forEach(o=>o(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>la(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new I(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return e.\u0275fac=function(t){return new(t||e)(N(Ae),N(on),N(Wr))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function la(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}let ua=(()=>{class e{}return e.__NG_ELEMENT_ID__=rT,e})();function rT(e){return function oT(e,n,t){if(Vo(e)&&!t){const r=_t(e.index,n);return new oi(r,r)}return 47&e.type?new oi(n[Qe],n):null}(qe(),E(),16==(16&e))}class Fv{constructor(){}supports(n){return zs(n)}create(n){return new cT(n)}}const uT=(e,n)=>n;class cT{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||uT}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,r=this._removalsHead,o=0,i=null;for(;t||r;){const s=!r||t&&t.currentIndex{s=this._trackByFn(o,a),null!==t&&Object.is(t.trackById,s)?(r&&(t=this._verifyReinsertion(t,a,s,o)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,o),r=!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,r,o){let i;return null===n?i=this._itTail:(i=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,i,o)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(r,o))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,i,o)):n=this._addAfter(new dT(t,r),i,o),n}_verifyReinsertion(n,t,r,o){let i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==i?n=this._reinsertAfter(i,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,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const o=n._prevRemoved,i=n._nextRemoved;return null===o?this._removalsHead=i:o._nextRemoved=i,null===i?this._removalsTail=o:i._prevRemoved=o,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 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 Pv),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 Pv),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 dT{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class fT{constructor(){this._head=null,this._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 Pv{constructor(){this.map=new Map}put(n){const t=n.trackById;let r=this.map.get(t);r||(r=new fT,this.map.set(t,r)),r.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 Ov(e,n,t){const r=e.previousIndex;if(null===r)return r;let o=0;return t&&r{if(t&&t.key===o)this._maybeAddToChanges(t,r),this._appendAfter=t,t=t._next;else{const i=this._getOrCreateRecordForKey(o,r);t=this._insertBeforeOrAppend(t,i)}}),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 o=this._records.get(n);this._maybeAddToChanges(o,t);const i=o._prev,s=o._next;return i&&(i._next=s),s&&(s._prev=i),o._next=null,o._prev=null,o}const r=new pT(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 pT{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function Lv(){return new fa([new Fv])}let fa=(()=>{class e{constructor(t){this.factories=t}static create(t,r){if(null!=r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||Lv()),deps:[[e,new qo,new zo]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(null!=r)return r;throw new I(901,!1)}}return e.\u0275prov=P({token:e,providedIn:"root",factory:Lv}),e})();function Vv(){return new vi([new kv])}let vi=(()=>{class e{constructor(t){this.factories=t}static create(t,r){if(r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||Vv()),deps:[[e,new qo,new zo]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(r)return r;throw new I(901,!1)}}return e.\u0275prov=P({token:e,providedIn:"root",factory:Vv}),e})();const yT=wv(null,"core",[]);let vT=(()=>{class e{constructor(t){}}return e.\u0275fac=function(t){return new(t||e)(N(aa))},e.\u0275mod=Lt({type:e}),e.\u0275inj=Mt({}),e})();function ho(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}let Gc=null;function Fn(){return Gc}class DT{}const et=new R("DocumentToken");let zc=(()=>{class e{historyGo(t){throw new Error("Not implemented")}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:function(){return function wT(){return N(Uv)}()},providedIn:"platform"}),e})();const bT=new R("Location Initialized");let Uv=(()=>{class e extends zc{constructor(t){super(),this._doc=t,this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Fn().getBaseHref(this._doc)}onPopState(t){const r=Fn().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",t,!1),()=>r.removeEventListener("popstate",t)}onHashChange(t){const r=Fn().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,o){Hv()?this._history.pushState(t,r,o):this._location.hash=o}replaceState(t,r,o){Hv()?this._history.replaceState(t,r,o):this._location.hash=o}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return e.\u0275fac=function(t){return new(t||e)(N(et))},e.\u0275prov=P({token:e,factory:function(){return function ET(){return new Uv(N(et))}()},providedIn:"platform"}),e})();function Hv(){return!!window.history.pushState}function qc(e,n){if(0==e.length)return n;if(0==n.length)return e;let t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,2==t?e+n.substring(1):1==t?e+n:e+"/"+n}function jv(e){const n=e.match(/#|\?|$/),t=n&&n.index||e.length;return e.slice(0,t-("/"===e[t-1]?1:0))+e.slice(t)}function Pn(e){return e&&"?"!==e[0]?"?"+e:e}let _r=(()=>{class e{historyGo(t){throw new Error("Not implemented")}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:function(){return Q($v)},providedIn:"root"}),e})();const Bv=new R("appBaseHref");let $v=(()=>{class e extends _r{constructor(t,r){super(),this._platformLocation=t,this._removeListenerFns=[],this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??Q(et).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 qc(this._baseHref,t)}path(t=!1){const r=this._platformLocation.pathname+Pn(this._platformLocation.search),o=this._platformLocation.hash;return o&&t?`${r}${o}`:r}pushState(t,r,o,i){const s=this.prepareExternalUrl(o+Pn(i));this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){const s=this.prepareExternalUrl(o+Pn(i));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)}}return e.\u0275fac=function(t){return new(t||e)(N(zc),N(Bv,8))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),ST=(()=>{class e extends _r{constructor(t,r){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=r&&(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 null==r&&(r="#"),r.length>0?r.substring(1):r}prepareExternalUrl(t){const r=qc(this._baseHref,t);return r.length>0?"#"+r:r}pushState(t,r,o,i){let s=this.prepareExternalUrl(o+Pn(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){let s=this.prepareExternalUrl(o+Pn(i));0==s.length&&(s=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)}}return e.\u0275fac=function(t){return new(t||e)(N(zc),N(Bv,8))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})(),Wc=(()=>{class e{constructor(t){this._subject=new Ee,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=t;const r=this._locationStrategy.getBaseHref();this._basePath=function AT(e){if(new RegExp("^(https?:)?//").test(e)){const[,t]=e.split(/\/\/[^\/]+/);return t}return e}(jv(Gv(r))),this._locationStrategy.onPopState(o=>{this._subject.emit({url:this.path(!0),pop:!0,state:o.state,type:o.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+Pn(r))}normalize(t){return e.stripTrailingSlash(function IT(e,n){if(!e||!n.startsWith(e))return n;const t=n.substring(e.length);return""===t||["/",";","?","#"].includes(t[0])?t:n}(this._basePath,Gv(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,r="",o=null){this._locationStrategy.pushState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Pn(r)),o)}replaceState(t,r="",o=null){this._locationStrategy.replaceState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Pn(r)),o)}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._urlChangeSubscription=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)})),()=>{const r=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(r,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",r){this._urlChangeListeners.forEach(o=>o(t,r))}subscribe(t,r,o){return this._subject.subscribe({next:t,error:r,complete:o})}}return e.normalizeQueryParams=Pn,e.joinWithSlash=qc,e.stripTrailingSlash=jv,e.\u0275fac=function(t){return new(t||e)(N(_r))},e.\u0275prov=P({token:e,factory:function(){return function MT(){return new Wc(N(_r))}()},providedIn:"root"}),e})();function Gv(e){return e.replace(/\/index.html$/,"")}function Jv(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const r=t.indexOf("="),[o,i]=-1==r?[t,""]:[t.slice(0,r),t.slice(r+1)];if(o.trim()===n)return decodeURIComponent(i)}return null}const rd=/\s+/,e_=[];let od=(()=>{class e{constructor(t,r,o,i){this._iterableDiffers=t,this._keyValueDiffers=r,this._ngEl=o,this._renderer=i,this.initialClasses=e_,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(rd):e_}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(rd):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,Boolean(t[r]));this._applyStateDiff()}_updateState(t,r){const o=this.stateMap.get(t);void 0!==o?(o.enabled!==r&&(o.changed=!0,o.enabled=r),o.touched=!0):this.stateMap.set(t,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const r=t[0],o=t[1];o.changed?(this._toggleClass(r,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),o.touched=!1}}_toggleClass(t,r){(t=t.trim()).length>0&&t.split(rd).forEach(o=>{r?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}}return e.\u0275fac=function(t){return new(t||e)(M(fa),M(vi),M(Dt),M(Sn))},e.\u0275dir=B({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0}),e})();class fx{constructor(n,t,r,o){this.$implicit=n,this.ngForOf=t,this.index=r,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 r_=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,r,o){this._viewContainer=t,this._template=r,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}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((o,i,s)=>{if(null==o.previousIndex)r.createEmbeddedView(this._template,new fx(o.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)r.remove(null===i?void 0:i);else if(null!==i){const a=r.get(i);r.move(a,s),o_(a,o)}});for(let o=0,i=r.length;o{o_(r.get(o.currentIndex),o)})}static ngTemplateContextGuard(t,r){return!0}}return e.\u0275fac=function(t){return new(t||e)(M(zt),M(xn),M(fa))},e.\u0275dir=B({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),e})();function o_(e,n){e.context.$implicit=n.item}let wa=(()=>{class e{constructor(t,r){this._viewContainer=t,this._context=new px,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){i_("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){i_("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 ngTemplateContextGuard(t,r){return!0}}return e.\u0275fac=function(t){return new(t||e)(M(zt),M(xn))},e.\u0275dir=B({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),e})();class px{constructor(){this.$implicit=null,this.ngIf=null}}function i_(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${he(n)}'.`)}let Ux=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Lt({type:e}),e.\u0275inj=Mt({}),e})();let $x=(()=>{class e{}return e.\u0275prov=P({token:e,providedIn:"root",factory:()=>new Gx(N(et),window)}),e})();class Gx{constructor(n,t){this.document=n,this.window=t,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(n){this.supportsScrolling()&&this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){if(!this.supportsScrolling())return;const t=function zx(e,n){const t=e.getElementById(n)||e.getElementsByName(n)[0];if(t)return t;if("function"==typeof e.createTreeWalker&&e.body&&(e.body.createShadowRoot||e.body.attachShadow)){const r=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let o=r.currentNode;for(;o;){const i=o.shadowRoot;if(i){const s=i.getElementById(n)||i.querySelector(`[name="${n}"]`);if(s)return s}o=r.nextNode()}}return null}(this.document,n);t&&(this.scrollToElement(t),t.focus())}setHistoryScrollRestoration(n){if(this.supportScrollRestoration()){const t=this.window.history;t&&t.scrollRestoration&&(t.scrollRestoration=n)}}scrollToElement(n){const t=n.getBoundingClientRect(),r=t.left+this.window.pageXOffset,o=t.top+this.window.pageYOffset,i=this.offset();this.window.scrollTo(r-i[0],o-i[1])}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const n=u_(this.window.history)||u_(Object.getPrototypeOf(this.window.history));return!(!n||!n.writable&&!n.set)}catch{return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}function u_(e){return Object.getOwnPropertyDescriptor(e,"scrollRestoration")}class c_{}class vR extends DT{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class dd extends vR{static makeCurrent(){!function CT(e){Gc||(Gc=e)}(new dd)}onAndCancel(n,t,r){return n.addEventListener(t,r,!1),()=>{n.removeEventListener(t,r,!1)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}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 _R(){return wi=wi||document.querySelector("base"),wi?wi.getAttribute("href"):null}();return null==t?null:function CR(e){Sa=Sa||document.createElement("a"),Sa.setAttribute("href",e);const n=Sa.pathname;return"/"===n.charAt(0)?n:`/${n}`}(t)}resetBaseElement(){wi=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return Jv(document.cookie,n)}}let Sa,wi=null;const g_=new R("TRANSITION_ID"),wR=[{provide:oa,useFactory:function DR(e,n,t){return()=>{t.get(ia).donePromise.then(()=>{const r=Fn(),o=n.querySelectorAll(`style[ng-transition="${e}"]`);for(let i=0;i{class e{build(){return new XMLHttpRequest}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();const Ma=new R("EventManagerPlugins");let Ia=(()=>{class e{constructor(t,r){this._zone=r,this._eventNameToPlugin=new Map,t.forEach(o=>{o.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,r,o){return this._findPluginFor(r).addEventListener(t,r,o)}addGlobalEventListener(t,r,o){return this._findPluginFor(r).addGlobalEventListener(t,r,o)}getZone(){return this._zone}_findPluginFor(t){const r=this._eventNameToPlugin.get(t);if(r)return r;const o=this._plugins;for(let i=0;i{class e{constructor(){this.usageCount=new Map}addStyles(t){for(const r of t)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(t){for(const r of t)0===this.changeUsageCount(r,-1)&&this.onStyleRemoved(r)}onStyleRemoved(t){}onStyleAdded(t){}getAllStyles(){return this.usageCount.keys()}changeUsageCount(t,r){const o=this.usageCount;let i=o.get(t)??0;return i+=r,i>0?o.set(t,i):o.delete(t),i}ngOnDestroy(){for(const t of this.getAllStyles())this.onStyleRemoved(t);this.usageCount.clear()}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})(),bi=(()=>{class e extends y_{constructor(t){super(),this.doc=t,this.styleRef=new Map,this.hostNodes=new Set,this.resetHostNodes()}onStyleAdded(t){for(const r of this.hostNodes)this.addStyleToHost(r,t)}onStyleRemoved(t){const r=this.styleRef;r.get(t)?.forEach(i=>i.remove()),r.delete(t)}ngOnDestroy(){super.ngOnDestroy(),this.styleRef.clear(),this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const r of this.getAllStyles())this.addStyleToHost(t,r)}removeHost(t){this.hostNodes.delete(t)}addStyleToHost(t,r){const o=this.doc.createElement("style");o.textContent=r,t.appendChild(o);const i=this.styleRef.get(r);i?i.push(o):this.styleRef.set(r,[o])}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}}return e.\u0275fac=function(t){return new(t||e)(N(et))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();const 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/MathML/"},hd=/%COMP%/g,C_=new R("RemoveStylesOnCompDestory",{providedIn:"root",factory:()=>!1});function D_(e,n){return n.flat(100).map(t=>t.replace(hd,e))}function w_(e){return n=>{if("__ngUnwrap__"===n)return e;!1===e(n)&&(n.preventDefault(),n.returnValue=!1)}}let pd=(()=>{class e{constructor(t,r,o,i){this.eventManager=t,this.sharedStylesHost=r,this.appId=o,this.removeStylesOnCompDestory=i,this.rendererByCompId=new Map,this.defaultRenderer=new gd(t)}createRenderer(t,r){if(!t||!r)return this.defaultRenderer;const o=this.getOrCreateRenderer(t,r);return o instanceof S_?o.applyToHost(t):o instanceof md&&o.applyStyles(),o}getOrCreateRenderer(t,r){const o=this.rendererByCompId;let i=o.get(r.id);if(!i){const s=this.eventManager,a=this.sharedStylesHost,l=this.removeStylesOnCompDestory;switch(r.encapsulation){case en.Emulated:i=new S_(s,a,r,this.appId,l);break;case en.ShadowDom:return new RR(s,a,t,r);default:i=new md(s,a,r,l)}i.onDestroy=()=>o.delete(r.id),o.set(r.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}begin(){}end(){}}return e.\u0275fac=function(t){return new(t||e)(N(Ia),N(bi),N(yi),N(C_))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();class gd{constructor(n){this.eventManager=n,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,t){return t?document.createElementNS(fd[t]||t,n):document.createElement(n)}createComment(n){return document.createComment(n)}createText(n){return document.createTextNode(n)}appendChild(n,t){(E_(n)?n.content:n).appendChild(t)}insertBefore(n,t,r){n&&(E_(n)?n.content:n).insertBefore(t,r)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let r="string"==typeof n?document.querySelector(n):n;if(!r)throw new Error(`The selector "${n}" did not match any elements`);return t||(r.textContent=""),r}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,r,o){if(o){t=o+":"+t;const i=fd[o];i?n.setAttributeNS(i,t,r):n.setAttribute(t,r)}else n.setAttribute(t,r)}removeAttribute(n,t,r){if(r){const o=fd[r];o?n.removeAttributeNS(o,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,o){o&(dt.DashCase|dt.Important)?n.style.setProperty(t,r,o&dt.Important?"important":""):n.style[t]=r}removeStyle(n,t,r){r&dt.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,r){n[t]=r}setValue(n,t){n.nodeValue=t}listen(n,t,r){return"string"==typeof n?this.eventManager.addGlobalEventListener(n,t,w_(r)):this.eventManager.addEventListener(n,t,w_(r))}}function E_(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class RR extends gd{constructor(n,t,r,o){super(n),this.sharedStylesHost=t,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const i=D_(o.id,o.styles);for(const s of i){const a=document.createElement("style");a.textContent=s,this.shadowRoot.appendChild(a)}}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(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class md extends gd{constructor(n,t,r,o,i=r.id){super(n),this.sharedStylesHost=t,this.removeStylesOnCompDestory=o,this.rendererUsageCount=0,this.styles=D_(i,r.styles)}applyStyles(){this.sharedStylesHost.addStyles(this.styles),this.rendererUsageCount++}destroy(){this.removeStylesOnCompDestory&&(this.sharedStylesHost.removeStyles(this.styles),this.rendererUsageCount--,0===this.rendererUsageCount&&this.onDestroy?.())}}class S_ extends md{constructor(n,t,r,o,i){const s=o+"-"+r.id;super(n,t,r,i,s),this.contentAttr=function AR(e){return"_ngcontent-%COMP%".replace(hd,e)}(s),this.hostAttr=function TR(e){return"_nghost-%COMP%".replace(hd,e)}(s)}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 NR=(()=>{class e extends m_{constructor(t){super(t)}supports(t){return!0}addEventListener(t,r,o){return t.addEventListener(r,o,!1),()=>this.removeEventListener(t,r,o)}removeEventListener(t,r,o){return t.removeEventListener(r,o)}}return e.\u0275fac=function(t){return new(t||e)(N(et))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();const M_=["alt","control","meta","shift"],FR={"\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"},PR={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let OR=(()=>{class e extends m_{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,r,o){const i=e.parseEventName(r),s=e.eventCallback(i.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Fn().onAndCancel(t,i.domEventName,s))}static parseEventName(t){const r=t.toLowerCase().split("."),o=r.shift();if(0===r.length||"keydown"!==o&&"keyup"!==o)return null;const i=e._normalizeKey(r.pop());let s="",a=r.indexOf("code");if(a>-1&&(r.splice(a,1),s="code."),M_.forEach(u=>{const c=r.indexOf(u);c>-1&&(r.splice(c,1),s+=u+".")}),s+=i,0!=r.length||0===i.length)return null;const l={};return l.domEventName=o,l.fullKey=s,l}static matchEventFullKeyCode(t,r){let o=FR[t.key]||t.key,i="";return r.indexOf("code.")>-1&&(o=t.code,i="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),M_.forEach(s=>{s!==o&&(0,PR[s])(t)&&(i+=s+".")}),i+=o,i===r)}static eventCallback(t,r,o){return i=>{e.matchEventFullKeyCode(i,t)&&o.runGuarded(()=>r(i))}}static _normalizeKey(t){return"esc"===t?"escape":t}}return e.\u0275fac=function(t){return new(t||e)(N(et))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();const UR=wv(yT,"browser",[{provide:Rc,useValue:"browser"},{provide:dv,useValue:function kR(){dd.makeCurrent()},multi:!0},{provide:et,useFactory:function VR(){return function y0(e){Du=e}(document),document},deps:[]}]),T_=new R(""),x_=[{provide:sa,useClass:class bR{addToWindow(n){me.getAngularTestability=(r,o=!0)=>{const i=n.findTestabilityInTree(r,o);if(null==i)throw new Error("Could not find testability for element.");return i},me.getAllAngularTestabilities=()=>n.getAllTestabilities(),me.getAllAngularRootElements=()=>n.getAllRootElements(),me.frameworkStabilizers||(me.frameworkStabilizers=[]),me.frameworkStabilizers.push(r=>{const o=me.getAllAngularTestabilities();let i=o.length,s=!1;const a=function(l){s=s||l,i--,0==i&&r(s)};o.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(n,t,r){return null==t?null:n.getTestability(t)??(r?Fn().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:yv,useClass:Oc,deps:[Ae,kc,sa]},{provide:Oc,useClass:Oc,deps:[Ae,kc,sa]}],R_=[{provide:xu,useValue:"root"},{provide:Wr,useFactory:function LR(){return new Wr},deps:[]},{provide:Ma,useClass:NR,multi:!0,deps:[et,Ae,Rc]},{provide:Ma,useClass:OR,multi:!0,deps:[et]},{provide:pd,useClass:pd,deps:[Ia,bi,yi,C_]},{provide:og,useExisting:pd},{provide:y_,useExisting:bi},{provide:bi,useClass:bi,deps:[et]},{provide:Ia,useClass:Ia,deps:[Ma,Ae]},{provide:c_,useClass:ER,deps:[]},[]];let HR=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:yi,useValue:t.appId},{provide:g_,useExisting:yi},wR]}}}return e.\u0275fac=function(t){return new(t||e)(N(T_,12))},e.\u0275mod=Lt({type:e}),e.\u0275inj=Mt({providers:[...R_,...x_],imports:[Ux,vT]}),e})(),N_=(()=>{class e{constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}}return e.\u0275fac=function(t){return new(t||e)(N(et))},e.\u0275prov=P({token:e,factory:function(t){let r=null;return r=t?new t:function BR(){return new N_(N(et))}(),r},providedIn:"root"}),e})();function O(...e){return Me(e,xo(e))}function Gn(e,n){return fe(n)?$e(e,n,1):$e(e,1)}function Yt(e,n){return Be((t,r)=>{let o=0;t.subscribe(Le(r,i=>e.call(n,i,o++)&&r.next(i)))})}typeof window<"u"&&window;class Aa{}class _d{}class kn{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?this.lazyInit="string"==typeof n?()=>{this.headers=new Map,n.split("\n").forEach(t=>{const r=t.indexOf(":");if(r>0){const o=t.slice(0,r),i=o.toLowerCase(),s=t.slice(r+1).trim();this.maybeSetNormalizedName(o,i),this.headers.has(i)?this.headers.get(i).push(s):this.headers.set(i,[s])}})}:()=>{this.headers=new Map,Object.keys(n).forEach(t=>{let r=n[t];const o=t.toLowerCase();"string"==typeof r&&(r=[r]),r.length>0&&(this.headers.set(o,r),this.maybeSetNormalizedName(t,o))})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const 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 kn?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){const t=new kn;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof kn?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){const t=n.name.toLowerCase();switch(n.op){case"a":case"s":let r=n.value;if("string"==typeof r&&(r=[r]),0===r.length)return;this.maybeSetNormalizedName(n.name,t);const o=("a"===n.op?this.headers.get(t):void 0)||[];o.push(...r),this.headers.set(t,o);break;case"d":const i=n.value;if(i){let s=this.headers.get(t);if(!s)return;s=s.filter(a=>-1===i.indexOf(a)),0===s.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}}class KR{encodeKey(n){return O_(n)}encodeValue(n){return O_(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const ZR=/%(\d[a-f0-9])/gi,QR={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function O_(e){return encodeURIComponent(e).replace(ZR,(n,t)=>QR[t]??n)}function Ta(e){return`${e}`}class zn{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new KR,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function YR(e,n){const t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(o=>{const i=o.indexOf("="),[s,a]=-1==i?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,i)),n.decodeValue(o.slice(i+1))],l=t.get(s)||[];l.push(a),t.set(s,l)}),t}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{const r=n.fromObject[t],o=Array.isArray(r)?r.map(Ta):[Ta(r)];this.map.set(t,o)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const 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){const t=[];return Object.keys(n).forEach(r=>{const o=n[r];Array.isArray(o)?o.forEach(i=>{t.push({param:r,value:i,op:"a"})}):t.push({param:r,value:o,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=>{const t=this.encoder.encodeKey(n);return this.map.get(n).map(r=>t+"="+this.encoder.encodeValue(r)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const t=new zn({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(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":const t=("a"===n.op?this.map.get(n.param):void 0)||[];t.push(Ta(n.value)),this.map.set(n.param,t);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let r=this.map.get(n.param)||[];const o=r.indexOf(Ta(n.value));-1!==o&&r.splice(o,1),r.length>0?this.map.set(n.param,r):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class XR{constructor(){this.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 k_(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function L_(e){return typeof Blob<"u"&&e instanceof Blob}function V_(e){return typeof FormData<"u"&&e instanceof FormData}class Ei{constructor(n,t,r,o){let i;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function JR(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==r?r:null,i=o):i=r,i&&(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.context&&(this.context=i.context),i.params&&(this.params=i.params)),this.headers||(this.headers=new kn),this.context||(this.context=new XR),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ad.set(g,n.setHeaders[g]),l)),n.setParams&&(u=Object.keys(n.setParams).reduce((d,g)=>d.set(g,n.setParams[g]),u)),new Ei(t,r,i,{params:u,headers:l,context:c,reportProgress:a,responseType:o,withCredentials:s})}}var ke=(()=>((ke=ke||{})[ke.Sent=0]="Sent",ke[ke.UploadProgress=1]="UploadProgress",ke[ke.ResponseHeader=2]="ResponseHeader",ke[ke.DownloadProgress=3]="DownloadProgress",ke[ke.Response=4]="Response",ke[ke.User=5]="User",ke))();class Cd{constructor(n,t=200,r="OK"){this.headers=n.headers||new kn,this.status=void 0!==n.status?n.status:t,this.statusText=n.statusText||r,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class Dd extends Cd{constructor(n={}){super(n),this.type=ke.ResponseHeader}clone(n={}){return new Dd({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class xa extends Cd{constructor(n={}){super(n),this.type=ke.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new xa({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class U_ extends Cd{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}function wd(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}}let bd=(()=>{class e{constructor(t){this.handler=t}request(t,r,o={}){let i;if(t instanceof Ei)i=t;else{let l,u;l=o.headers instanceof kn?o.headers:new kn(o.headers),o.params&&(u=o.params instanceof zn?o.params:new zn({fromObject:o.params})),i=new Ei(t,r,void 0!==o.body?o.body:null,{headers:l,context:o.context,params:u,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials})}const s=O(i).pipe(Gn(l=>this.handler.handle(l)));if(t instanceof Ei||"events"===o.observe)return s;const a=s.pipe(Yt(l=>l instanceof xa));switch(o.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return a.pipe(K(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(K(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(K(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(K(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}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 zn).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,r={}){return this.request("OPTIONS",t,r)}patch(t,r,o={}){return this.request("PATCH",t,wd(o,r))}post(t,r,o={}){return this.request("POST",t,wd(o,r))}put(t,r,o={}){return this.request("PUT",t,wd(o,r))}}return e.\u0275fac=function(t){return new(t||e)(N(Aa))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();function H_(e,n){return n(e)}function tN(e,n){return(t,r)=>n.intercept(t,{handle:o=>e(o,r)})}const rN=new R("HTTP_INTERCEPTORS"),Si=new R("HTTP_INTERCEPTOR_FNS");function oN(){let e=null;return(n,t)=>(null===e&&(e=(Q(rN,{optional:!0})??[]).reduceRight(tN,H_)),e(n,t))}let j_=(()=>{class e extends Aa{constructor(t,r){super(),this.backend=t,this.injector=r,this.chain=null}handle(t){if(null===this.chain){const r=Array.from(new Set(this.injector.get(Si)));this.chain=r.reduceRight((o,i)=>function nN(e,n,t){return(r,o)=>t.runInContext(()=>n(r,i=>e(i,o)))}(o,i,this.injector),H_)}return this.chain(t,r=>this.backend.handle(r))}}return e.\u0275fac=function(t){return new(t||e)(N(_d),N(on))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();const lN=/^\)\]\}',?\n/;let $_=(()=>{class e{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new Se(r=>{const o=this.xhrFactory.build();if(o.open(t.method,t.urlWithParams),t.withCredentials&&(o.withCredentials=!0),t.headers.forEach((m,y)=>o.setRequestHeader(m,y.join(","))),t.headers.has("Accept")||o.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const m=t.detectContentTypeHeader();null!==m&&o.setRequestHeader("Content-Type",m)}if(t.responseType){const m=t.responseType.toLowerCase();o.responseType="json"!==m?m:"text"}const i=t.serializeBody();let s=null;const a=()=>{if(null!==s)return s;const m=o.statusText||"OK",y=new kn(o.getAllResponseHeaders()),_=function uN(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(o)||t.url;return s=new Dd({headers:y,status:o.status,statusText:m,url:_}),s},l=()=>{let{headers:m,status:y,statusText:_,url:D}=a(),b=null;204!==y&&(b=typeof o.response>"u"?o.responseText:o.response),0===y&&(y=b?200:0);let A=y>=200&&y<300;if("json"===t.responseType&&"string"==typeof b){const w=b;b=b.replace(lN,"");try{b=""!==b?JSON.parse(b):null}catch(L){b=w,A&&(A=!1,b={error:L,text:b})}}A?(r.next(new xa({body:b,headers:m,status:y,statusText:_,url:D||void 0})),r.complete()):r.error(new U_({error:b,headers:m,status:y,statusText:_,url:D||void 0}))},u=m=>{const{url:y}=a(),_=new U_({error:m,status:o.status||0,statusText:o.statusText||"Unknown Error",url:y||void 0});r.error(_)};let c=!1;const d=m=>{c||(r.next(a()),c=!0);let y={type:ke.DownloadProgress,loaded:m.loaded};m.lengthComputable&&(y.total=m.total),"text"===t.responseType&&o.responseText&&(y.partialText=o.responseText),r.next(y)},g=m=>{let y={type:ke.UploadProgress,loaded:m.loaded};m.lengthComputable&&(y.total=m.total),r.next(y)};return o.addEventListener("load",l),o.addEventListener("error",u),o.addEventListener("timeout",u),o.addEventListener("abort",u),t.reportProgress&&(o.addEventListener("progress",d),null!==i&&o.upload&&o.upload.addEventListener("progress",g)),o.send(i),r.next({type:ke.Sent}),()=>{o.removeEventListener("error",u),o.removeEventListener("abort",u),o.removeEventListener("load",l),o.removeEventListener("timeout",u),t.reportProgress&&(o.removeEventListener("progress",d),null!==i&&o.upload&&o.upload.removeEventListener("progress",g)),o.readyState!==o.DONE&&o.abort()}})}}return e.\u0275fac=function(t){return new(t||e)(N(c_))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();const Ed=new R("XSRF_ENABLED"),G_=new R("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),z_=new R("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class q_{}let fN=(()=>{class e{constructor(t,r,o){this.doc=t,this.platform=r,this.cookieName=o,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Jv(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return e.\u0275fac=function(t){return new(t||e)(N(et),N(Rc),N(G_))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();function hN(e,n){const t=e.url.toLowerCase();if(!Q(Ed)||"GET"===e.method||"HEAD"===e.method||t.startsWith("http://")||t.startsWith("https://"))return n(e);const r=Q(q_).getToken(),o=Q(z_);return null!=r&&!e.headers.has(o)&&(e=e.clone({headers:e.headers.set(o,r)})),n(e)}var Re=(()=>((Re=Re||{})[Re.Interceptors=0]="Interceptors",Re[Re.LegacyInterceptors=1]="LegacyInterceptors",Re[Re.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",Re[Re.NoXsrfProtection=3]="NoXsrfProtection",Re[Re.JsonpSupport=4]="JsonpSupport",Re[Re.RequestsMadeViaParent=5]="RequestsMadeViaParent",Re))();function po(e,n){return{\u0275kind:e,\u0275providers:n}}function pN(...e){const n=[bd,$_,j_,{provide:Aa,useExisting:j_},{provide:_d,useExisting:$_},{provide:Si,useValue:hN,multi:!0},{provide:Ed,useValue:!0},{provide:q_,useClass:fN}];for(const t of e)n.push(...t.\u0275providers);return function H0(e){return{\u0275providers:e}}(n)}const W_=new R("LEGACY_INTERCEPTOR_FN");let mN=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Lt({type:e}),e.\u0275inj=Mt({providers:[pN(po(Re.LegacyInterceptors,[{provide:W_,useFactory:oN},{provide:Si,useExisting:W_,multi:!0}]))]}),e})();const{isArray:yN}=Array,{getPrototypeOf:vN,prototype:_N,keys:CN}=Object;function K_(e){if(1===e.length){const n=e[0];if(yN(n))return{args:n,keys:null};if(function DN(e){return e&&"object"==typeof e&&vN(e)===_N}(n)){const t=CN(n);return{args:t.map(r=>n[r]),keys:t}}}return{args:e,keys:null}}const{isArray:wN}=Array;function Y_(e){return K(n=>function bN(e,n){return wN(n)?e(...n):e(n)}(e,n))}function Z_(e,n){return e.reduce((t,r,o)=>(t[r]=n[o],t),{})}let Q_=(()=>{class e{constructor(t,r){this._renderer=t,this._elementRef=r,this.onChange=o=>{},this.onTouched=()=>{}}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)}}return e.\u0275fac=function(t){return new(t||e)(M(Sn),M(Dt))},e.\u0275dir=B({type:e}),e})(),Cr=(()=>{class e extends Q_{}return e.\u0275fac=function(){let n;return function(r){return(n||(n=We(e)))(r||e)}}(),e.\u0275dir=B({type:e,features:[ae]}),e})();const dn=new R("NgValueAccessor"),MN={provide:dn,useExisting:pe(()=>Mi),multi:!0},AN=new R("CompositionEventMode");let Mi=(()=>{class e extends Q_{constructor(t,r,o){super(t,r),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function IN(){const e=Fn()?Fn().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)}}return e.\u0275fac=function(t){return new(t||e)(M(Sn),M(Dt),M(AN,8))},e.\u0275dir=B({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(t,r){1&t&&F("input",function(i){return r._handleInput(i.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(i){return r._compositionEnd(i.target.value)})},features:[ve([MN]),ae]}),e})();const TN=!1;function qn(e){return null==e||("string"==typeof e||Array.isArray(e))&&0===e.length}const tt=new R("NgValidators"),Wn=new R("NgAsyncValidators");function nC(e){return qn(e.value)?{required:!0}:null}function Ra(e){return null}function lC(e){return null!=e}function uC(e){const n=ai(e)?Me(e):e;if(TN&&!rc(n)){let t="Expected async validator to return Promise or Observable.";throw"object"==typeof e&&(t+=" Are you using a synchronous validator where an async validator is expected?"),new I(-1101,t)}return n}function cC(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function dC(e,n){return n.map(t=>t(e))}function fC(e){return e.map(n=>function RN(e){return!e.validate}(n)?n:t=>n.validate(t))}function Sd(e){return null!=e?function hC(e){if(!e)return null;const n=e.filter(lC);return 0==n.length?null:function(t){return cC(dC(t,n))}}(fC(e)):null}function Md(e){return null!=e?function pC(e){if(!e)return null;const n=e.filter(lC);return 0==n.length?null:function(t){return function EN(...e){const n=Zf(e),{args:t,keys:r}=K_(e),o=new Se(i=>{const{length:s}=t;if(!s)return void i.complete();const a=new Array(s);let l=s,u=s;for(let c=0;c{d||(d=!0,u--),a[c]=g},()=>l--,void 0,()=>{(!l||!d)&&(u||i.next(r?Z_(r,a):a),i.complete())}))}});return n?o.pipe(Y_(n)):o}(dC(t,n).map(uC)).pipe(K(cC))}}(fC(e)):null}function gC(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function Id(e){return e?Array.isArray(e)?e:[e]:[]}function Na(e,n){return Array.isArray(e)?e.includes(n):e===n}function vC(e,n){const t=Id(n);return Id(e).forEach(o=>{Na(t,o)||t.push(o)}),t}function _C(e,n){return Id(n).filter(t=>!Na(e,t))}class CC{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}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}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Sd(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=Md(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n){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 lt extends CC{get formDirective(){return null}get path(){return null}}class Kn extends CC{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class DC{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Ad=(()=>{class e extends DC{constructor(t){super(t)}}return e.\u0275fac=function(t){return new(t||e)(M(Kn,2))},e.\u0275dir=B({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,r){2&t&&Ks("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},features:[ae]}),e})(),Td=(()=>{class e extends DC{constructor(t){super(t)}}return e.\u0275fac=function(t){return new(t||e)(M(lt,10))},e.\u0275dir=B({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(t,r){2&t&&Ks("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},features:[ae]}),e})();function wC(e,n){return e?`with name: '${n}'`:`at index: ${n}`}const Nd=!1,Ii="VALID",Pa="INVALID",go="PENDING",Ai="DISABLED";function Fd(e){return(Oa(e)?e.validators:e)||null}function Pd(e,n){return(Oa(n)?n.asyncValidators:e)||null}function Oa(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class SC{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],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 valid(){return this.status===Ii}get invalid(){return this.status===Pa}get pending(){return this.status==go}get disabled(){return this.status===Ai}get enabled(){return this.status!==Ai}get dirty(){return!this.pristine}get untouched(){return!this.touched}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(vC(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(vC(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(_C(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(_C(n,this._rawAsyncValidators))}hasValidator(n){return Na(this._rawValidators,n)}hasAsyncValidator(n){return Na(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=go,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ai,this.errors=null,this._forEachChild(r=>{r.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ii,this._forEachChild(r=>{r.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Ii||this.status===go)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Ai:Ii}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=go,this._hasOwnPendingAsyncValidator=!0;const t=uC(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(r=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(r,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((r,o)=>r&&r._find(o),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){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new Ee,this.statusChanges=new Ee}_calculateStatus(){return this._allControlsDisabled()?Ai:this.errors?Pa:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(go)?go:this._anyControlsHaveStatus(Pa)?Pa:Ii}_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={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Oa(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 VN(e){return Array.isArray(e)?Sd(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function UN(e){return Array.isArray(e)?Md(e):e||null}(this._rawAsyncValidators)}}class Od extends SC{constructor(n,t,r){super(Fd(t),Pd(r,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}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={}){(function EC(e,n,t){e._forEachChild((r,o)=>{if(void 0===t[o])throw new I(1002,Nd?function LN(e,n){return`Must supply a value for form control ${wC(e,n)}`}(n,o):"")})})(this,!0,n),Object.keys(n).forEach(r=>{(function bC(e,n,t){const r=e.controls;if(!(n?Object.keys(r):r).length)throw new I(1e3,Nd?function ON(e){return`\n There are no form controls registered with this ${e?"group":"array"} yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n `}(n):"");if(!r[t])throw new I(1001,Nd?function kN(e,n){return`Cannot find form control ${wC(e,n)}`}(n,t):"")})(this,!0,r),this.controls[r].setValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(Object.keys(n).forEach(r=>{const o=this.controls[r];o&&o.patchValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((r,o)=>{r.reset(n[o],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),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()||t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{const 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(const[t,r]of Object.entries(this.controls))if(this.contains(t)&&n(r))return!0;return!1}_reduceValue(){return this._reduceChildren({},(t,r,o)=>((r.enabled||this.disabled)&&(t[o]=r.value),t))}_reduceChildren(n,t){let r=n;return this._forEachChild((o,i)=>{r=t(r,o,i)}),r}_allControlsDisabled(){for(const 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}}const mo=new R("CallSetDisabledState",{providedIn:"root",factory:()=>ka}),ka="always";function Ti(e,n,t=ka){kd(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function BN(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&MC(e,n)})}(e,n),function GN(e,n){const t=(r,o)=>{n.valueAccessor.writeValue(r),o&&n.viewToModelUpdate(r)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function $N(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&MC(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function jN(e,n){if(n.valueAccessor.setDisabledState){const t=r=>{n.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function Ua(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function kd(e,n){const t=function mC(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(gC(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const r=function yC(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(gC(r,n.asyncValidator)):"function"==typeof r&&e.setAsyncValidators([r]);const o=()=>e.updateValueAndValidity();Ua(n._rawValidators,o),Ua(n._rawAsyncValidators,o)}function MC(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const YN={provide:lt,useExisting:pe(()=>Ri)},xi=(()=>Promise.resolve())();let Ri=(()=>{class e extends lt{constructor(t,r,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._directives=new Set,this.ngSubmit=new Ee,this.form=new Od({},Sd(t),Md(r))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){xi.then(()=>{const r=this._findContainer(t.path);t.control=r.registerControl(t.name,t.control),Ti(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){xi.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name),this._directives.delete(t)})}addFormGroup(t){xi.then(()=>{const r=this._findContainer(t.path),o=new Od({});(function IC(e,n){kd(e,n)})(o,t),r.registerControl(t.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){xi.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,r){xi.then(()=>{this.form.get(t.path).setValue(r)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,function AC(e,n){e._syncPendingControls(),n.forEach(t=>{const r=t.control;"submit"===r.updateOn&&r._pendingChange&&(t.viewToModelUpdate(r._pendingValue),r._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(t),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return e.\u0275fac=function(t){return new(t||e)(M(tt,10),M(Wn,10),M(mo,8))},e.\u0275dir=B({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,r){1&t&&F("submit",function(i){return r.onSubmit(i)})("reset",function(){return r.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[ve([YN]),ae]}),e})();function TC(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function xC(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const RC=class extends SC{constructor(n=null,t,r){super(Fd(t),Pd(r,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Oa(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=xC(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){TC(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){TC(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){xC(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}},XN={provide:Kn,useExisting:pe(()=>ja)},PC=(()=>Promise.resolve())();let ja=(()=>{class e extends Kn{constructor(t,r,o,i,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new RC,this._registered=!1,this.update=new Ee,this._parent=t,this._setValidators(r),this._setAsyncValidators(o),this.valueAccessor=function Ud(e,n){if(!n)return null;let t,r,o;return Array.isArray(n),n.forEach(i=>{i.constructor===Mi?t=i:function WN(e){return Object.getPrototypeOf(e.constructor)===Cr}(i)?r=i:o=i}),o||r||t||null}(0,i)}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 Vd(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(){Ti(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){PC.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const r=t.isDisabled.currentValue,o=0!==r&&ho(r);PC.then(()=>{o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function La(e,n){return[...n.path,e]}(t,this._parent):[t]}}return e.\u0275fac=function(t){return new(t||e)(M(lt,9),M(tt,10),M(Wn,10),M(dn,10),M(ua,8),M(mo,8))},e.\u0275dir=B({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[ve([XN]),ae,Tt]}),e})(),Hd=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=B({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),e})();const eF={provide:dn,useExisting:pe(()=>jd),multi:!0};let kC=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Lt({type:e}),e.\u0275inj=Mt({}),e})(),tF=(()=>{class e{constructor(){this._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)return void this._accessors.splice(r,1)}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}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:kC}),e})(),jd=(()=>{class e extends Cr{constructor(t,r,o,i){super(t,r),this._registry=o,this._injector=i,this.setDisabledStateFired=!1,this.onChange=()=>{},this.callSetDisabledState=Q(mo,{optional:!0})??ka}ngOnInit(){this._control=this._injector.get(Kn),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||"whenDisabledForLegacyCode"===this.callSetDisabledState)&&this.setProperty("disabled",t),this.setDisabledStateFired=!0}fireUncheck(t){this.writeValue(t)}_checkName(){!this.name&&this.formControlName&&(this.name=this.formControlName)}}return e.\u0275fac=function(t){return new(t||e)(M(Sn),M(Dt),M(tF),M(sn))},e.\u0275dir=B({type:e,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(t,r){1&t&&F("change",function(){return r.onChange()})("blur",function(){return r.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[ve([eF]),ae]}),e})();const lF={provide:dn,useExisting:pe(()=>Ba),multi:!0};function BC(e,n){return null==e?`${n}`:(n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let Ba=(()=>{class e extends Cr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){this.value=t;const o=BC(this._getOptionId(t),t);this.setProperty("value",o)}registerOnChange(t){this.onChange=r=>{this.value=this._getOptionValue(r),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const r of Array.from(this._optionMap.keys()))if(this._compareWith(this._optionMap.get(r),t))return r;return null}_getOptionValue(t){const r=function uF(e){return e.split(":")[0]}(t);return this._optionMap.has(r)?this._optionMap.get(r):t}}return e.\u0275fac=function(){let n;return function(r){return(n||(n=We(e)))(r||e)}}(),e.\u0275dir=B({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(t,r){1&t&&F("change",function(i){return r.onChange(i.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[ve([lF]),ae]}),e})(),$C=(()=>{class e{constructor(t,r,o){this._element=t,this._renderer=r,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(BC(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))}}return e.\u0275fac=function(t){return new(t||e)(M(Dt),M(Sn),M(Ba,9))},e.\u0275dir=B({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),e})();const cF={provide:dn,useExisting:pe(()=>zd),multi:!0};function GC(e,n){return null==e?`${n}`:("string"==typeof n&&(n=`'${n}'`),n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let zd=(()=>{class e extends Cr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){let r;if(this.value=t,Array.isArray(t)){const o=t.map(i=>this._getOptionId(i));r=(i,s)=>{i._setSelected(o.indexOf(s.toString())>-1)}}else r=(o,i)=>{o._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(t){this.onChange=r=>{const o=[],i=r.selectedOptions;if(void 0!==i){const s=i;for(let a=0;a{class e{constructor(t,r,o){this._element=t,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(GC(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(GC(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))}}return e.\u0275fac=function(t){return new(t||e)(M(Dt),M(Sn),M(zd,9))},e.\u0275dir=B({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),e})(),Dr=(()=>{class e{constructor(){this._validator=Ra}ngOnChanges(t){if(this.inputName in t){const r=this.normalizeInput(t[this.inputName].currentValue);this._enabled=this.enabled(r),this._validator=this._enabled?this.createValidator(r):Ra,this._onChange&&this._onChange()}}validate(t){return this._validator(t)}registerOnValidatorChange(t){this._onChange=t}enabled(t){return null!=t}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=B({type:e,features:[Tt]}),e})();const pF={provide:tt,useExisting:pe(()=>Ni),multi:!0};let Ni=(()=>{class e extends Dr{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=ho,this.createValidator=t=>nC}enabled(t){return t}}return e.\u0275fac=function(){let n;return function(r){return(n||(n=We(e)))(r||e)}}(),e.\u0275dir=B({type:e,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(t,r){2&t&&Bt("required",r._enabled?"":null)},inputs:{required:"required"},features:[ve([pF]),ae]}),e})();const _F={provide:tt,useExisting:pe(()=>qd),multi:!0};let qd=(()=>{class e extends Dr{constructor(){super(...arguments),this.inputName="pattern",this.normalizeInput=t=>t,this.createValidator=t=>function aC(e){if(!e)return Ra;let n,t;return"string"==typeof e?(t="","^"!==e.charAt(0)&&(t+="^"),t+=e,"$"!==e.charAt(e.length-1)&&(t+="$"),n=new RegExp(t)):(t=e.toString(),n=e),r=>{if(qn(r.value))return null;const o=r.value;return n.test(o)?null:{pattern:{requiredPattern:t,actualValue:o}}}}(t)}}return e.\u0275fac=function(){let n;return function(r){return(n||(n=We(e)))(r||e)}}(),e.\u0275dir=B({type:e,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(t,r){2&t&&Bt("pattern",r._enabled?r.pattern:null)},inputs:{pattern:"pattern"},features:[ve([_F]),ae]}),e})(),CF=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Lt({type:e}),e.\u0275inj=Mt({imports:[kC]}),e})(),wF=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:mo,useValue:t.callSetDisabledState??ka}]}}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Lt({type:e}),e.\u0275inj=Mt({imports:[CF]}),e})();class Zt extends mn{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)}}const $a=Ao(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function eD(...e){const n=xo(e),t=Zf(e),{args:r,keys:o}=K_(e);if(0===r.length)return Me([],n);const i=new Se(function bF(e,n,t=rr){return r=>{tD(n,()=>{const{length:o}=e,i=new Array(o);let s=o,a=o;for(let l=0;l{const u=Me(e[l],n);let c=!1;u.subscribe(Le(r,d=>{i[l]=d,c||(c=!0,a--),a||r.next(t(i.slice()))},()=>{--s||r.complete()}))},r)},r)}}(r,n,o?s=>Z_(o,s):rr));return t?i.pipe(Y_(t)):i}function tD(e,n,t){e?yn(t,e,n):n()}function Wd(...e){return function EF(){return Sr(1)}()(Me(e,xo(e)))}function nD(e){return new Se(n=>{Qt(e()).subscribe(n)})}function Fi(e,n){const t=fe(e)?e:()=>e,r=o=>o.error(t());return new Se(n?o=>n.schedule(r,0,o):r)}function Kd(){return Be((e,n)=>{let t=null;e._refCount++;const r=Le(n,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(t=null);const o=e._connection,i=t;t=null,o&&(!i||o===i)&&o.unsubscribe(),n.unsubscribe()});e.subscribe(r),r.closed||(t=e.connect())})}class rD extends Se{constructor(n,t){super(),this.source=n,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,kf(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new Et;const t=this.getSubject();n.add(this.source.subscribe(Le(t,void 0,()=>{this._teardown(),t.complete()},r=>{this._teardown(),t.error(r)},()=>this._teardown()))),n.closed&&(this._connection=null,n=Et.EMPTY)}return n}refCount(){return Kd()(this)}}function fn(e,n){return Be((t,r)=>{let o=null,i=0,s=!1;const a=()=>s&&!o&&r.complete();t.subscribe(Le(r,l=>{o?.unsubscribe();let u=0;const c=i++;Qt(e(l,c)).subscribe(o=Le(r,d=>r.next(n?n(l,d,c,u++):d),()=>{o=null,a()}))},()=>{s=!0,a()}))})}function Ga(e){return Be((n,t)=>{let r=!1;n.subscribe(Le(t,o=>{r=!0,t.next(o)},()=>{r||t.next(e),t.complete()}))})}function oD(e=MF){return Be((n,t)=>{let r=!1;n.subscribe(Le(t,o=>{r=!0,t.next(o)},()=>r?t.complete():t.error(e())))})}function MF(){return new $a}function Yn(e,n){const t=arguments.length>=2;return r=>r.pipe(e?Yt((o,i)=>e(o,i,r)):rr,ir(1),t?Ga(n):oD(()=>new $a))}function nt(e,n,t){const r=fe(e)||n||t?{next:e,error:n,complete:t}:e;return r?Be((o,i)=>{var s;null===(s=r.subscribe)||void 0===s||s.call(r);let a=!0;o.subscribe(Le(i,l=>{var u;null===(u=r.next)||void 0===u||u.call(r,l),i.next(l)},()=>{var l;a=!1,null===(l=r.complete)||void 0===l||l.call(r),i.complete()},l=>{var u;a=!1,null===(u=r.error)||void 0===u||u.call(r,l),i.error(l)},()=>{var l,u;a&&(null===(l=r.unsubscribe)||void 0===l||l.call(r)),null===(u=r.finalize)||void 0===u||u.call(r)}))}):rr}function Zn(e){return Be((n,t)=>{let i,r=null,o=!1;r=n.subscribe(Le(t,void 0,void 0,s=>{i=Qt(e(s,Zn(e)(n))),r?(r.unsubscribe(),r=null,i.subscribe(t)):o=!0})),o&&(r.unsubscribe(),r=null,i.subscribe(t))})}function iD(e,n){return Be(function IF(e,n,t,r,o){return(i,s)=>{let a=t,l=n,u=0;i.subscribe(Le(s,c=>{const d=u++;l=a?e(l,c,d):(a=!0,c),r&&s.next(l)},o&&(()=>{a&&s.next(l),s.complete()})))}}(e,n,arguments.length>=2,!0))}function Yd(e){return e<=0?()=>Xt:Be((n,t)=>{let r=[];n.subscribe(Le(t,o=>{r.push(o),e{for(const o of r)t.next(o);t.complete()},void 0,()=>{r=null}))})}function sD(e,n){const t=arguments.length>=2;return r=>r.pipe(e?Yt((o,i)=>e(o,i,r)):rr,Yd(1),t?Ga(n):oD(()=>new $a))}function Zd(e){return Be((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}const W="primary",Pi=Symbol("RouteTitle");class xF{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function yo(e){return new xF(e)}function RF(e,n,t){const r=t.path.split("/");if(r.length>e.length||"full"===t.pathMatch&&(n.hasChildren()||r.lengthr[i]===o)}return e===n}function lD(e){return Array.prototype.concat.apply([],e)}function uD(e){return e.length>0?e[e.length-1]:null}function Ke(e,n){for(const t in e)e.hasOwnProperty(t)&&n(e[t],t)}function Qn(e){return rc(e)?e:ai(e)?Me(Promise.resolve(e)):O(e)}const za=!1,FF={exact:function fD(e,n,t){if(!wr(e.segments,n.segments)||!qa(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(const r in n.children)if(!e.children[r]||!fD(e.children[r],n.children[r],t))return!1;return!0},subset:hD},cD={exact:function PF(e,n){return hn(e,n)},subset:function OF(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>aD(e[t],n[t]))},ignored:()=>!0};function dD(e,n,t){return FF[t.paths](e.root,n.root,t.matrixParams)&&cD[t.queryParams](e.queryParams,n.queryParams)&&!("exact"===t.fragment&&e.fragment!==n.fragment)}function hD(e,n,t){return pD(e,n,n.segments,t)}function pD(e,n,t,r){if(e.segments.length>t.length){const o=e.segments.slice(0,t.length);return!(!wr(o,t)||n.hasChildren()||!qa(o,t,r))}if(e.segments.length===t.length){if(!wr(e.segments,t)||!qa(e.segments,t,r))return!1;for(const o in n.children)if(!e.children[o]||!hD(e.children[o],n.children[o],r))return!1;return!0}{const o=t.slice(0,e.segments.length),i=t.slice(e.segments.length);return!!(wr(e.segments,o)&&qa(e.segments,o,r)&&e.children[W])&&pD(e.children[W],n,i,r)}}function qa(e,n,t){return n.every((r,o)=>cD[t](e[o].parameters,r.parameters))}class Xn{constructor(n=new J([],{}),t={},r=null){this.root=n,this.queryParams=t,this.fragment=r}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=yo(this.queryParams)),this._queryParamMap}toString(){return VF.serialize(this)}}class J{constructor(n,t){this.segments=n,this.children=t,this.parent=null,Ke(t,(r,o)=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Wa(this)}}class Oi{constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap||(this._parameterMap=yo(this.parameters)),this._parameterMap}toString(){return yD(this)}}function wr(e,n){return e.length===n.length&&e.every((t,r)=>t.path===n[r].path)}let ki=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:function(){return new Qd},providedIn:"root"}),e})();class Qd{parse(n){const t=new WF(n);return new Xn(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){const t=`/${Li(n.root,!0)}`,r=function jF(e){const n=Object.keys(e).map(t=>{const r=e[t];return Array.isArray(r)?r.map(o=>`${Ka(t)}=${Ka(o)}`).join("&"):`${Ka(t)}=${Ka(r)}`}).filter(t=>!!t);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${t}${r}${"string"==typeof n.fragment?`#${function UF(e){return encodeURI(e)}(n.fragment)}`:""}`}}const VF=new Qd;function Wa(e){return e.segments.map(n=>yD(n)).join("/")}function Li(e,n){if(!e.hasChildren())return Wa(e);if(n){const t=e.children[W]?Li(e.children[W],!1):"",r=[];return Ke(e.children,(o,i)=>{i!==W&&r.push(`${i}:${Li(o,!1)}`)}),r.length>0?`${t}(${r.join("//")})`:t}{const t=function LF(e,n){let t=[];return Ke(e.children,(r,o)=>{o===W&&(t=t.concat(n(r,o)))}),Ke(e.children,(r,o)=>{o!==W&&(t=t.concat(n(r,o)))}),t}(e,(r,o)=>o===W?[Li(e.children[W],!1)]:[`${o}:${Li(r,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[W]?`${Wa(e)}/${t[0]}`:`${Wa(e)}/(${t.join("//")})`}}function gD(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Ka(e){return gD(e).replace(/%3B/gi,";")}function Xd(e){return gD(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Ya(e){return decodeURIComponent(e)}function mD(e){return Ya(e.replace(/\+/g,"%20"))}function yD(e){return`${Xd(e.path)}${function HF(e){return Object.keys(e).map(n=>`;${Xd(n)}=${Xd(e[n])}`).join("")}(e.parameters)}`}const BF=/^[^\/()?;=#]+/;function Za(e){const n=e.match(BF);return n?n[0]:""}const $F=/^[^=?&#]+/,zF=/^[^&#]+/;class WF{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new J([],{}):new J([],this.parseChildren())}parseQueryParams(){const 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("/");const 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[W]=new J(n,t)),r}parseSegment(){const n=Za(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new I(4009,za);return this.capture(n),new Oi(Ya(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const t=Za(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const o=Za(this.remaining);o&&(r=o,this.capture(r))}n[Ya(t)]=Ya(r)}parseQueryParam(n){const t=function GF(e){const n=e.match($F);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const s=function qF(e){const n=e.match(zF);return n?n[0]:""}(this.remaining);s&&(r=s,this.capture(r))}const o=mD(t),i=mD(r);if(n.hasOwnProperty(o)){let s=n[o];Array.isArray(s)||(s=[s],n[o]=s),s.push(i)}else n[o]=i}parseParens(n){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const r=Za(this.remaining),o=this.remaining[r.length];if("/"!==o&&")"!==o&&";"!==o)throw new I(4010,za);let i;r.indexOf(":")>-1?(i=r.slice(0,r.indexOf(":")),this.capture(i),this.capture(":")):n&&(i=W);const s=this.parseChildren();t[i]=1===Object.keys(s).length?s[W]:new J([],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)}capture(n){if(!this.consumeOptional(n))throw new I(4011,za)}}function Jd(e){return e.segments.length>0?new J([],{[W]:e}):e}function Qa(e){const n={};for(const r of Object.keys(e.children)){const i=Qa(e.children[r]);(i.segments.length>0||i.hasChildren())&&(n[r]=i)}return function KF(e){if(1===e.numberOfChildren&&e.children[W]){const n=e.children[W];return new J(e.segments.concat(n.segments),n.children)}return e}(new J(e.segments,n))}function br(e){return e instanceof Xn}const ef=!1;function YF(e,n,t,r,o){if(0===t.length)return vo(n.root,n.root,n.root,r,o);const i=function wD(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new DD(!0,0,e);let n=0,t=!1;const r=e.reduce((o,i,s)=>{if("object"==typeof i&&null!=i){if(i.outlets){const a={};return Ke(i.outlets,(l,u)=>{a[u]="string"==typeof l?l.split("/"):l}),[...o,{outlets:a}]}if(i.segmentPath)return[...o,i.segmentPath]}return"string"!=typeof i?[...o,i]:0===s?(i.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?t=!0:".."===a?n++:""!=a&&o.push(a))}),o):[...o,i]},[]);return new DD(t,n,r)}(t);return i.toRoot()?vo(n.root,n.root,new J([],{}),r,o):function s(l){const u=function QF(e,n,t,r){if(e.isAbsolute)return new _o(n.root,!0,0);if(-1===r)return new _o(t,t===n.root,0);return function bD(e,n,t){let r=e,o=n,i=t;for(;i>o;){if(i-=o,r=r.parent,!r)throw new I(4005,ef&&"Invalid number of '../'");o=r.segments.length}return new _o(r,!1,o-i)}(t,r+(Vi(e.commands[0])?0:1),e.numberOfDoubleDots)}(i,n,e.snapshot?._urlSegment,l),c=u.processChildren?Co(u.segmentGroup,u.index,i.commands):tf(u.segmentGroup,u.index,i.commands);return vo(n.root,u.segmentGroup,c,r,o)}(e.snapshot?._lastPathIndex)}function Vi(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function Ui(e){return"object"==typeof e&&null!=e&&e.outlets}function vo(e,n,t,r,o){let s,i={};r&&Ke(r,(l,u)=>{i[u]=Array.isArray(l)?l.map(c=>`${c}`):`${l}`}),s=e===n?t:CD(e,n,t);const a=Jd(Qa(s));return new Xn(a,i,o)}function CD(e,n,t){const r={};return Ke(e.children,(o,i)=>{r[i]=o===n?t:CD(o,n,t)}),new J(e.segments,r)}class DD{constructor(n,t,r){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=r,n&&r.length>0&&Vi(r[0]))throw new I(4003,ef&&"Root segment cannot have matrix parameters");const o=r.find(Ui);if(o&&o!==uD(r))throw new I(4004,ef&&"{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class _o{constructor(n,t,r){this.segmentGroup=n,this.processChildren=t,this.index=r}}function tf(e,n,t){if(e||(e=new J([],{})),0===e.segments.length&&e.hasChildren())return Co(e,n,t);const r=function JF(e,n,t){let r=0,o=n;const i={match:!1,pathIndex:0,commandIndex:0};for(;o=t.length)return i;const s=e.segments[o],a=t[r];if(Ui(a))break;const l=`${a}`,u=r0&&void 0===l)break;if(l&&u&&"object"==typeof u&&void 0===u.outlets){if(!SD(l,u,s))return i;r+=2}else{if(!SD(l,{},s))return i;r++}o++}return{match:!0,pathIndex:o,commandIndex:r}}(e,n,t),o=t.slice(r.commandIndex);if(r.match&&r.pathIndex{"string"==typeof i&&(i=[i]),null!==i&&(o[s]=tf(e.children[s],n,i))}),Ke(e.children,(i,s)=>{void 0===r[s]&&(o[s]=i)}),new J(e.segments,o)}}function nf(e,n,t){const r=e.segments.slice(0,n);let o=0;for(;o{"string"==typeof t&&(t=[t]),null!==t&&(n[r]=nf(new J([],{}),0,t))}),n}function ED(e){const n={};return Ke(e,(t,r)=>n[r]=`${t}`),n}function SD(e,n,t){return e==t.path&&hn(n,t.parameters)}const Hi="imperative";class pn{constructor(n,t){this.id=n,this.url=t}}class rf extends pn{constructor(n,t,r="imperative",o=null){super(n,t),this.type=0,this.navigationTrigger=r,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Jn extends pn{constructor(n,t,r){super(n,t),this.urlAfterRedirects=r,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class Xa extends pn{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class Ja extends pn{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=16}}class sf extends pn{constructor(n,t,r,o){super(n,t),this.error=r,this.target=o,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class tP extends pn{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class nP extends pn{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class rP extends pn{constructor(n,t,r,o,i){super(n,t),this.urlAfterRedirects=r,this.state=o,this.shouldActivate=i,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class oP extends pn{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class iP extends pn{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class sP{constructor(n){this.route=n,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class aP{constructor(n){this.route=n,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class lP{constructor(n){this.snapshot=n,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class uP{constructor(n){this.snapshot=n,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class cP{constructor(n){this.snapshot=n,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class dP{constructor(n){this.snapshot=n,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class MD{constructor(n,t,r){this.routerEvent=n,this.position=t,this.anchor=r,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}let pP=(()=>{class e{createUrlTree(t,r,o,i,s,a){return YF(t||r.root,o,i,s,a)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})(),mP=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:function(n){return pP.\u0275fac(n)},providedIn:"root"}),e})();class ID{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){const t=af(n,this._root);return t?t.children.map(r=>r.value):[]}firstChild(n){const t=af(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){const t=lf(n,this._root);return t.length<2?[]:t[t.length-2].children.map(o=>o.value).filter(o=>o!==n)}pathFromRoot(n){return lf(n,this._root).map(t=>t.value)}}function af(e,n){if(e===n.value)return n;for(const t of n.children){const r=af(e,t);if(r)return r}return null}function lf(e,n){if(e===n.value)return[n];for(const t of n.children){const r=lf(e,t);if(r.length)return r.unshift(n),r}return[]}class Ln{constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}}function Do(e){const n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}class AD extends ID{constructor(n,t){super(n),this.snapshot=t,uf(this,n)}toString(){return this.snapshot.toString()}}function TD(e,n){const t=function yP(e,n){const s=new el([],{},{},"",{},W,n,null,e.root,-1,{});return new RD("",new Ln(s,[]))}(e,n),r=new Zt([new Oi("",{})]),o=new Zt({}),i=new Zt({}),s=new Zt({}),a=new Zt(""),l=new Er(r,o,s,a,i,W,n,t.root);return l.snapshot=t.root,new AD(new Ln(l,[]),t)}class Er{constructor(n,t,r,o,i,s,a,l){this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i,this.outlet=s,this.component=a,this.title=this.data?.pipe(K(u=>u[Pi]))??O(void 0),this._futureSnapshot=l}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._paramMap=this.params.pipe(K(n=>yo(n)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(K(n=>yo(n)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function xD(e,n="emptyOnly"){const t=e.pathFromRoot;let r=0;if("always"!==n)for(r=t.length-1;r>=1;){const o=t[r],i=t[r-1];if(o.routeConfig&&""===o.routeConfig.path)r--;else{if(i.component)break;r--}}return function vP(e){return e.reduce((n,t)=>({params:{...n.params,...t.params},data:{...n.data,...t.data},resolve:{...t.data,...n.resolve,...t.routeConfig?.data,...t._resolvedData}}),{params:{},data:{},resolve:{}})}(t.slice(r))}class el{get title(){return this.data?.[Pi]}constructor(n,t,r,o,i,s,a,l,u,c,d){this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i,this.outlet=s,this.component=a,this.routeConfig=l,this._urlSegment=u,this._lastPathIndex=c,this._resolve=d}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._paramMap=yo(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=yo(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(r=>r.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class RD extends ID{constructor(n,t){super(t),this.url=n,uf(this,t)}toString(){return ND(this._root)}}function uf(e,n){n.value._routerState=e,n.children.forEach(t=>uf(e,t))}function ND(e){const n=e.children.length>0?` { ${e.children.map(ND).join(", ")} } `:"";return`${e.value}${n}`}function cf(e){if(e.snapshot){const n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,hn(n.queryParams,t.queryParams)||e.queryParams.next(t.queryParams),n.fragment!==t.fragment&&e.fragment.next(t.fragment),hn(n.params,t.params)||e.params.next(t.params),function NF(e,n){if(e.length!==n.length)return!1;for(let t=0;thn(t.parameters,n[r].parameters))}(e.url,n.url);return t&&!(!e.parent!=!n.parent)&&(!e.parent||df(e.parent,n.parent))}function ji(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){const r=t.value;r._futureSnapshot=n.value;const o=function CP(e,n,t){return n.children.map(r=>{for(const o of t.children)if(e.shouldReuseRoute(r.value,o.value.snapshot))return ji(e,r,o);return ji(e,r)})}(e,n,t);return new Ln(r,o)}{if(e.shouldAttach(n.value)){const i=e.retrieve(n.value);if(null!==i){const s=i.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>ji(e,a)),s}}const r=function DP(e){return new Er(new Zt(e.url),new Zt(e.params),new Zt(e.queryParams),new Zt(e.fragment),new Zt(e.data),e.outlet,e.component,e)}(n.value),o=n.children.map(i=>ji(e,i));return new Ln(r,o)}}const ff="ngNavigationCancelingError";function FD(e,n){const{redirectTo:t,navigationBehaviorOptions:r}=br(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,o=PD(!1,0,n);return o.url=t,o.navigationBehaviorOptions=r,o}function PD(e,n,t){const r=new Error("NavigationCancelingError: "+(e||""));return r[ff]=!0,r.cancellationCode=n,t&&(r.url=t),r}function OD(e){return kD(e)&&br(e.url)}function kD(e){return e&&e[ff]}class wP{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.injector=null,this.children=new Bi,this.attachRef=null}}let Bi=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(t,r){const o=this.getOrCreateContext(t);o.outlet=r,this.contexts.set(t,o)}onChildOutletDestroyed(t){const r=this.getContext(t);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){const 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 wP,this.contexts.set(t,r)),r}getContext(t){return this.contexts.get(t)||null}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const tl=!1;let hf=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=W,this.activateEvents=new Ee,this.deactivateEvents=new Ee,this.attachEvents=new Ee,this.detachEvents=new Ee,this.parentContexts=Q(Bi),this.location=Q(zt),this.changeDetector=Q(ua),this.environmentInjector=Q(on)}ngOnChanges(t){if(t.name){const{firstChange:r,previousValue:o}=t.name;if(r)return;this.isTrackedInParentContexts(o)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(o)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const 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,tl);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new I(4012,tl);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new I(4012,tl);this.location.detach();const 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.attachEvents.emit(t.instance)}deactivate(){if(this.activated){const 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,tl);this._activatedRoute=t;const o=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new bP(t,a,o.injector);if(r&&function EP(e){return!!e.resolveComponentFactory}(r)){const u=r.resolveComponentFactory(s);this.activated=o.createComponent(u,o.length,l)}else this.activated=o.createComponent(s,{index:o.length,injector:l,environmentInjector:r??this.environmentInjector});this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=B({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Tt]}),e})();class bP{constructor(n,t,r){this.route=n,this.childContexts=t,this.parent=r}get(n,t){return n===Er?this.route:n===Bi?this.childContexts:this.parent.get(n,t)}}let pf=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=At({type:e,selectors:[["ng-component"]],standalone:!0,features:[Ey],decls:1,vars:0,template:function(t,r){1&t&&v(0,"router-outlet")},dependencies:[hf],encapsulation:2}),e})();function LD(e,n){return e.providers&&!e._injector&&(e._injector=ea(e.providers,n,`Route: ${e.path}`)),e._injector??n}function mf(e){const n=e.children&&e.children.map(mf),t=n?{...e,children:n}:{...e};return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==W&&(t.component=pf),t}function Ot(e){return e.outlet||W}function VD(e,n){const t=e.filter(r=>Ot(r)===n);return t.push(...e.filter(r=>Ot(r)!==n)),t}function $i(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){const t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}class TP{constructor(n,t,r,o){this.routeReuseStrategy=n,this.futureState=t,this.currState=r,this.forwardEvent=o}activate(n){const t=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,r,n),cf(this.futureState.root),this.activateChildRoutes(t,r,n)}deactivateChildRoutes(n,t,r){const o=Do(t);n.children.forEach(i=>{const s=i.value.outlet;this.deactivateRoutes(i,o[s],r),delete o[s]}),Ke(o,(i,s)=>{this.deactivateRouteAndItsChildren(i,r)})}deactivateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(o===i)if(o.component){const s=r.getContext(o.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,r);else i&&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){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=Do(n);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);if(r&&r.outlet){const s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=Do(n);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.resolver=null,r.route=null)}activateChildRoutes(n,t,r){const o=Do(t);n.children.forEach(i=>{this.activateRoutes(i,o[i.value.outlet],r),this.forwardEvent(new dP(i.value.snapshot))}),n.children.length&&this.forwardEvent(new uP(n.value.snapshot))}activateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(cf(o),o===i)if(o.component){const s=r.getOrCreateContext(o.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,r);else if(o.component){const s=r.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const a=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.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),cf(a.route.value),this.activateChildRoutes(n,null,s.children)}else{const a=$i(o.snapshot),l=a?.get(ti)??null;s.attachRef=null,s.route=o,s.resolver=l,s.injector=a,s.outlet&&s.outlet.activateWith(o,s.injector),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,r)}}class UD{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class nl{constructor(n,t){this.component=n,this.route=t}}function xP(e,n,t){const r=e._root;return Gi(r,n?n._root:null,t,[r.value])}function wo(e,n){const t=Symbol(),r=n.get(e,t);return r===t?"function"!=typeof e||function ub(e){return null!==rs(e)}(e)?n.get(e):e:r}function Gi(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=Do(n);return e.children.forEach(s=>{(function NP(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&i.routeConfig===s.routeConfig){const l=function FP(e,n,t){if("function"==typeof t)return t(e,n);switch(t){case"pathParamsChange":return!wr(e.url,n.url);case"pathParamsOrQueryParamsChange":return!wr(e.url,n.url)||!hn(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!df(e,n)||!hn(e.queryParams,n.queryParams);default:return!df(e,n)}}(s,i,i.routeConfig.runGuardsAndResolvers);l?o.canActivateChecks.push(new UD(r)):(i.data=s.data,i._resolvedData=s._resolvedData),Gi(e,n,i.component?a?a.children:null:t,r,o),l&&a&&a.outlet&&a.outlet.isActivated&&o.canDeactivateChecks.push(new nl(a.outlet.component,s))}else s&&zi(n,a,o),o.canActivateChecks.push(new UD(r)),Gi(e,null,i.component?a?a.children:null:t,r,o)})(s,i[s.value.outlet],t,r.concat([s.value]),o),delete i[s.value.outlet]}),Ke(i,(s,a)=>zi(s,t.getContext(a),o)),o}function zi(e,n,t){const r=Do(e),o=e.value;Ke(r,(i,s)=>{zi(i,o.component?n?n.children.getContext(s):null:n,t)}),t.canDeactivateChecks.push(new nl(o.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,o))}function qi(e){return"function"==typeof e}function yf(e){return e instanceof $a||"EmptyError"===e?.name}const rl=Symbol("INITIAL_VALUE");function bo(){return fn(e=>eD(e.map(n=>n.pipe(ir(1),function SF(...e){const n=xo(e);return Be((t,r)=>{(n?Wd(e,t,n):Wd(e,t)).subscribe(r)})}(rl)))).pipe(K(n=>{for(const t of n)if(!0!==t){if(t===rl)return rl;if(!1===t||t instanceof Xn)return t}return!0}),Yt(n=>n!==rl),ir(1)))}function HD(e){return function Aw(...e){return Ff(e)}(nt(n=>{if(br(n))throw FD(0,n)}),K(n=>!0===n))}const vf={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function jD(e,n,t,r,o){const i=_f(e,n,t);return i.matched?function ZP(e,n,t,r){const o=n.canMatch;return o&&0!==o.length?O(o.map(s=>{const a=wo(s,e);return Qn(function UP(e){return e&&qi(e.canMatch)}(a)?a.canMatch(n,t):e.runInContext(()=>a(n,t)))})).pipe(bo(),HD()):O(!0)}(r=LD(n,r),n,t).pipe(K(s=>!0===s?i:{...vf})):O(i)}function _f(e,n,t){if(""===n.path)return"full"===n.pathMatch&&(e.hasChildren()||t.length>0)?{...vf}:{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};const o=(n.matcher||RF)(t,e,n);if(!o)return{...vf};const i={};Ke(o.posParams,(a,l)=>{i[l]=a.path});const s=o.consumed.length>0?{...i,...o.consumed[o.consumed.length-1].parameters}:i;return{matched:!0,consumedSegments:o.consumed,remainingSegments:t.slice(o.consumed.length),parameters:s,positionalParamSegments:o.posParams??{}}}function ol(e,n,t,r){if(t.length>0&&function JP(e,n,t){return t.some(r=>il(e,n,r)&&Ot(r)!==W)}(e,t,r)){const i=new J(n,function XP(e,n,t,r){const o={};o[W]=r,r._sourceSegment=e,r._segmentIndexShift=n.length;for(const i of t)if(""===i.path&&Ot(i)!==W){const s=new J([],{});s._sourceSegment=e,s._segmentIndexShift=n.length,o[Ot(i)]=s}return o}(e,n,r,new J(t,e.children)));return i._sourceSegment=e,i._segmentIndexShift=n.length,{segmentGroup:i,slicedSegments:[]}}if(0===t.length&&function eO(e,n,t){return t.some(r=>il(e,n,r))}(e,t,r)){const i=new J(e.segments,function QP(e,n,t,r,o){const i={};for(const s of r)if(il(e,t,s)&&!o[Ot(s)]){const a=new J([],{});a._sourceSegment=e,a._segmentIndexShift=n.length,i[Ot(s)]=a}return{...o,...i}}(e,n,t,r,e.children));return i._sourceSegment=e,i._segmentIndexShift=n.length,{segmentGroup:i,slicedSegments:t}}const o=new J(e.segments,e.children);return o._sourceSegment=e,o._segmentIndexShift=n.length,{segmentGroup:o,slicedSegments:t}}function il(e,n,t){return(!(e.hasChildren()||n.length>0)||"full"!==t.pathMatch)&&""===t.path}function BD(e,n,t,r){return!!(Ot(e)===r||r!==W&&il(n,t,e))&&("**"===e.path||_f(n,e,t).matched)}function $D(e,n,t){return 0===n.length&&!e.children[t]}const sl=!1;class al{constructor(n){this.segmentGroup=n||null}}class GD{constructor(n){this.urlTree=n}}function Wi(e){return Fi(new al(e))}function zD(e){return Fi(new GD(e))}class oO{constructor(n,t,r,o,i){this.injector=n,this.configLoader=t,this.urlSerializer=r,this.urlTree=o,this.config=i,this.allowRedirects=!0}apply(){const n=ol(this.urlTree.root,[],[],this.config).segmentGroup,t=new J(n.segments,n.children);return this.expandSegmentGroup(this.injector,this.config,t,W).pipe(K(i=>this.createUrlTree(Qa(i),this.urlTree.queryParams,this.urlTree.fragment))).pipe(Zn(i=>{if(i instanceof GD)return this.allowRedirects=!1,this.match(i.urlTree);throw i instanceof al?this.noMatchError(i):i}))}match(n){return this.expandSegmentGroup(this.injector,this.config,n.root,W).pipe(K(o=>this.createUrlTree(Qa(o),n.queryParams,n.fragment))).pipe(Zn(o=>{throw o instanceof al?this.noMatchError(o):o}))}noMatchError(n){return new I(4002,sl)}createUrlTree(n,t,r){const o=Jd(n);return new Xn(o,t,r)}expandSegmentGroup(n,t,r,o){return 0===r.segments.length&&r.hasChildren()?this.expandChildren(n,t,r).pipe(K(i=>new J([],i))):this.expandSegment(n,r,t,r.segments,o,!0)}expandChildren(n,t,r){const o=[];for(const i of Object.keys(r.children))"primary"===i?o.unshift(i):o.push(i);return Me(o).pipe(Gn(i=>{const s=r.children[i],a=VD(t,i);return this.expandSegmentGroup(n,a,s,i).pipe(K(l=>({segment:l,outlet:i})))}),iD((i,s)=>(i[s.outlet]=s.segment,i),{}),sD())}expandSegment(n,t,r,o,i,s){return Me(r).pipe(Gn(a=>this.expandSegmentAgainstRoute(n,t,r,a,o,i,s).pipe(Zn(u=>{if(u instanceof al)return O(null);throw u}))),Yn(a=>!!a),Zn((a,l)=>{if(yf(a))return $D(t,o,i)?O(new J([],{})):Wi(t);throw a}))}expandSegmentAgainstRoute(n,t,r,o,i,s,a){return BD(o,t,i,s)?void 0===o.redirectTo?this.matchSegmentAgainstRoute(n,t,o,i,s):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s):Wi(t):Wi(t)}expandSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s){return"**"===o.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(n,r,o,s):this.expandRegularSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(n,t,r,o){const i=this.applyRedirectCommands([],r.redirectTo,{});return r.redirectTo.startsWith("/")?zD(i):this.lineralizeSegments(r,i).pipe($e(s=>{const a=new J(s,{});return this.expandSegment(n,a,t,s,o,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s){const{matched:a,consumedSegments:l,remainingSegments:u,positionalParamSegments:c}=_f(t,o,i);if(!a)return Wi(t);const d=this.applyRedirectCommands(l,o.redirectTo,c);return o.redirectTo.startsWith("/")?zD(d):this.lineralizeSegments(o,d).pipe($e(g=>this.expandSegment(n,t,r,g.concat(u),s,!1)))}matchSegmentAgainstRoute(n,t,r,o,i){return"**"===r.path?(n=LD(r,n),r.loadChildren?(r._loadedRoutes?O({routes:r._loadedRoutes,injector:r._loadedInjector}):this.configLoader.loadChildren(n,r)).pipe(K(a=>(r._loadedRoutes=a.routes,r._loadedInjector=a.injector,new J(o,{})))):O(new J(o,{}))):jD(t,r,o,n).pipe(fn(({matched:s,consumedSegments:a,remainingSegments:l})=>s?this.getChildConfig(n=r._injector??n,r,o).pipe($e(c=>{const d=c.injector??n,g=c.routes,{segmentGroup:m,slicedSegments:y}=ol(t,a,l,g),_=new J(m.segments,m.children);if(0===y.length&&_.hasChildren())return this.expandChildren(d,g,_).pipe(K(w=>new J(a,w)));if(0===g.length&&0===y.length)return O(new J(a,{}));const D=Ot(r)===i;return this.expandSegment(d,_,g,y,D?W:i,!0).pipe(K(A=>new J(a.concat(A.segments),A.children)))})):Wi(t)))}getChildConfig(n,t,r){return t.children?O({routes:t.children,injector:n}):t.loadChildren?void 0!==t._loadedRoutes?O({routes:t._loadedRoutes,injector:t._loadedInjector}):function YP(e,n,t,r){const o=n.canLoad;return void 0===o||0===o.length?O(!0):O(o.map(s=>{const a=wo(s,e);return Qn(function OP(e){return e&&qi(e.canLoad)}(a)?a.canLoad(n,t):e.runInContext(()=>a(n,t)))})).pipe(bo(),HD())}(n,t,r).pipe($e(o=>o?this.configLoader.loadChildren(n,t).pipe(nt(i=>{t._loadedRoutes=i.routes,t._loadedInjector=i.injector})):function nO(e){return Fi(PD(sl,3))}())):O({routes:[],injector:n})}lineralizeSegments(n,t){let r=[],o=t.root;for(;;){if(r=r.concat(o.segments),0===o.numberOfChildren)return O(r);if(o.numberOfChildren>1||!o.children[W])return n.redirectTo,Fi(new I(4e3,sl));o=o.children[W]}}applyRedirectCommands(n,t,r){return this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),n,r)}applyRedirectCreateUrlTree(n,t,r,o){const i=this.createSegmentGroup(n,t.root,r,o);return new Xn(i,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){const r={};return Ke(n,(o,i)=>{if("string"==typeof o&&o.startsWith(":")){const a=o.substring(1);r[i]=t[a]}else r[i]=o}),r}createSegmentGroup(n,t,r,o){const i=this.createSegments(n,t.segments,r,o);let s={};return Ke(t.children,(a,l)=>{s[l]=this.createSegmentGroup(n,a,r,o)}),new J(i,s)}createSegments(n,t,r,o){return t.map(i=>i.path.startsWith(":")?this.findPosParam(n,i,o):this.findOrReturn(i,r))}findPosParam(n,t,r){const o=r[t.path.substring(1)];if(!o)throw new I(4001,sl);return o}findOrReturn(n,t){let r=0;for(const o of t){if(o.path===n.path)return t.splice(r),o;r++}return n}}class sO{}class uO{constructor(n,t,r,o,i,s,a){this.injector=n,this.rootComponentType=t,this.config=r,this.urlTree=o,this.url=i,this.paramsInheritanceStrategy=s,this.urlSerializer=a}recognize(){const n=ol(this.urlTree.root,[],[],this.config.filter(t=>void 0===t.redirectTo)).segmentGroup;return this.processSegmentGroup(this.injector,this.config,n,W).pipe(K(t=>{if(null===t)return null;const r=new el([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},W,this.rootComponentType,null,this.urlTree.root,-1,{}),o=new Ln(r,t),i=new RD(this.url,o);return this.inheritParamsAndData(i._root),i}))}inheritParamsAndData(n){const t=n.value,r=xD(t,this.paramsInheritanceStrategy);t.params=Object.freeze(r.params),t.data=Object.freeze(r.data),n.children.forEach(o=>this.inheritParamsAndData(o))}processSegmentGroup(n,t,r,o){return 0===r.segments.length&&r.hasChildren()?this.processChildren(n,t,r):this.processSegment(n,t,r,r.segments,o)}processChildren(n,t,r){return Me(Object.keys(r.children)).pipe(Gn(o=>{const i=r.children[o],s=VD(t,o);return this.processSegmentGroup(n,s,i,o)}),iD((o,i)=>o&&i?(o.push(...i),o):null),function AF(e,n=!1){return Be((t,r)=>{let o=0;t.subscribe(Le(r,i=>{const s=e(i,o++);(s||n)&&r.next(i),!s&&r.complete()}))})}(o=>null!==o),Ga(null),sD(),K(o=>{if(null===o)return null;const i=WD(o);return function cO(e){e.sort((n,t)=>n.value.outlet===W?-1:t.value.outlet===W?1:n.value.outlet.localeCompare(t.value.outlet))}(i),i}))}processSegment(n,t,r,o,i){return Me(t).pipe(Gn(s=>this.processSegmentAgainstRoute(s._injector??n,s,r,o,i)),Yn(s=>!!s),Zn(s=>{if(yf(s))return $D(r,o,i)?O([]):O(null);throw s}))}processSegmentAgainstRoute(n,t,r,o,i){if(t.redirectTo||!BD(t,r,o,i))return O(null);let s;if("**"===t.path){const a=o.length>0?uD(o).parameters:{},l=YD(r)+o.length;s=O({snapshot:new el(o,a,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,ZD(t),Ot(t),t.component??t._loadedComponent??null,t,KD(r),l,QD(t)),consumedSegments:[],remainingSegments:[]})}else s=jD(r,t,o,n).pipe(K(({matched:a,consumedSegments:l,remainingSegments:u,parameters:c})=>{if(!a)return null;const d=YD(r)+l.length;return{snapshot:new el(l,c,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,ZD(t),Ot(t),t.component??t._loadedComponent??null,t,KD(r),d,QD(t)),consumedSegments:l,remainingSegments:u}}));return s.pipe(fn(a=>{if(null===a)return O(null);const{snapshot:l,consumedSegments:u,remainingSegments:c}=a;n=t._injector??n;const d=t._loadedInjector??n,g=function dO(e){return e.children?e.children:e.loadChildren?e._loadedRoutes:[]}(t),{segmentGroup:m,slicedSegments:y}=ol(r,u,c,g.filter(D=>void 0===D.redirectTo));if(0===y.length&&m.hasChildren())return this.processChildren(d,g,m).pipe(K(D=>null===D?null:[new Ln(l,D)]));if(0===g.length&&0===y.length)return O([new Ln(l,[])]);const _=Ot(t)===i;return this.processSegment(d,g,m,y,_?W:i).pipe(K(D=>null===D?null:[new Ln(l,D)]))}))}}function fO(e){const n=e.value.routeConfig;return n&&""===n.path&&void 0===n.redirectTo}function WD(e){const n=[],t=new Set;for(const r of e){if(!fO(r)){n.push(r);continue}const o=n.find(i=>r.value.routeConfig===i.value.routeConfig);void 0!==o?(o.children.push(...r.children),t.add(o)):n.push(r)}for(const r of t){const o=WD(r.children);n.push(new Ln(r.value,o))}return n.filter(r=>!t.has(r))}function KD(e){let n=e;for(;n._sourceSegment;)n=n._sourceSegment;return n}function YD(e){let n=e,t=n._segmentIndexShift??0;for(;n._sourceSegment;)n=n._sourceSegment,t+=n._segmentIndexShift??0;return t-1}function ZD(e){return e.data||{}}function QD(e){return e.resolve||{}}function XD(e){return"string"==typeof e.title||null===e.title}function Cf(e){return fn(n=>{const t=e(n);return t?Me(t).pipe(K(()=>n)):O(n)})}const Eo=new R("ROUTES");let Df=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=Q(fv)}loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return O(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);const r=Qn(t.loadComponent()).pipe(K(ew),nt(i=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=i}),Zd(()=>{this.componentLoaders.delete(t)})),o=new rD(r,()=>new mn).pipe(Kd());return this.componentLoaders.set(t,o),o}loadChildren(t,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return O({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);const i=this.loadModuleFactoryOrRoutes(r.loadChildren).pipe(K(a=>{this.onLoadEndListener&&this.onLoadEndListener(r);let l,u,c=!1;Array.isArray(a)?u=a:(l=a.create(t).injector,u=lD(l.get(Eo,[],U.Self|U.Optional)));return{routes:u.map(mf),injector:l}}),Zd(()=>{this.childrenLoaders.delete(r)})),s=new rD(i,()=>new mn).pipe(Kd());return this.childrenLoaders.set(r,s),s}loadModuleFactoryOrRoutes(t){return Qn(t()).pipe(K(ew),$e(r=>r instanceof wy||Array.isArray(r)?O(r):Me(this.compiler.compileModuleAsync(r))))}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function ew(e){return function CO(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let ul=(()=>{class e{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.lastSuccessfulNavigation=null,this.events=new mn,this.configLoader=Q(Df),this.environmentInjector=Q(on),this.urlSerializer=Q(ki),this.rootContexts=Q(Bi),this.navigationId=0,this.afterPreactivation=()=>O(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=o=>this.events.next(new aP(o)),this.configLoader.onLoadStartListener=o=>this.events.next(new sP(o))}complete(){this.transitions?.complete()}handleNavigationRequest(t){const r=++this.navigationId;this.transitions?.next({...this.transitions.value,...t,id:r})}setupNavigations(t){return this.transitions=new Zt({id:0,targetPageId:0,currentUrlTree:t.currentUrlTree,currentRawUrl:t.currentUrlTree,extractedUrl:t.urlHandlingStrategy.extract(t.currentUrlTree),urlAfterRedirects:t.urlHandlingStrategy.extract(t.currentUrlTree),rawUrl:t.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:Hi,restoredState:null,currentSnapshot:t.routerState.snapshot,targetSnapshot:null,currentRouterState:t.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(Yt(r=>0!==r.id),K(r=>({...r,extractedUrl:t.urlHandlingStrategy.extract(r.rawUrl)})),fn(r=>{let o=!1,i=!1;return O(r).pipe(nt(s=>{this.currentNavigation={id:s.id,initialUrl:s.rawUrl,extractedUrl:s.extractedUrl,trigger:s.source,extras:s.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),fn(s=>{const a=t.browserUrlTree.toString(),l=!t.navigated||s.extractedUrl.toString()!==a||a!==t.currentUrlTree.toString();if(!l&&"reload"!==(s.extras.onSameUrlNavigation??t.onSameUrlNavigation)){const c="";return this.events.next(new Ja(s.id,t.serializeUrl(r.rawUrl),c,0)),t.rawUrlTree=s.rawUrl,s.resolve(null),Xt}if(t.urlHandlingStrategy.shouldProcessUrl(s.rawUrl))return tw(s.source)&&(t.browserUrlTree=s.extractedUrl),O(s).pipe(fn(c=>{const d=this.transitions?.getValue();return this.events.next(new rf(c.id,this.urlSerializer.serialize(c.extractedUrl),c.source,c.restoredState)),d!==this.transitions?.getValue()?Xt:Promise.resolve(c)}),function iO(e,n,t,r){return fn(o=>function rO(e,n,t,r,o){return new oO(e,n,t,r,o).apply()}(e,n,t,o.extractedUrl,r).pipe(K(i=>({...o,urlAfterRedirects:i}))))}(this.environmentInjector,this.configLoader,this.urlSerializer,t.config),nt(c=>{this.currentNavigation={...this.currentNavigation,finalUrl:c.urlAfterRedirects},r.urlAfterRedirects=c.urlAfterRedirects}),function pO(e,n,t,r,o){return $e(i=>function lO(e,n,t,r,o,i,s="emptyOnly"){return new uO(e,n,t,r,o,s,i).recognize().pipe(fn(a=>null===a?function aO(e){return new Se(n=>n.error(e))}(new sO):O(a)))}(e,n,t,i.urlAfterRedirects,r.serialize(i.urlAfterRedirects),r,o).pipe(K(s=>({...i,targetSnapshot:s}))))}(this.environmentInjector,this.rootComponentType,t.config,this.urlSerializer,t.paramsInheritanceStrategy),nt(c=>{if(r.targetSnapshot=c.targetSnapshot,"eager"===t.urlUpdateStrategy){if(!c.extras.skipLocationChange){const g=t.urlHandlingStrategy.merge(c.urlAfterRedirects,c.rawUrl);t.setBrowserUrl(g,c)}t.browserUrlTree=c.urlAfterRedirects}const d=new tP(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(d)}));if(l&&t.urlHandlingStrategy.shouldProcessUrl(t.rawUrlTree)){const{id:c,extractedUrl:d,source:g,restoredState:m,extras:y}=s,_=new rf(c,this.urlSerializer.serialize(d),g,m);this.events.next(_);const D=TD(d,this.rootComponentType).snapshot;return O(r={...s,targetSnapshot:D,urlAfterRedirects:d,extras:{...y,skipLocationChange:!1,replaceUrl:!1}})}{const c="";return this.events.next(new Ja(s.id,t.serializeUrl(r.extractedUrl),c,1)),t.rawUrlTree=s.rawUrl,s.resolve(null),Xt}}),nt(s=>{const a=new nP(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(a)}),K(s=>r={...s,guards:xP(s.targetSnapshot,s.currentSnapshot,this.rootContexts)}),function jP(e,n){return $e(t=>{const{targetSnapshot:r,currentSnapshot:o,guards:{canActivateChecks:i,canDeactivateChecks:s}}=t;return 0===s.length&&0===i.length?O({...t,guardsResult:!0}):function BP(e,n,t,r){return Me(e).pipe($e(o=>function KP(e,n,t,r,o){const i=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return i&&0!==i.length?O(i.map(a=>{const l=$i(n)??o,u=wo(a,l);return Qn(function VP(e){return e&&qi(e.canDeactivate)}(u)?u.canDeactivate(e,n,t,r):l.runInContext(()=>u(e,n,t,r))).pipe(Yn())})).pipe(bo()):O(!0)}(o.component,o.route,t,n,r)),Yn(o=>!0!==o,!0))}(s,r,o,e).pipe($e(a=>a&&function PP(e){return"boolean"==typeof e}(a)?function $P(e,n,t,r){return Me(n).pipe(Gn(o=>Wd(function zP(e,n){return null!==e&&n&&n(new lP(e)),O(!0)}(o.route.parent,r),function GP(e,n){return null!==e&&n&&n(new cP(e)),O(!0)}(o.route,r),function WP(e,n,t){const r=n[n.length-1],i=n.slice(0,n.length-1).reverse().map(s=>function RP(e){const n=e.routeConfig?e.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:e,guards:n}:null}(s)).filter(s=>null!==s).map(s=>nD(()=>O(s.guards.map(l=>{const u=$i(s.node)??t,c=wo(l,u);return Qn(function LP(e){return e&&qi(e.canActivateChild)}(c)?c.canActivateChild(r,e):u.runInContext(()=>c(r,e))).pipe(Yn())})).pipe(bo())));return O(i).pipe(bo())}(e,o.path,t),function qP(e,n,t){const r=n.routeConfig?n.routeConfig.canActivate:null;if(!r||0===r.length)return O(!0);const o=r.map(i=>nD(()=>{const s=$i(n)??t,a=wo(i,s);return Qn(function kP(e){return e&&qi(e.canActivate)}(a)?a.canActivate(n,e):s.runInContext(()=>a(n,e))).pipe(Yn())}));return O(o).pipe(bo())}(e,o.route,t))),Yn(o=>!0!==o,!0))}(r,i,e,n):O(a)),K(a=>({...t,guardsResult:a})))})}(this.environmentInjector,s=>this.events.next(s)),nt(s=>{if(r.guardsResult=s.guardsResult,br(s.guardsResult))throw FD(0,s.guardsResult);const a=new rP(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot,!!s.guardsResult);this.events.next(a)}),Yt(s=>!!s.guardsResult||(t.restoreHistory(s),this.cancelNavigationTransition(s,"",3),!1)),Cf(s=>{if(s.guards.canActivateChecks.length)return O(s).pipe(nt(a=>{const l=new oP(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(l)}),fn(a=>{let l=!1;return O(a).pipe(function gO(e,n){return $e(t=>{const{targetSnapshot:r,guards:{canActivateChecks:o}}=t;if(!o.length)return O(t);let i=0;return Me(o).pipe(Gn(s=>function mO(e,n,t,r){const o=e.routeConfig,i=e._resolve;return void 0!==o?.title&&!XD(o)&&(i[Pi]=o.title),function yO(e,n,t,r){const o=function vO(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===o.length)return O({});const i={};return Me(o).pipe($e(s=>function _O(e,n,t,r){const o=$i(n)??r,i=wo(e,o);return Qn(i.resolve?i.resolve(n,t):o.runInContext(()=>i(n,t)))}(e[s],n,t,r).pipe(Yn(),nt(a=>{i[s]=a}))),Yd(1),function TF(e){return K(()=>e)}(i),Zn(s=>yf(s)?Xt:Fi(s)))}(i,e,n,r).pipe(K(s=>(e._resolvedData=s,e.data=xD(e,t).resolve,o&&XD(o)&&(e.data[Pi]=o.title),null)))}(s.route,r,e,n)),nt(()=>i++),Yd(1),$e(s=>i===o.length?O(t):Xt))})}(t.paramsInheritanceStrategy,this.environmentInjector),nt({next:()=>l=!0,complete:()=>{l||(t.restoreHistory(a),this.cancelNavigationTransition(a,"",2))}}))}),nt(a=>{const l=new iP(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(l)}))}),Cf(s=>{const a=l=>{const u=[];l.routeConfig?.loadComponent&&!l.routeConfig._loadedComponent&&u.push(this.configLoader.loadComponent(l.routeConfig).pipe(nt(c=>{l.component=c}),K(()=>{})));for(const c of l.children)u.push(...a(c));return u};return eD(a(s.targetSnapshot.root)).pipe(Ga(),ir(1))}),Cf(()=>this.afterPreactivation()),K(s=>{const a=function _P(e,n,t){const r=ji(e,n._root,t?t._root:void 0);return new AD(r,n)}(t.routeReuseStrategy,s.targetSnapshot,s.currentRouterState);return r={...s,targetRouterState:a}}),nt(s=>{t.currentUrlTree=s.urlAfterRedirects,t.rawUrlTree=t.urlHandlingStrategy.merge(s.urlAfterRedirects,s.rawUrl),t.routerState=s.targetRouterState,"deferred"===t.urlUpdateStrategy&&(s.extras.skipLocationChange||t.setBrowserUrl(t.rawUrlTree,s),t.browserUrlTree=s.urlAfterRedirects)}),((e,n,t)=>K(r=>(new TP(n,r.targetRouterState,r.currentRouterState,t).activate(e),r)))(this.rootContexts,t.routeReuseStrategy,s=>this.events.next(s)),ir(1),nt({next:s=>{o=!0,this.lastSuccessfulNavigation=this.currentNavigation,t.navigated=!0,this.events.next(new Jn(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(t.currentUrlTree))),t.titleStrategy?.updateTitle(s.targetRouterState.snapshot),s.resolve(!0)},complete:()=>{o=!0}}),Zd(()=>{o||i||this.cancelNavigationTransition(r,"",1),this.currentNavigation?.id===r.id&&(this.currentNavigation=null)}),Zn(s=>{if(i=!0,kD(s)){OD(s)||(t.navigated=!0,t.restoreHistory(r,!0));const a=new Xa(r.id,this.urlSerializer.serialize(r.extractedUrl),s.message,s.cancellationCode);if(this.events.next(a),OD(s)){const l=t.urlHandlingStrategy.merge(s.url,t.rawUrlTree),u={skipLocationChange:r.extras.skipLocationChange,replaceUrl:"eager"===t.urlUpdateStrategy||tw(r.source)};t.scheduleNavigation(l,Hi,null,u,{resolve:r.resolve,reject:r.reject,promise:r.promise})}else r.resolve(!1)}else{t.restoreHistory(r,!0);const a=new sf(r.id,this.urlSerializer.serialize(r.extractedUrl),s,r.targetSnapshot??void 0);this.events.next(a);try{r.resolve(t.errorHandler(s))}catch(l){r.reject(l)}}return Xt}))}))}cancelNavigationTransition(t,r,o){const i=new Xa(t.id,this.urlSerializer.serialize(t.extractedUrl),r,o);this.events.next(i),t.resolve(!1)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function tw(e){return e!==Hi}let nw=(()=>{class e{buildTitle(t){let r,o=t.root;for(;void 0!==o;)r=this.getResolvedTitleForRoute(o)??r,o=o.children.find(i=>i.outlet===W);return r}getResolvedTitleForRoute(t){return t.data[Pi]}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:function(){return Q(DO)},providedIn:"root"}),e})(),DO=(()=>{class e extends nw{constructor(t){super(),this.title=t}updateTitle(t){const r=this.buildTitle(t);void 0!==r&&this.title.setTitle(r)}}return e.\u0275fac=function(t){return new(t||e)(N(N_))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),wO=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:function(){return Q(EO)},providedIn:"root"}),e})();class bO{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}}let EO=(()=>{class e extends bO{}return e.\u0275fac=function(){let n;return function(r){return(n||(n=We(e)))(r||e)}}(),e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const cl=new R("",{providedIn:"root",factory:()=>({})});let MO=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:function(){return Q(IO)},providedIn:"root"}),e})(),IO=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,r){return t}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function AO(e){throw e}function TO(e,n,t){return n.parse("/")}const xO={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},RO={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let pt=(()=>{class e{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return this.location.getState()?.\u0275routerPageId}get events(){return this.navigationTransitions.events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=Q(VA),this.isNgZoneEnabled=!1,this.options=Q(cl,{optional:!0})||{},this.errorHandler=this.options.errorHandler||AO,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||TO,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=Q(MO),this.routeReuseStrategy=Q(wO),this.urlCreationStrategy=Q(mP),this.titleStrategy=Q(nw),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=lD(Q(Eo,{optional:!0})??[]),this.navigationTransitions=Q(ul),this.urlSerializer=Q(ki),this.location=Q(Wc),this.isNgZoneEnabled=Q(Ae)instanceof Ae&&Ae.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new Xn,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=TD(this.currentUrlTree,null),this.navigationTransitions.setupNavigations(this).subscribe(t=>{this.lastSuccessfulId=t.id,this.currentPageId=t.targetPageId},t=>{this.console.warn(`Unhandled Navigation Error: ${t}`)})}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const t=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),Hi,t)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const r="popstate"===t.type?"popstate":"hashchange";"popstate"===r&&setTimeout(()=>{this.navigateToSyncWithBrowser(t.url,r,t.state)},0)}))}navigateToSyncWithBrowser(t,r,o){const i={replaceUrl:!0},s=o?.navigationId?o:null;if(o){const l={...o};delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(i.state=l)}const a=this.parseUrl(t);this.scheduleNavigation(a,r,s,i)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}resetConfig(t){this.config=t.map(mf),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(t,r={}){const{relativeTo:o,queryParams:i,fragment:s,queryParamsHandling:a,preserveFragment:l}=r,u=l?this.currentUrlTree.fragment:s;let c=null;switch(a){case"merge":c={...this.currentUrlTree.queryParams,...i};break;case"preserve":c=this.currentUrlTree.queryParams;break;default:c=i||null}return null!==c&&(c=this.removeEmptyProps(c)),this.urlCreationStrategy.createUrlTree(o,this.routerState,this.currentUrlTree,t,c,u??null)}navigateByUrl(t,r={skipLocationChange:!1}){const o=br(t)?t:this.parseUrl(t),i=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(i,Hi,null,r)}navigate(t,r={skipLocationChange:!1}){return function NO(e){for(let n=0;n{const i=t[o];return null!=i&&(r[o]=i),r},{})}scheduleNavigation(t,r,o,i,s){if(this.disposed)return Promise.resolve(!1);let a,l,u,c;return s?(a=s.resolve,l=s.reject,u=s.promise):u=new Promise((d,g)=>{a=d,l=g}),c="computed"===this.canceledNavigationResolution?o&&o.\u0275routerPageId?o.\u0275routerPageId:i.replaceUrl||i.skipLocationChange?this.browserPageId??0:(this.browserPageId??0)+1:0,this.navigationTransitions.handleNavigationRequest({targetPageId:c,source:r,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:t,extras:i,resolve:a,reject:l,promise:u,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),u.catch(d=>Promise.reject(d))}setBrowserUrl(t,r){const o=this.urlSerializer.serialize(t),i={...r.extras.state,...this.generateNgRouterState(r.id,r.targetPageId)};this.location.isCurrentPathEqualTo(o)||r.extras.replaceUrl?this.location.replaceState(o,"",i):this.location.go(o,"",i)}restoreHistory(t,r=!1){if("computed"===this.canceledNavigationResolution){const o=this.currentPageId-t.targetPageId;"popstate"!==t.source&&"eager"!==this.urlUpdateStrategy&&this.currentUrlTree!==this.getCurrentNavigation()?.finalUrl||0===o?this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===o&&(this.resetState(t),this.browserUrlTree=t.currentUrlTree,this.resetUrlToCurrentUrlTree()):this.location.historyGo(o)}else"replace"===this.canceledNavigationResolution&&(r&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=t.currentRouterState,this.currentUrlTree=t.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,r){return"computed"===this.canceledNavigationResolution?{navigationId:t,\u0275routerPageId:r}:{navigationId:t}}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),gn=(()=>{class e{constructor(t,r,o,i,s,a){this.router=t,this.route=r,this.tabIndexAttribute=o,this.renderer=i,this.el=s,this.locationStrategy=a,this._preserveFragment=!1,this._skipLocationChange=!1,this._replaceUrl=!1,this.href=null,this.commands=null,this.onChanges=new mn;const l=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===l||"area"===l,this.isAnchorElement?this.subscription=t.events.subscribe(u=>{u instanceof Jn&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}set preserveFragment(t){this._preserveFragment=ho(t)}get preserveFragment(){return this._preserveFragment}set skipLocationChange(t){this._skipLocationChange=ho(t)}get skipLocationChange(){return this._skipLocationChange}set replaceUrl(t){this._replaceUrl=ho(t)}get replaceUrl(){return this._replaceUrl}setTabIndexIfNotOnNativeEl(t){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",t)}ngOnChanges(t){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(t){null!=t?(this.commands=Array.isArray(t)?t:[t],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(t,r,o,i,s){return!!(null===this.urlTree||this.isAnchorElement&&(0!==t||r||o||i||s||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(this.urlTree,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){this.href=null!==this.urlTree&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(this.urlTree)):null;const t=null===this.href?null:function qp(e,n,t){return function U0(e,n){return"src"===n&&("embed"===e||"frame"===e||"iframe"===e||"media"===e||"script"===e)||"href"===n&&("base"===e||"link"===e)?zp:Gr}(n,t)(e)}(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",t)}applyAttributeValue(t,r){const o=this.renderer,i=this.el.nativeElement;null!==r?o.setAttribute(i,t,r):o.removeAttribute(i,t)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}}return e.\u0275fac=function(t){return new(t||e)(M(pt),M(Er),function Es(e){return function uE(e,n){if("class"===n)return e.classes;if("style"===n)return e.styles;const t=e.attrs;if(t){const r=t.length;let o=0;for(;o{class e{get isActive(){return this._isActive}constructor(t,r,o,i,s){this.router=t,this.element=r,this.renderer=o,this.cdr=i,this.link=s,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new Ee,this.routerEventsSubscription=t.events.subscribe(a=>{a instanceof Jn&&this.update()})}ngAfterContentInit(){O(this.links.changes,O(null)).pipe(Sr()).subscribe(t=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const t=[...this.links.toArray(),this.link].filter(r=>!!r).map(r=>r.onChanges);this.linkInputChangesSubscription=Me(t).pipe(Sr()).subscribe(r=>{this._isActive!==this.isLinkActive(this.router)(r)&&this.update()})}set routerLinkActive(t){const r=Array.isArray(t)?t:t.split(" ");this.classes=r.filter(o=>!!o)}ngOnChanges(t){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||Promise.resolve().then(()=>{const t=this.hasActiveLinks();this._isActive!==t&&(this._isActive=t,this.cdr.markForCheck(),this.classes.forEach(r=>{t?this.renderer.addClass(this.element.nativeElement,r):this.renderer.removeClass(this.element.nativeElement,r)}),t&&void 0!==this.ariaCurrentWhenActive?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this.isActiveChange.emit(t))})}isLinkActive(t){const r=function FO(e){return!!e.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return o=>!!o.urlTree&&t.isActive(o.urlTree,r)}hasActiveLinks(){const t=this.isLinkActive(this.router);return this.link&&t(this.link)||this.links.some(t)}}return e.\u0275fac=function(t){return new(t||e)(M(pt),M(Dt),M(Sn),M(ua),M(gn,8))},e.\u0275dir=B({type:e,selectors:[["","routerLinkActive",""]],contentQueries:function(t,r,o){if(1&t&&By(o,gn,5),2&t){let i;jy(i=function $y(){return function mA(e,n){return e[tn].queries[n].queryList}(E(),Th())}())&&(r.links=i)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[Tt]}),e})();class ow{}let PO=(()=>{class e{constructor(t,r,o,i,s){this.router=t,this.injector=o,this.preloadingStrategy=i,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(Yt(t=>t instanceof Jn),Gn(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,r){const o=[];for(const i of r){i.providers&&!i._injector&&(i._injector=ea(i.providers,t,`Route: ${i.path}`));const s=i._injector??t,a=i._loadedInjector??s;(i.loadChildren&&!i._loadedRoutes&&void 0===i.canLoad||i.loadComponent&&!i._loadedComponent)&&o.push(this.preloadConfig(s,i)),(i.children||i._loadedRoutes)&&o.push(this.processRoutes(a,i.children??i._loadedRoutes))}return Me(o).pipe(Sr())}preloadConfig(t,r){return this.preloadingStrategy.preload(r,()=>{let o;o=r.loadChildren&&void 0===r.canLoad?this.loader.loadChildren(t,r):O(null);const i=o.pipe($e(s=>null===s?O(void 0):(r._loadedRoutes=s.routes,r._loadedInjector=s.injector,this.processRoutes(s.injector??t,s.routes))));return r.loadComponent&&!r._loadedComponent?Me([i,this.loader.loadComponent(r)]).pipe(Sr()):i})}}return e.\u0275fac=function(t){return new(t||e)(N(pt),N(fv),N(on),N(ow),N(Df))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const bf=new R("");let iw=(()=>{class e{constructor(t,r,o,i,s={}){this.urlSerializer=t,this.transitions=r,this.viewportScroller=o,this.zone=i,this.options=s,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},s.scrollPositionRestoration=s.scrollPositionRestoration||"disabled",s.anchorScrolling=s.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof rf?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof Jn&&(this.lastId=t.id,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof MD&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,r){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new MD(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,r))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}}return e.\u0275fac=function(t){!function bg(){throw new Error("invalid")}()},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();var bt=(()=>((bt=bt||{})[bt.COMPLETE=0]="COMPLETE",bt[bt.FAILED=1]="FAILED",bt[bt.REDIRECTING=2]="REDIRECTING",bt))();const So=!1;function er(e,n){return{\u0275kind:e,\u0275providers:n}}const Ef=new R("",{providedIn:"root",factory:()=>!1});function aw(){const e=Q(sn);return n=>{const t=e.get(aa);if(n!==t.components[0])return;const r=e.get(pt),o=e.get(lw);1===e.get(Sf)&&r.initialNavigation(),e.get(uw,null,U.Optional)?.setUpPreloading(),e.get(bf,null,U.Optional)?.init(),r.resetRootComponentType(t.componentTypes[0]),o.closed||(o.next(),o.complete(),o.unsubscribe())}}const lw=new R(So?"bootstrap done indicator":"",{factory:()=>new mn}),Sf=new R(So?"initial navigation":"",{providedIn:"root",factory:()=>1});function UO(){let e=[];return e=So?[{provide:Os,multi:!0,useFactory:()=>{const n=Q(pt);return()=>n.events.subscribe(t=>{console.group?.(`Router Event: ${t.constructor.name}`),console.log(function fP(e){if(!("type"in e))return`Unknown Router Event: ${e.constructor.name}`;switch(e.type){case 14:return`ActivationEnd(path: '${e.snapshot.routeConfig?.path||""}')`;case 13:return`ActivationStart(path: '${e.snapshot.routeConfig?.path||""}')`;case 12:return`ChildActivationEnd(path: '${e.snapshot.routeConfig?.path||""}')`;case 11:return`ChildActivationStart(path: '${e.snapshot.routeConfig?.path||""}')`;case 8:return`GuardsCheckEnd(id: ${e.id}, url: '${e.url}', urlAfterRedirects: '${e.urlAfterRedirects}', state: ${e.state}, shouldActivate: ${e.shouldActivate})`;case 7:return`GuardsCheckStart(id: ${e.id}, url: '${e.url}', urlAfterRedirects: '${e.urlAfterRedirects}', state: ${e.state})`;case 2:return`NavigationCancel(id: ${e.id}, url: '${e.url}')`;case 16:return`NavigationSkipped(id: ${e.id}, url: '${e.url}')`;case 1:return`NavigationEnd(id: ${e.id}, url: '${e.url}', urlAfterRedirects: '${e.urlAfterRedirects}')`;case 3:return`NavigationError(id: ${e.id}, url: '${e.url}', error: ${e.error})`;case 0:return`NavigationStart(id: ${e.id}, url: '${e.url}')`;case 6:return`ResolveEnd(id: ${e.id}, url: '${e.url}', urlAfterRedirects: '${e.urlAfterRedirects}', state: ${e.state})`;case 5:return`ResolveStart(id: ${e.id}, url: '${e.url}', urlAfterRedirects: '${e.urlAfterRedirects}', state: ${e.state})`;case 10:return`RouteConfigLoadEnd(path: ${e.route.path})`;case 9:return`RouteConfigLoadStart(path: ${e.route.path})`;case 4:return`RoutesRecognized(id: ${e.id}, url: '${e.url}', urlAfterRedirects: '${e.urlAfterRedirects}', state: ${e.state})`;case 15:return`Scroll(anchor: '${e.anchor}', position: '${e.position?`${e.position[0]}, ${e.position[1]}`:null}')`}}(t)),console.log(t),console.groupEnd?.()})}}]:[],er(1,e)}const uw=new R(So?"router preloader":"");function HO(e){return er(0,[{provide:uw,useExisting:PO},{provide:ow,useExisting:e}])}const Ki=!1,cw=new R(Ki?"router duplicate forRoot guard":"ROUTER_FORROOT_GUARD"),jO=[Wc,{provide:ki,useClass:Qd},pt,Bi,{provide:Er,useFactory:function sw(e){return e.routerState.root},deps:[pt]},Df,Ki?{provide:Ef,useValue:!0}:[]];function BO(){return new Cv("Router",pt)}let dw=(()=>{class e{constructor(t){}static forRoot(t,r){return{ngModule:e,providers:[jO,Ki&&r?.enableTracing?UO().\u0275providers:[],{provide:Eo,multi:!0,useValue:t},{provide:cw,useFactory:qO,deps:[[pt,new zo,new qo]]},{provide:cl,useValue:r||{}},r?.useHash?{provide:_r,useClass:ST}:{provide:_r,useClass:$v},{provide:bf,useFactory:()=>{const e=Q($x),n=Q(Ae),t=Q(cl),r=Q(ul),o=Q(ki);return t.scrollOffset&&e.setOffset(t.scrollOffset),new iw(o,r,e,n,t)}},r?.preloadingStrategy?HO(r.preloadingStrategy).\u0275providers:[],{provide:Cv,multi:!0,useFactory:BO},r?.initialNavigation?WO(r):[],[{provide:fw,useFactory:aw},{provide:_v,multi:!0,useExisting:fw}]]}}static forChild(t){return{ngModule:e,providers:[{provide:Eo,multi:!0,useValue:t}]}}}return e.\u0275fac=function(t){return new(t||e)(N(cw,8))},e.\u0275mod=Lt({type:e}),e.\u0275inj=Mt({imports:[pf]}),e})();function qO(e){if(Ki&&e)throw new I(4007,"The Router was provided more than once. This can happen if 'forRoot' is used outside of the root injector. Lazy loaded modules should use RouterModule.forChild() instead.");return"guarded"}function WO(e){return["disabled"===e.initialNavigation?er(3,[{provide:oa,multi:!0,useFactory:()=>{const n=Q(pt);return()=>{n.setUpLocationChangeListener()}}},{provide:Sf,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?er(2,[{provide:Sf,useValue:0},{provide:oa,multi:!0,deps:[sn],useFactory:n=>{const t=n.get(bT,Promise.resolve());return()=>t.then(()=>new Promise(r=>{const o=n.get(pt),i=n.get(lw);(function OO(e,n){e.events.pipe(Yt(t=>t instanceof Jn||t instanceof Xa||t instanceof sf||t instanceof Ja),K(t=>t instanceof Jn||t instanceof Ja?bt.COMPLETE:t instanceof Xa&&(0===t.code||1===t.code)?bt.REDIRECTING:bt.FAILED),Yt(t=>t!==bt.REDIRECTING),ir(1)).subscribe(()=>{n()})})(o,()=>{r(!0)}),n.get(ul).afterPreactivation=()=>(r(!0),i.closed?O(void 0):i),o.initialNavigation()}))}}]).\u0275providers:[]]}const fw=new R(Ki?"Router Initializer":"");class YO{constructor(){this.name="",this.email="",this.message=""}}const je_apiBaseUrl="https://www.palmmedia.de/api/";let hw=(()=>{class e{constructor(t){this.httpClient=t}postContactForm(t){return this.httpClient.post(`${je_apiBaseUrl}contact`,t)}}return e.\u0275fac=function(t){return new(t||e)(N(bd))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();function ZO(e,n){if(1&e){const t=Ge();h(0,"form",5,6),F("ngSubmit",function(){return ue(t),ce(H().submit())}),h(2,"div",7)(3,"label",8),f(4,"Name "),h(5,"span",9),f(6,"*"),p()(),h(7,"input",10),F("ngModelChange",function(o){return ue(t),ce(H().contactViewModel.name=o)}),p()(),h(8,"div",7)(9,"label",11),f(10,"E-Mail "),h(11,"span",9),f(12,"*"),p()(),h(13,"input",12),F("ngModelChange",function(o){return ue(t),ce(H().contactViewModel.email=o)}),p()(),h(14,"div",7)(15,"label",13),f(16,"Nachricht "),h(17,"span",9),f(18,"*"),p()(),h(19,"textarea",14),F("ngModelChange",function(o){return ue(t),ce(H().contactViewModel.message=o)}),p()(),h(20,"button",15),f(21,"Submit"),p()()}if(2&e){const t=function Jg(e){return function Nr(e,n){return e[n]}(function $b(){return z.lFrame.contextLView}(),ye+e)}(1),r=H();C(7),S("ngModel",r.contactViewModel.name),C(6),S("ngModel",r.contactViewModel.email),C(6),S("ngModel",r.contactViewModel.message),C(1),S("disabled",!t.valid||r.enableFormCountDown>0)}}function QO(e,n){1&e&&(h(0,"p"),f(1,"Thanks for your message."),p())}function XO(e,n){1&e&&(h(0,"p",16),f(1,"Something went wrong. Please try again later."),p())}let JO=(()=>{class e{constructor(t){this.contactService=t,this.contactViewModel=new YO,this.success=!1,this.error=!1,this.enableFormCountDown=100,this.intervalId=null}ngOnInit(){this.intervalId=setInterval(()=>{this.enableFormCountDown-=1,0===this.enableFormCountDown&&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")})}}return e.\u0275fac=function(t){return new(t||e)(M(hw))},e.\u0275cmp=At({type:e,selectors:[["app-contact-component"]],decls:6,vars:3,consts:[[1,"container"],[1,"mb-4"],["method","post",3,"ngSubmit",4,"ngIf"],[4,"ngIf"],["class","text-danger",4,"ngIf"],["method","post",3,"ngSubmit"],["contactForm","ngForm"],[1,"mb-3"],["for","Name"],[1,"required"],["type","text","id","Name","name","Name","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","Email"],["type","email","id","Email","name","Email","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","Message"],["rows","7","id","Message","name","Message","required","",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-primary",3,"disabled"],[1,"text-danger"]],template:function(t,r){1&t&&(h(0,"div",0)(1,"h1",1),f(2,"Contact"),p(),$(3,ZO,22,4,"form",2),$(4,QO,2,0,"p",3),$(5,XO,2,0,"p",4),p()),2&t&&(C(3),S("ngIf",!r.success&&!r.error),C(1),S("ngIf",r.success),C(1),S("ngIf",r.error))},dependencies:[wa,Hd,Mi,Ad,Td,Ni,ja,Ri],styles:[".required[_ngcontent-%COMP%]{color:#1c8eb7}"]}),e})();const pw=function(){return["/pro"]};let ek=(()=>{class e{scrollToAnchor(t){return document.querySelector(t)?.scrollIntoView(!0),!1}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=At({type:e,selectors:[["app-features-component"]],decls:138,vars:4,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"],["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"],["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"],["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"],["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"]],template:function(t,r){1&t&&(h(0,"div",0)(1,"h1",1),f(2,"Features"),p(),v(3,"div",2)(4,"br"),h(5,"h2"),f(6,"Coverage quotas"),p(),h(7,"p"),f(8," The overiew cards provide a quick "),h(9,"span",3),f(10,"overview"),p(),f(11," of your coverage quotas."),v(12,"br"),f(13," You can use them to get a glimpse into the different "),h(14,"a",4),f(15,"coverage metrics"),p(),f(16,"\xa0"),h(17,"a",4),v(18,"i",5),p(),f(19,": "),p(),h(20,"ul")(21,"li"),f(22,"Line coverage"),p(),h(23,"li"),f(24,"Branch coverage"),p(),h(25,"li"),f(26,"Method coverage "),h(27,"a",6)(28,"span",7),f(29,"PRO"),p()()()(),v(30,"img",8)(31,"div",9)(32,"br"),h(33,"h2",10),f(34,"Coverage history"),p(),h(35,"p"),f(36," The history chart helps you to understand how your coverage quotas are "),h(37,"span",3),f(38,"evolving over time"),p(),f(39,". "),p(),v(40,"img",11)(41,"div",12)(42,"br"),h(43,"h2",10),f(44,"Summary table / Overview"),p(),h(45,"p"),f(46," The summary table helps you to identify classes with "),h(47,"span",3),f(48,"low test coverage"),p(),f(49,"."),v(50,"br"),f(51," The table offers various "),h(52,"span",3),f(53,"filter and sorting"),p(),f(54," options for quick navigation. "),p(),v(55,"img",13)(56,"div",14)(57,"br"),h(58,"h2",10),f(59,"Details page"),p(),h(60,"p"),f(61," The details page visualizes your "),h(62,"span",3),f(63,"line and branch coverage"),p(),f(64,". "),p(),h(65,"ul")(66,"li"),f(67,"Colors indicate the coverage status of each line."),p(),h(68,"li"),f(69,"Branch indicators help you to identity uncovered conditions."),p()(),v(70,"img",15)(71,"div",16)(72,"br"),h(73,"h2",10),f(74,"Metrics"),p(),h(75,"p"),f(76," Depending on your "),h(77,"a",17),f(78,"coverage tool"),p(),f(79,", metrics are provided to get further insigths in your "),h(80,"span",3),f(81,"code quality"),p(),f(82,". "),p(),h(83,"ul")(84,"li"),f(85,"The "),h(86,"a",18),F("click",function(){return r.scrollToAnchor("#details")}),f(87,"details page"),p(),f(88," contains information about the metrics of all methods of a class."),p(),h(89,"li"),f(90,"The "),h(91,"a",18),F("click",function(){return r.scrollToAnchor("#summary")}),f(92,"summary table"),p(),f(93," shows the lowest metrics of all methods of a class "),h(94,"a",6)(95,"span",7),f(96,"PRO"),p()()()(),h(97,"b"),f(98,"Details page"),p(),v(99,"br")(100,"img",19)(101,"br")(102,"br"),h(103,"b"),f(104,"Summary table"),p(),v(105,"br")(106,"img",20)(107,"div",21)(108,"br"),h(109,"h2",10),f(110,"Risk Hotspots"),p(),h(111,"p"),f(112," Based on the "),h(113,"a",18),F("click",function(){return r.scrollToAnchor("#metrics")}),f(114,"metrics"),p(),f(115," you get a list of potential risk hotspots."),v(116,"br"),f(117," The following metrics are analyzed if available, the warning thresholds are configurable: "),p(),h(118,"ul")(119,"li")(120,"a",22),f(121,"Cyclomatic complexity"),p(),f(122,"\xa0"),h(123,"a",22),v(124,"i",5),p()(),h(125,"li")(126,"a",23),f(127,"NPath complexity"),p(),f(128,"\xa0"),h(129,"a",23),v(130,"i",5),p()(),h(131,"li")(132,"a",24),f(133,"Crap score"),p(),f(134,"\xa0"),h(135,"a",24),v(136,"i",5),p()()(),v(137,"img",25),p()),2&t&&(C(27),S("routerLink",ne(2,pw)),C(67),S("routerLink",ne(3,pw)))},dependencies:[gn]}),e})();const kt={dotnetSDKVersion:"6.x",majorVersion:"5",version:"5.1.20"},tk=function(){return["/usage"]};let nk=(()=>{class e{constructor(){this.versions=kt}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=At({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/coverlet-coverage/coverlet"],["href","https://github.com/SteveGilham/altcover"],[1,"text-dark","bg-light","p-2","border"],["id","java"],["id","java",1,"mt-5"],["href","https://github.com/jacoco/jacoco"],["id","nodejs"],["id","nodejs",1,"mt-5"],["href","https://github.com/istanbuljs/nyc"]],template:function(t,r){1&t&&(h(0,"div",0)(1,"h1",1),f(2,"Get started"),p(),h(3,"h2"),f(4,"General"),p(),h(5,"p"),f(6,"In general you need a tool that instruments your test code and collects coverage information."),v(7,"br"),f(8,"This information is typically stored in a XML file (e.g. in Cobertura format)."),v(9,"br"),h(10,"em"),f(11,"ReportGenerator"),p(),f(12," uses this file and generates a report in HTML format (other formats are available)."),p(),h(13,"p"),f(14,"Use the online "),h(15,"a",2),f(16,"configuration tool"),p(),f(17," to get started quickly."),p(),v(18,"div",3),h(19,"h2",4),f(20,".NET"),p(),h(21,"p"),f(22,"For .NET you can use "),h(23,"a",5),f(24,"coverlet"),p(),f(25," or "),h(26,"a",6),f(27,"altcover"),p(),f(28," for instrumenting your test code."),p(),h(29,"p"),f(30,"After adding the dependencies to your project, you can execute your tests and generate the coverage report."),p(),h(31,"p")(32,"strong"),f(33,"Add dependencies to your "),h(34,"code"),f(35,"*.csproj"),p(),f(36," file:"),p()(),h(37,"pre",7),f(38),p(),h(39,"p")(40,"strong"),f(41,"Execute tests and create coverage report"),p()(),h(42,"pre",7),f(43),p(),v(44,"div",8),h(45,"h2",9),f(46,"Java"),p(),h(47,"p"),f(48,"For Java you can use "),h(49,"a",10),f(50,"JaCoCo"),p(),f(51," for instrumenting your test code.\nAfter adding JaCoCo to your project (here with Maven), you can execute your tests and generate the coverage report."),p(),h(52,"p")(53,"strong"),f(54,"Add dependencies to your "),h(55,"code"),f(56,"pom.xml"),p(),f(57," file:"),p()(),h(58,"pre",7),f(59,"\n \n \n \n org.jacoco\n jacoco-maven-plugin\n 0.8.6\n \n \n \n prepare-agent\n \n \n \n report\n prepare-package\n \n report\n \n \n \n \n \n \n \n \n \n org.jacoco\n jacoco-maven-plugin\n \n \n \n report\n \n \n \n \n \n \n\n"),p(),h(60,"p")(61,"strong"),f(62,"Execute tests and create coverage report"),p()(),h(63,"pre",7),f(64),p(),v(65,"div",11),h(66,"h2",12),f(67,"NodeJS"),p(),h(68,"p"),f(69,"For NodeJS you can use "),h(70,"a",13),f(71,"Istanbul"),p(),f(72," for instrumenting your test code.\nAfter installing Istanbul, you can execute your tests and generate the coverage report."),p(),h(73,"pre",7),f(74),p()()),2&t&&(C(15),S("routerLink",ne(5,tk)),C(23),Tn('\n \n runtime; build; native; contentfiles; analyzers; buildtransitive\n all\n \n \n \n \n all\n runtime; build; native; contentfiles; analyzers\n \n\n'),C(5),Tn('dotnet test --collect:"XPlat Code Coverage"\n"%UserProfile%\\.nuget\\packages\\reportgenerator\\',r.versions.version,'\\tools\\net6.0\\ReportGenerator.exe" -reports:*\\TestResults\\*\\coverage.cobertura.xml -targetdir:coveragereport\n'),C(21),Tn("mvn test jacoco:report\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",r.versions.version,"\ntools\\reportgenerator -reports:target\\site\\jacoco\\jacoco.xml -targetdir:coveragereport -sourcedirs:src\\main\\java\n"),C(10),Tn("npm i nyc --save-dev\nnyc --reporter=coberatura mocha\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",r.versions.version,"\ntools\\reportgenerator -reports:coverage/cobertura-coverage.xml -targetdir:coveragereport\n"))},dependencies:[gn]}),e})();const rk=function(){return["/pro"]},ok=function(){return["/usage"]},ik=function(){return["/getstarted"]},sk=function(){return["/features"]};let ak=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=At({type:e,selectors:[["app-home"]],decls:143,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"],[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","bg-light"],[1,"text-center"],[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",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/blob/mainline/aws-encryption-sdk-net/README.md","target","_blank",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"],[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(t,r){1&t&&(h(0,"section",0)(1,"div",1)(2,"div",2),v(3,"img",3),p(),h(4,"div",4)(5,"h1"),f(6,"ReportGenerator"),p(),h(7,"h2",5),f(8,"Powerful code coverage visualization"),p(),h(9,"div",6),f(10,"\xa0"),p(),h(11,"div",7)(12,"p")(13,"i"),f(14,"ReportGenerator"),p(),f(15," converts "),h(16,"span",8),f(17,"coverage reports"),p(),f(18," generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov or lcov into "),h(19,"span",8),f(20,"human readable reports in various formats"),p(),f(21,"."),p(),h(22,"p"),f(23,"The reports show the "),h(24,"span",8),f(25,"coverage quotas"),p(),f(26," and also visualize which lines of your source code have been covered."),p(),h(27,"p")(28,"a",9),v(29,"i",10),f(30," Browse example report"),p()()()()(),h(31,"div",11)(32,"div",12)(33,"div",13),v(34,"i",14),p(),h(35,"span",15),f(36,"Open source"),p(),h(37,"p",16)(38,"i"),f(39,"ReportGenerator"),p(),f(40," is open source under the permissive Apache License."),p(),h(41,"p"),f(42,"It's free to use."),v(43,"br"),f(44,"The "),h(45,"a",17),f(46,"PRO"),p(),f(47," version offers additional features."),p()(),h(48,"div",18)(49,"div",13),v(50,"i",19),p(),h(51,"span",15),f(52,"Easy to use"),p(),h(53,"p",16)(54,"i"),f(55,"ReportGenerator"),p(),f(56," is a command line tool which only requires a "),h(57,"a",17),f(58,"few parameters"),p(),f(59,"."),p(),h(60,"p"),f(61,"Integration into your build pipeline will only take a couple of minutes."),p()(),h(62,"div",18)(63,"div",13),v(64,"i",20),p(),h(65,"span",15),f(66,"Integration"),p(),h(67,"p",16)(68,"i"),f(69,"ReportGenerator"),p(),f(70," works on Windows, Linux and macOS."),p(),h(71,"p"),f(72,"Support for "),h(73,"a",21),f(74,"GitHub actions"),p(),f(75," and "),h(76,"a",22),f(77,"Azure DevOps"),p(),f(78," is available."),p()()(),h(79,"div",11)(80,"div",23)(81,"a",24),v(82,"i",25),f(83," Learn how to use"),p(),h(84,"a",26),v(85,"i",27),f(86," GitHub"),p()()()(),h(87,"section",28)(88,"div",0)(89,"h2",29),f(90,"Trusted by"),p(),h(91,"div",11)(92,"div",30),v(93,"i",31)(94,"br"),h(95,"a",32),f(96,".NET Runtime"),p()(),h(97,"div",30),v(98,"i",33)(99,"br"),h(100,"a",34),f(101,"Google Cloud"),p()(),h(102,"div",30),v(103,"i",35)(104,"br"),h(105,"a",36),f(106,"AWS Encryption SDK"),p()(),h(107,"div",37),v(108,"i",38)(109,"br"),h(110,"a",39),f(111,"Many more"),p()()(),h(112,"div",11)(113,"div",30)(114,"a",40),v(115,"i",41),f(116," Over 50 million downloads on Nuget"),p()()()()(),h(117,"section",42)(118,"div",0)(119,"h2"),f(120,"Screenshots"),p(),h(121,"p"),f(122,"The screenshots show two snippets of the generated reports."),p(),h(123,"p"),f(124," Have a look the "),h(125,"a",17),f(126,"features page"),p(),f(127," to explore the elements in a coverage report or "),h(128,"a",43),f(129,"browse the example report"),p(),f(130,". "),v(131,"br"),f(132," You can also download "),h(133,"a",44),f(134,"sample reports"),p(),f(135," of all supported output formats."),p(),h(136,"div",1)(137,"div",45)(138,"a",46),v(139,"img",47),p()(),h(140,"div",48)(141,"a",49),v(142,"img",50),p()()()()()),2&t&&(C(45),S("routerLink",ne(4,rk)),C(12),S("routerLink",ne(5,ok)),C(24),S("routerLink",ne(6,ik)),C(44),S("routerLink",ne(7,sk)))},dependencies:[gn],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,#1c7ed6 0%,#23b8cf 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}}"]}),e})(),lk=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=At({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(t,r){1&t&&(h(0,"div",0)(1,"h1",1),f(2,"Not found"),p(),v(3,"i",2),f(4," The requested page does not exist.\n"),p())}}),e})();class gw{constructor(){this.error=null,this.isSponsor=!1,this.license=null}}let mw=(()=>{class e{initCodeFlow(){const o=`https://github.com/login/oauth/authorize?response_type=code&client_id=ecab9484932b59a12fd4&state=${this.createAndSaveNonce()}&redirect_uri=${window.location.origin}/pro`;console.log("Redirecting to: "+o),location.href=o}validateStateAndExtractCode(){let t=location.href;const r=t.indexOf("?");r>-1&&(t=t.substring(r+1));const o=this.parseQueryString(t);return o.state&&o.code&&this.validateNonce(o.state)?o.code:null}createAndSaveNonce(){const 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&&0!==r.length?r===t||(console.error("Validating nonce failed. Values do not match.",r,t),!1):(console.error("Validating nonce failed. No saved nonce available.",r,t),!1)}createNonce(){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~";let r=45,o="";const i=typeof self>"u"?null:self.crypto||self.msCrypto;if(i){let a=new Uint8Array(r);i.getRandomValues(a),a.map||(a.map=Array.prototype.map);const l=[];for(var s=0;s0&&(u=decodeURIComponent(a),c=decodeURIComponent(l),"/"===u.substring(0,1)&&(u=u.substring(1)),r[u]=c);return r}base64UrlEncode(t){return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})(),yw=(()=>{class e{constructor(t){this.httpClient=t}getLicense(t){return this.httpClient.get(`${je_apiBaseUrl}reportgenerator/license?code=${encodeURIComponent(t)}`)}getPaddleLicense(t){return this.httpClient.post(`${je_apiBaseUrl}reportgenerator/paddlelicense`,t)}}return e.\u0275fac=function(t){return new(t||e)(N(bd))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e})();function uk(e,n){1&e&&(h(0,"div",43)(1,"span",44),f(2,"Loading..."),p()())}function ck(e,n){1&e&&(h(0,"div",45),v(1,"i",46),p())}const Mf=function(){return["/contact"]};function dk(e,n){if(1&e&&(h(0,"div")(1,"p"),f(2),p(),h(3,"p"),f(4,"Please try again later or use the "),h(5,"a",18),f(6," contact form"),p(),f(7,"."),p()()),2&e){const t=H(2);C(2),Ce(t.license.error),C(3),S("routerLink",ne(2,Mf))}}function fk(e,n){1&e&&(h(0,"div")(1,"p"),f(2,"Please become a "),h(3,"a",48),f(4,"GitHub sponsor"),p(),f(5," first."),p()())}function hk(e,n){1&e&&(h(0,"span"),v(1,"i",52),f(2," Copy"),p())}function pk(e,n){1&e&&(h(0,"span"),v(1,"i",53),f(2," Copied"),p())}function gk(e,n){if(1&e){const t=Ge();h(0,"div")(1,"label",49),f(2,"Thank you for becoming a sponsor. Here's your license:"),p(),h(3,"textarea",50),f(4),p(),h(5,"button",51),F("click",function(){return ue(t),ce(H(2).copy())}),$(6,hk,3,0,"span",47),$(7,pk,3,0,"span",47),p()()}if(2&e){const t=H(2);C(4),Ce(t.license.license),C(2),S("ngIf",!t.licenseCopied),C(1),S("ngIf",t.licenseCopied)}}function mk(e,n){if(1&e&&(h(0,"div",21),$(1,dk,8,3,"div",47),$(2,fk,6,0,"div",47),$(3,gk,8,3,"div",47),p()),2&e){const t=H();C(1),S("ngIf",t.license.error),C(1),S("ngIf",!t.license.error&&!t.license.isSponsor),C(1),S("ngIf",!t.license.error&&t.license.isSponsor&&t.license.license)}}function yk(e,n){if(1&e){const t=Ge();h(0,"button",63),F("click",function(){return ue(t),ce(H(2).openPaddleCheckout("individual"))}),f(1,"Buy now"),p()}}function vk(e,n){1&e&&(h(0,"button",64),f(1,"Coming soon"),p())}function _k(e,n){if(1&e){const t=Ge();h(0,"button",63),F("click",function(){return ue(t),ce(H(2).openPaddleCheckout("team"))}),f(1,"Buy now"),p()}}function Ck(e,n){1&e&&(h(0,"button",64),f(1,"Coming soon"),p())}function Dk(e,n){if(1&e){const t=Ge();h(0,"button",63),F("click",function(){return ue(t),ce(H(2).openPaddleCheckout("enterprise"))}),f(1,"Buy now"),p()}}function wk(e,n){1&e&&(h(0,"button",64),f(1,"Coming soon"),p())}function bk(e,n){if(1&e&&(h(0,"div",2)(1,"div",54)(2,"div",55),v(3,"img",56),h(4,"h4",57),f(5,"Individual"),v(6,"br"),f(7),p(),h(8,"p"),f(9,"Annual - Per developer license."),p(),$(10,yk,2,0,"button",58),$(11,vk,2,0,"button",59),p()(),h(12,"div",60)(13,"div",55),v(14,"img",61),h(15,"h4",57),f(16,"Team"),v(17,"br"),f(18),p(),h(19,"p"),f(20,"Annual - Up to 10 developers."),p(),$(21,_k,2,0,"button",58),$(22,Ck,2,0,"button",59),p()(),h(23,"div",60)(24,"div",55),v(25,"img",62),h(26,"h4",57),f(27,"Enterprise"),v(28,"br"),f(29),p(),h(30,"p"),f(31,"Annual - Unlimited developers."),p(),$(32,Dk,2,0,"button",58),$(33,wk,2,0,"button",59),p()()()),2&e){const t=H();C(7),Ce(t.paddleIndividualLicensePrice),C(3),S("ngIf",t.enablePaddle),C(1),S("ngIf",!t.enablePaddle),C(7),Ce(t.paddleTeamLicensePrice),C(3),S("ngIf",t.enablePaddle),C(1),S("ngIf",!t.enablePaddle),C(7),Ce(t.paddleEnterpriseLicensePrice),C(3),S("ngIf",t.enablePaddle),C(1),S("ngIf",!t.enablePaddle)}}function Ek(e,n){1&e&&(pr(0),h(1,"div",43)(2,"span",44),f(3,"Loading..."),p()(),h(4,"span",66),f(5,"Your license is being generated. Please wait."),p(),gr())}function Sk(e,n){if(1&e&&(h(0,"div")(1,"p"),f(2),p(),h(3,"p"),f(4,"Please try again later or use the "),h(5,"a",18),f(6," contact form"),p(),f(7,"."),p()()),2&e){const t=H(3);C(2),Ce(t.paddleLicense.error),C(3),S("routerLink",ne(2,Mf))}}function Mk(e,n){1&e&&(h(0,"span"),v(1,"i",52),f(2," Copy"),p())}function Ik(e,n){1&e&&(h(0,"span"),v(1,"i",53),f(2," Copied"),p())}function Ak(e,n){if(1&e){const t=Ge();h(0,"div")(1,"label",68),f(2,"Thank you for buying a license. Please save your license key persistently:"),p(),h(3,"textarea",69),f(4),p(),h(5,"button",51),F("click",function(){return ue(t),ce(H(3).copyPaddle())}),$(6,Mk,3,0,"span",47),$(7,Ik,3,0,"span",47),p()()}if(2&e){const t=H(3);C(4),Ce(t.paddleLicense.license),C(2),S("ngIf",!t.paddleLicenseCopied),C(1),S("ngIf",t.paddleLicenseCopied)}}function Tk(e,n){if(1&e&&(h(0,"div",67),$(1,Sk,8,3,"div",47),$(2,Ak,8,3,"div",47),p()),2&e){const t=H(2);C(1),S("ngIf",t.paddleLicense.error),C(1),S("ngIf",!t.paddleLicense.error&&t.paddleLicense.license)}}function xk(e,n){if(1&e&&(h(0,"div",2),$(1,Ek,6,0,"ng-container",47),$(2,Tk,3,2,"div",65),p()),2&e){const t=H();C(1),S("ngIf",t.paddleLicenseRequested&&!t.paddleLicense),C(1),S("ngIf",t.paddleLicense)}}const Mo=function(){return["/features"]};let Rk=(()=>{class e{constructor(t,r){this.oauthService=t,this.licenseService=r,this.paddleIndividualLicensePrice="US$49",this.paddleTeamLicensePrice="US$149",this.paddleEnterpriseLicensePrice="US$299",this.licenseRequested=!1,this.licenseCopied=!1,this.license=null,this.enablePaddle=!0,this.paddleLicenseRequested=!1,this.paddleLicenseCopied=!1,this.paddleLicense=null,this.self=this,window.paddleCheckoutComplete=o=>{this.paddleCheckoutComplete(o)},window.Paddle.Setup({vendor:144162}),window.Paddle.Product.Prices(762579,o=>{this.paddleIndividualLicensePrice=o.recurring.price.gross}),window.Paddle.Product.Prices(762580,o=>{this.paddleTeamLicensePrice=o.recurring.price.gross}),window.Paddle.Product.Prices(762581,o=>{this.paddleEnterpriseLicensePrice=o.recurring.price.gross})}ngOnInit(){const t=this.oauthService.validateStateAndExtractCode();null!==t?(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 gw,this.license.error="Unable to generate license."},complete:()=>console.info("complete")})):console.log("No code available")}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(){try{navigator.clipboard.writeText(this.paddleLicense.license),this.paddleLicenseCopied=!0}catch(t){console.error("Failed to copy paddle license",t)}}scrollToGithub(){return document.querySelector("#github").scrollIntoView(!0),!1}scrollToPaddle(){return document.querySelector("#paddle").scrollIntoView(!0),!1}openPaddleCheckout(t){"enterprise"===t?window.Paddle.Checkout.open({product:762581,successCallback:"paddleCheckoutComplete"}):"team"===t?window.Paddle.Checkout.open({product:762580,successCallback:"paddleCheckoutComplete"}):window.Paddle.Checkout.open({product:762579,successCallback:"paddleCheckoutComplete"})}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()},error:r=>{console.error(r),this.paddleLicense=new gw,this.paddleLicense.error="Unable to generate paddle license."},complete:()=>console.info("complete")})}}return e.\u0275fac=function(t){return new(t||e)(M(mw),M(yw))},e.\u0275cmp=At({type:e,selectors:[["app-pro-component"]],decls:175,vars:20,consts:[[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"],[1,"col-xs-12","col-md-6","order-1","order-md-2"],["href","",3,"click"],[3,"routerLink"],["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,"disabled","click"],[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","style","position: relative;",4,"ngIf"],["class","col-xs-12 col-md-6 pb-3",4,"ngIf"],["id","paddle"],["class","row",4,"ngIf"],[1,"mt-5"],["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"],["role","status",1,"spinner-border","text-info"],[1,"visually-hidden"],[1,"col-md-6","pb-3","d-none","d-lg-block",2,"position","relative"],[1,"fa-solid","fa-heart","githubheartlarge"],[4,"ngIf"],["href","https://github.com/sponsors/danielpalme","target","_blank"],["for","licensetext"],["id","licensetext","rows","5","readonly","",1,"form-control","mt-2"],[1,"btn","btn-outline-dark","mt-2",3,"click"],[1,"fa-solid","fa-copy"],[1,"fa-solid","fa-check","text-success"],[1,"col-xs-6","col-md-4","pb-3","text-center","paddle-container"],[1,"paddle"],["src","resources/individual.svg","alt","Individual",1,"img-fluid"],[1,"mt-3"],["type","button","class","btn btn-primary",3,"click",4,"ngIf"],["type","button","class","btn btn-primary","disabled","",4,"ngIf"],[1,"col-xs-6","col-md-4","mt-4","mt-md-0","pb-3","text-center","paddle-container"],["src","resources/team.svg","alt","Team",1,"img-fluid"],["src","resources/enterprise.svg","alt","Enterprise",1,"img-fluid"],["type","button",1,"btn","btn-primary",3,"click"],["type","button","disabled","",1,"btn","btn-primary"],["class","col-xs-12 col-md-6",4,"ngIf"],[2,"position","relative","left","35px","top","-20px"],[1,"col-xs-12","col-md-6"],["for","paddlelicensetext"],["id","paddlelicensetext","rows","5","readonly","",1,"form-control","mt-2"]],template:function(t,r){1&t&&(h(0,"div",0)(1,"h1",1),f(2,"PRO"),p(),h(3,"div",2)(4,"div",3)(5,"table",4)(6,"thead")(7,"tr"),v(8,"th",5),h(9,"th",6),f(10,"Free"),p(),h(11,"th",6)(12,"span",7),f(13,"PRO"),p()()()(),h(14,"tbody")(15,"tr")(16,"th",8),f(17,"Metrics "),h(18,"a",9),v(19,"i",10),p()(),h(20,"td",11),v(21,"i",12),p(),h(22,"td",11),v(23,"i",12),p()(),h(24,"tr")(25,"th",8),f(26,"Risk Hotspots "),h(27,"a",13),v(28,"i",10),p()(),h(29,"td",11),v(30,"i",12),p(),h(31,"td",11),v(32,"i",12),p()(),h(33,"tr")(34,"th",8),f(35,"Line coverage "),h(36,"a",14),v(37,"i",10),p()(),h(38,"td",11),v(39,"i",12),p(),h(40,"td",11),v(41,"i",12),p()(),h(42,"tr")(43,"th",8),f(44,"Branch coverage "),h(45,"a",14),v(46,"i",10),p()(),h(47,"td",11),v(48,"i",12),p(),h(49,"td",11),v(50,"i",12),p()(),h(51,"tr")(52,"th",8),f(53,"Method coverage "),h(54,"a",14),v(55,"i",10),p()(),v(56,"td",11),h(57,"td",11),v(58,"i",15),p()(),h(59,"tr")(60,"th",8),f(61,"Metrics on summary page "),h(62,"a",9),v(63,"i",10),p()(),v(64,"td",11),h(65,"td",11),v(66,"i",15),p()(),h(67,"tr")(68,"th",8)(69,"i"),f(70,"OpenCover"),p(),f(71," output format"),p(),v(72,"td",11),h(73,"td",11),v(74,"i",15),p()()()()(),h(75,"div",16)(76,"p")(77,"i"),f(78,"ReportGenerator"),p(),f(79," is Open Source and free to use."),v(80,"br"),f(81," Some of the advanced features require a PRO license. "),p(),h(82,"p"),f(83," You can either become a "),h(84,"a",17),F("click",function(){return r.scrollToGithub()}),f(85,"GitHub sponsor"),p(),f(86," or you can "),h(87,"a",17),F("click",function(){return r.scrollToPaddle()}),f(88,"buy a license"),p(),f(89,"."),v(90,"br"),p(),h(91,"p"),f(92," Get "),h(93,"a",18),f(94,"in touch"),p(),f(95," if you have any issues and we will figure it out. "),p()()(),v(96,"div",19),p(),h(97,"section",20)(98,"div",0)(99,"h2",1),f(100,"Get your license as a sponsor"),p(),h(101,"div",2)(102,"div",21)(103,"p"),f(104,"You can obtain your license in two easy steps (no sign up required):"),p(),h(105,"span",22),f(106,"1."),p(),h(107,"a",23),v(108,"i",24),f(109," Become a GitHub sponsor"),p(),v(110,"br"),h(111,"span",22),f(112,"2."),p(),h(113,"button",25),F("click",function(){return r.requestLicense()}),v(114,"i",26),f(115," Get license"),p(),$(116,uk,3,0,"div",27),p(),$(117,ck,2,0,"div",28),$(118,mk,4,3,"div",29),p()(),v(119,"div",30),p(),h(120,"section",20)(121,"div",0)(122,"h2",1),f(123,"Buy a license"),p(),$(124,bk,34,9,"div",31),$(125,xk,3,2,"div",31),h(126,"div",32)(127,"p")(128,"i"),f(129,"ReportGenerator"),p(),f(130," licence purchases are provided with a 30 day money back guarantee."),p(),h(131,"p"),f(132,"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."),p()()()(),h(133,"section",33)(134,"h2",1),f(135,"Frequently Asked Questions"),p(),h(136,"div",34)(137,"div",35)(138,"h2",36)(139,"button",37),f(140," Are there limitations on number of users? "),p()(),h(141,"div",38)(142,"div",39)(143,"b"),f(144,"GitHub sponsors"),p(),v(145,"br"),h(146,"p"),f(147,"There's no enforced limit. Just pick a sponsor level that fits your company size and budget."),p(),h(148,"b"),f(149,"Bought license"),p(),v(150,"br"),h(151,"p"),f(152,"There's no enforced limit. Please choose a plan that matches the number of developers using "),h(153,"i"),f(154,"ReportGenerator"),p(),f(155,"."),p()()()(),h(156,"div",35)(157,"h2",40)(158,"button",41),f(159," Will my license expire? "),p()(),h(160,"div",42)(161,"div",39)(162,"b"),f(163,"GitHub sponsors"),p(),v(164,"br"),h(165,"p"),f(166,"Your license will not expire."),p(),h(167,"b"),f(168,"Bought license"),p(),v(169,"br"),h(170,"p"),f(171,"Your license may get revoked for new releases of "),h(172,"i"),f(173,"ReportGenerator"),p(),f(174," if you cancel your subscription."),p()()()()()()),2&t&&(C(18),S("routerLink",ne(13,Mo)),C(9),S("routerLink",ne(14,Mo)),C(9),S("routerLink",ne(15,Mo)),C(9),S("routerLink",ne(16,Mo)),C(9),S("routerLink",ne(17,Mo)),C(8),S("routerLink",ne(18,Mo)),C(31),S("routerLink",ne(19,Mf)),C(20),S("disabled",r.licenseRequested),C(3),S("ngIf",r.licenseRequested&&!r.license),C(1),S("ngIf",!r.license),C(1),S("ngIf",r.license),C(6),S("ngIf",!r.paddleLicenseRequested),C(1),S("ngIf",r.paddleLicenseRequested))},dependencies:[wa,gn],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}.githubheartlarge[_ngcontent-%COMP%]{position:absolute;top:-120px;left:40%;font-size:20rem;color:#ffd2ed}"]}),e})();class dl{constructor(n,t,r,o,i,s){this.name=n,this.url=t,this.runtimes=r,this.description=o,this.installOptions=i,this.executables=s}formatExecutable(n){return n.tool}formatArgument(n,t){if(""===(t=t.trim()))return"";const r=t.indexOf(" ")>-1?'"':"";return`\r\n${r}-${n}:${t}${r}`}formatArguments(n,t){return this.formatArgument(n,t.filter(r=>null!=r&&0!==r.length&&0!==r.trim().length).join(";"))}}class Nk extends dl{formatExecutable(n){let t=`- task: ${n.tool}@${kt.majorVersion}`;return t+="\r\n displayName: ReportGenerator",t+="\r\n inputs:",console.log("hello",t),t}formatArgument(n,t){if(""===(t=t.trim()))return"";const r=t.indexOf(" ")>-1?"'":"";return`\r\n ${n}: ${r}${t}${r}`}}class Fk{constructor(){this.verbosities=["Verbose","Info","Warning","Error","Off"],this.reports=["cobertura.xml"],this.targetdir="coveragereport",this.reporttypes=[{name:"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",description:"Same as Html but with a light theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Light/index.html"},{name:"Html_Dark",description:"Same as Html but with a dark theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Dark/index.html"},{name:"Html_BlueRed",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",description:"Creates a single HTML file (summary.html) without links.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlSummary/summary.html"},{name:"HtmlChart",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",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",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",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",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",description:"Same as HTML but packaged into a single MHTML file.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MHtml/Summary.mht"},{name:"Clover",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",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",description:"Creates a XML file in OpenCover format (PRO version only).",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/OpenCover/OpenCover.xml"},{name:"SonarQube",description:"Creates a XML file in SonarQube 'Generic Test Data' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/SonarQube/SonarQube.xml"},{name:"lcov",description:"Creates a text file in 'lcov' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/lcov/lcov.info"},{name:"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",description:"Creates a single XML file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/XmlSummary/Summary.xml"},{name:"JsonSummary",description:"Creates a single JSON file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/JsonSummary/Summary.json"},{name:"Latex",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",description:"Creates a single TEX file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/LatexSummary/Summary.tex"},{name:"TeamCitySummary",description:"Command line output interpreted by TeamCity.",requiresHistoryDir:!1,checked:!1,sampleReport:null},{name:"TextSummary",description:"Creates a single TXT file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/TextSummary/Summary.txt"},{name:"TextDeltaSummary",description:"Creates a single TXT file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/TextDeltaSummary/DeltaSummary.txt"},{name:"CsvSummary",description:"Creates a single CSV file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/CsvSummary/Summary.csv"},{name:"MarkdownSummary",description:"Creates a single Markdown file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownSummary/Summary.md"},{name:"MarkdownSummaryGithub",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",description:"Creates a single Markdown file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/MarkdownDeltaSummary/DeltaSummary.md"},{name:"PngChart",description:"Creates a single PNG file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/PngChart/CoverageHistory.png"},{name:"Badges",description:"Creates SVGs and PNGs 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.selectedverbosity=this.verbosities[1],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}getUsage(n,t){const r=n.executables.find(a=>a.runtime==t);let o=void 0!==r?n.formatExecutable(r):"";o+=n.formatArguments("reports",this.reports),o+=n.formatArgument("targetdir",this.targetdir);for(var i="",s=0;s0&&(i+=";"),i+=this.reporttypes[s].name);return i.length>0&&"Html"!==i&&(o+=n.formatArgument("reporttypes",i)),o+=n.formatArguments("sourcedirs",this.sourcedirectories),o+=n.formatArgument("historydir",this.historydir),o+=n.formatArguments("plugins",this.plugins),o+=n.formatArguments("assemblyfilters",this.assemblyfilters),o+=n.formatArguments("classfilters",this.classfilters),o+=n.formatArguments("filefilters",this.filefilters),"Info"!==this.selectedverbosity&&(o+=n.formatArgument("verbosity",this.selectedverbosity)),o+=n.formatArgument("title",this.title),o+=n.formatArgument("tag",this.tag),o+=n.formatArgument("license",this.license),o}historyDirRequired(){for(let n=0;n-1?"'":"";return`\r\n ${n}: ${r}${t}${r}`}}class If{constructor(n,t){this.tool=n,this.command=t}}function Ok(e,n){if(1&e){const t=Ge();h(0,"div",33)(1,"label",34)(2,"input",35),F("ngModelChange",function(o){return ue(t),ce(H().selectedEnvironment=o)})("ngModelChange",function(){return ue(t),ce(H().selectedEnvironmentChanged())}),p(),h(3,"b"),f(4),p(),v(5,"br"),h(6,"div",36),f(7),p()()()}if(2&e){const t=n.$implicit,r=H();C(2),S("ngModel",r.selectedEnvironment)("value",t)("checked",r.selectedEnvironment.name===t.name),C(2),Ce(t.name),C(3),Ce(t.description)}}function kk(e,n){if(1&e){const t=Ge();h(0,"div",33)(1,"label",34)(2,"input",39),F("ngModelChange",function(o){return ue(t),ce(H(3).selectedPackage=o)}),p(),h(3,"b"),f(4),p(),v(5,"br"),h(6,"div",36),f(7),p()()()}if(2&e){const t=H().$implicit,r=H(2);C(2),S("ngModel",r.selectedPackage)("value",t),C(2),Ce(t.name),C(3),Ce(t.description)}}function Lk(e,n){if(1&e&&(pr(0),$(1,kk,8,4,"div",38),gr()),2&e){const t=n.$implicit,r=H(2);C(1),S("ngIf",t.runtimes.indexOf(r.selectedEnvironment.name)>-1)}}function Vk(e,n){if(1&e&&(pr(0),h(1,"h4"),f(2,"NuGet Package"),p(),$(3,Lk,2,1,"ng-container",37),gr()),2&e){const t=H();C(3),S("ngForOf",t.packages)}}function Uk(e,n){if(1&e){const t=Ge();h(0,"span",43),F("click",function(){ue(t);const o=H().index;return ce(H().configuration.removeReport(o))}),h(1,"a",44),v(2,"i",45),p()()}}const Hk=function(e){return{"input-group":e}};function jk(e,n){if(1&e){const t=Ge();h(0,"div",36)(1,"div",40)(2,"input",41),F("ngModelChange",function(o){const s=ue(t).index;return ce(H().configuration.reports[s]=o)}),p(),$(3,Uk,3,0,"span",42),p()()}if(2&e){const t=n.index,r=H();C(1),S("ngClass",mc(4,Hk,t>0)),C(1),An("name","report_",t,""),S("ngModel",r.configuration.reports[t]),C(1),S("ngIf",t>0)}}function Bk(e,n){if(1&e){const t=Ge();h(0,"span",48),v(1,"i",49),f(2," Please specify a "),h(3,"a",9),F("click",function(){return ue(t),ce(H(2).scrollToHistoryDir())}),f(4,"history directory"),p()()}}function $k(e,n){if(1&e&&(pr(0),v(1,"br",50),h(2,"a",27),f(3,"Sample report"),p(),f(4,"\xa0"),h(5,"a",27),v(6,"i",51),p(),gr()),2&e){const t=H().$implicit;C(2),S("href",t.sampleReport,Gr),C(3),S("href",t.sampleReport,Gr)}}function Gk(e,n){if(1&e){const t=Ge();h(0,"div",33)(1,"label",34)(2,"input",46),F("change",function(){const i=ue(t).$implicit;return ce(i.checked=!i.checked)}),p(),h(3,"b"),f(4),p(),$(5,Bk,5,0,"span",47),v(6,"br"),h(7,"div",36),f(8),$(9,$k,7,2,"ng-container",5),p()()()}if(2&e){const t=n.$implicit,r=H();C(2),S("checked",t.checked),C(2),Ce(t.name),C(1),S("ngIf",t.checked&&t.requiresHistoryDir&&!r.configuration.historydir),C(3),Tn("",t.description," "),C(1),S("ngIf",t.sampleReport)}}function zk(e,n){if(1&e){const t=Ge();h(0,"div",8)(1,"div",52)(2,"input",53),F("ngModelChange",function(o){const s=ue(t).index;return ce(H().configuration.sourcedirectories[s]=o)}),p(),h(3,"span",43),F("click",function(){const i=ue(t).index;return ce(H().configuration.removeSourceDirectory(i))}),h(4,"a",44),v(5,"i",45),p()()()()}if(2&e){const t=n.index,r=H();C(2),An("name","sourcedir_",t,""),S("ngModel",r.configuration.sourcedirectories[t])}}function qk(e,n){if(1&e){const t=Ge();h(0,"div",8)(1,"div",52)(2,"input",54),F("ngModelChange",function(o){const s=ue(t).index;return ce(H().configuration.plugins[s]=o)}),p(),h(3,"span",43),F("click",function(){const i=ue(t).index;return ce(H().configuration.removePlugin(i))}),h(4,"a",44),v(5,"i",45),p()()()()}if(2&e){const t=n.index,r=H();C(2),An("name","plugin_",t,""),S("ngModel",r.configuration.plugins[t])}}function Wk(e,n){if(1&e){const t=Ge();h(0,"div",8)(1,"div",52)(2,"input",55),F("ngModelChange",function(o){const s=ue(t).index;return ce(H().configuration.assemblyfilters[s]=o)}),p(),h(3,"span",43),F("click",function(){const i=ue(t).index;return ce(H().configuration.removeAssemblyFilter(i))}),h(4,"a",44),v(5,"i",45),p()()()()}if(2&e){const t=n.index,r=H();C(2),An("name","assemblyfilter_",t,""),S("ngModel",r.configuration.assemblyfilters[t])}}function Kk(e,n){if(1&e){const t=Ge();h(0,"div",8)(1,"div",52)(2,"input",56),F("ngModelChange",function(o){const s=ue(t).index;return ce(H().configuration.classfilters[s]=o)}),p(),h(3,"span",43),F("click",function(){const i=ue(t).index;return ce(H().configuration.removeClassFilter(i))}),h(4,"a",44),v(5,"i",45),p()()()()}if(2&e){const t=n.index,r=H();C(2),An("name","classfilter_",t,""),S("ngModel",r.configuration.classfilters[t])}}function Yk(e,n){if(1&e){const t=Ge();h(0,"div",8)(1,"div",52)(2,"input",57),F("ngModelChange",function(o){const s=ue(t).index;return ce(H().configuration.filefilters[s]=o)}),p(),h(3,"span",43),F("click",function(){const i=ue(t).index;return ce(H().configuration.removeFileFilter(i))}),h(4,"a",44),v(5,"i",45),p()()()()}if(2&e){const t=n.index,r=H();C(2),An("name","filefilter_",t,""),S("ngModel",r.configuration.filefilters[t])}}function Zk(e,n){if(1&e&&(h(0,"option",58),f(1),p()),2&e){const t=n.$implicit;S("value",t),C(1),Ce(t)}}function Qk(e,n){if(1&e&&(h(0,"div",59)(1,"b"),f(2),p(),v(3,"br"),h(4,"pre",30),f(5),p()()),2&e){const t=n.$implicit;C(2),Ce(t.tool),C(3),Ce(t.command)}}function Xk(e,n){1&e&&(h(0,"span"),v(1,"i",60),f(2," Copy"),p())}function Jk(e,n){1&e&&(h(0,"span"),v(1,"i",61),f(2," Copied"),p())}function e2(e,n){if(1&e&&(h(0,"div",59)(1,"b"),f(2),p(),v(3,"br"),h(4,"pre",30),f(5),p()()),2&e){const t=n.$implicit;C(2),Ce(t.tool),C(3),Ce(t.command)}}function t2(e,n){1&e&&(h(0,"span"),v(1,"i",60),f(2," Copy"),p())}function n2(e,n){1&e&&(h(0,"span"),v(1,"i",61),f(2," Copied"),p())}const r2=function(){return["/pro"]},o2=[{path:"",component:ak,pathMatch:"full",title:"Home",data:{canonical:"/"}},{path:"features",component:ek,title:"Features",data:{canonical:"/features"}},{path:"features.html",redirectTo:"/features"},{path:"getstarted",component:nk,title:"Get started",data:{canonical:"/getstarted"}},{path:"getstarted.html",redirectTo:"/getstarted"},{path:"usage",component:(()=>{class e{constructor(){this.versions=kt,this.lastResult="",this.usageCopied=!1,this.configuration=new Fk,this.environments=[new fl(".NET Core",".NET Core"),new fl(".NET Framework","The full .NET framework"),new fl("Azure DevOps",null),new fl("Github Action",null)],this.packages=[new dl("ReportGenerator","https://www.nuget.org/packages/ReportGenerator",[".NET Framework",".NET Core"],"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.",[new If("Package Manager",`Install-Package ReportGenerator -Version ${kt.version}`),new If(".NET CLI",`dotnet add package ReportGenerator --version ${kt.version}`)],[new Yi(".NET Framework",`$(UserProfile)\\.nuget\\packages\\reportgenerator\\${kt.version}\\tools\\net47\\ReportGenerator.exe`),new Yi(".NET Core",`dotnet $(UserProfile)\\.nuget\\packages\\reportgenerator\\${kt.version}\\tools\\net6.0\\ReportGenerator.dll`)]),new dl("dotnet-reportgenerator-globaltool","https://www.nuget.org/packages/dotnet-reportgenerator-globaltool",[".NET Core"],"Use this package if your project is based on .NET Core and you want to use ReportGenerator as a (global) 'DotnetTool'.",[new If(".NET CLI",`dotnet tool install --global dotnet-reportgenerator-globaltool --version ${kt.version}\r\n\r\ndotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version ${kt.version}\r\n\r\ndotnet new tool-manifest\r\ndotnet tool install dotnet-reportgenerator-globaltool --version ${kt.version}`)],[new Yi(".NET Core","reportgenerator")]),new Nk("Azure DevOps","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator",["Azure DevOps"],"Use this package within Azure DevOps",[],[new Yi("Azure DevOps","reportgenerator")]),new Pk("GitHub Action","https://github.com/marketplace/actions/reportgenerator",["Github Action"],"Use this package within Github Actions",[],[new Yi("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(){const 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}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=At({type:e,selectors:[["app-usage-component"]],decls:215,vars:39,consts:[[1,"container"],[1,"mb-4"],[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,"ngModel","ngModelChange"],["href","https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip"],["class","form-check",4,"ngFor","ngForOf","ngForTrackBy"],["class","input-group mb-3",4,"ngFor","ngForOf","ngForTrackBy"],["id","historydir",1,"input-group","mb-3"],["type","text","name","historydir","placeholder","The history directory",1,"form-control",3,"ngModel","required","ngModelChange"],["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,"ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf","ngForTrackBy"],["type","text","name","title","placeholder","Title",1,"form-control",3,"ngModel","ngModelChange"],["type","text","name","tag","placeholder","Optional tag or build version",1,"form-control",3,"ngModel","ngModelChange"],[3,"routerLink"],["type","text","name","license","placeholder","Optional license for PRO version","rows","4",1,"form-control",3,"ngModel","ngModelChange"],[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,"ngModel","value","checked","ngModelChange"],[1,"mb-3"],[4,"ngFor","ngForOf"],["class","form-check",4,"ngIf"],["type","radio","name","package",1,"form-check-input",3,"ngModel","value","ngModelChange"],[3,"ngClass"],["type","text","placeholder","The path of the coverage file","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["class","input-group-text",3,"click",4,"ngIf"],[1,"input-group-text",3,"click"],["href",""],[1,"fa","fa-trash","text-danger"],["type","checkbox","name","reporttype",1,"form-check-input",3,"checked","change"],["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,"name","ngModel","ngModelChange"],["type","text","placeholder","The path of the plugin","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for assemlies","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for classes","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for files","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],[3,"value"],[1,"mt-2"],[1,"fa-solid","fa-copy"],[1,"fa-solid","fa-check","text-success"]],template:function(t,r){1&t&&(h(0,"div",0)(1,"h1",1),f(2,"Usage"),p(),h(3,"div",2)(4,"div",3)(5,"form")(6,"h3"),f(7,"Environment"),p(),$(8,Ok,8,5,"div",4),v(9,"hr"),$(10,Vk,4,1,"ng-container",5),v(11,"hr"),h(12,"h3"),f(13,"Reports"),p(),h(14,"div",6),f(15,"Path to the coverage report(s) that should be parsed."),v(16,"br"),f(17,"Globbing is supported."),p(),$(18,jk,4,6,"div",7),h(19,"div",8)(20,"a",9),F("click",function(){return r.configuration.addReport()}),v(21,"i",10),f(22," Add report"),p()(),v(23,"br"),h(24,"h3"),f(25,"Target directory"),p(),h(26,"div",6),f(27,"The directory where the generated report(s) should be saved."),p(),h(28,"div",8)(29,"input",11),F("ngModelChange",function(i){return r.configuration.targetdir=i}),p()(),v(30,"br"),h(31,"h3"),f(32,"Report types"),p(),h(33,"div",6),f(34,"Download "),h(35,"a",12),f(36,"sample reports"),p()(),$(37,Gk,10,5,"div",13),h(38,"h3"),f(39,"Source directories"),p(),h(40,"div",6),f(41,"Optional directories which contain the corresponding source code."),v(42,"br"),f(43,"The source directories are used if coverage report contains classes without path information."),p(),$(44,zk,6,2,"div",14),h(45,"div",15)(46,"a",9),F("click",function(){return r.configuration.addSourceDirectory()}),v(47,"i",10),f(48," Add source directory"),p()(),v(49,"br"),h(50,"h3"),f(51,"History directory"),p(),h(52,"div",6),f(53,"Optional directory for storing "),h(54,"b"),f(55,"persistent"),p(),f(56," coverage information. Choose a directory which does not get deleted between builds."),v(57,"br"),f(58,"Required to show the history chart in the HTML reports."),p(),h(59,"div",8)(60,"input",16),F("ngModelChange",function(i){return r.configuration.historydir=i}),p()(),v(61,"br"),h(62,"h3"),f(63,"Plugins"),p(),h(64,"div",6),f(65,"Optional plugin files for "),h(66,"a",17),f(67,"custom reports"),p(),f(68," or "),h(69,"a",18),f(70,"custom history storage"),p(),f(71,"."),p(),$(72,qk,6,2,"div",14),h(73,"div",8)(74,"a",9),F("click",function(){return r.configuration.addPlugin()}),v(75,"i",10),f(76," Add plugin"),p()(),v(77,"br"),h(78,"h3"),f(79,"Assembly filters"),p(),h(80,"div",6),f(81,"Optional list of "),h(82,"b"),f(83,"assemblies"),p(),f(84," that should be included or excluded in the report. "),v(85,"br"),f(86,"Exclusion filters take precedence over inclusion filters. "),v(87,"br"),f(88,"Wildcards are allowed."),v(89,"br"),h(90,"p"),f(91,"Examples:"),v(92,"br"),h(93,"code"),f(94,"+Included"),p(),v(95,"br"),h(96,"code"),f(97,"-Excluded"),p()()(),$(98,Wk,6,2,"div",14),h(99,"div",8)(100,"a",9),F("click",function(){return r.configuration.addAssemblyFilter()}),v(101,"i",10),f(102," Add assembly filter"),p()(),v(103,"br"),h(104,"h3"),f(105,"Class filters"),p(),h(106,"div",6),f(107,"Optional list of "),h(108,"b"),f(109,"classes"),p(),f(110," that should be included or excluded in the report. "),v(111,"br"),f(112,"Exclusion filters take precedence over inclusion filters. "),v(113,"br"),f(114,"Wildcards are allowed."),v(115,"br"),h(116,"p"),f(117,"Examples:"),v(118,"br"),h(119,"code"),f(120,"+Included"),p(),v(121,"br"),h(122,"code"),f(123,"-Excluded"),p()()(),$(124,Kk,6,2,"div",14),h(125,"div",8)(126,"a",9),F("click",function(){return r.configuration.addClassFilter()}),v(127,"i",10),f(128," Add class filter"),p()(),v(129,"br"),h(130,"h3"),f(131,"File filters"),p(),h(132,"div",6),f(133,"Optional list of "),h(134,"b"),f(135,"files"),p(),f(136," that should be included or excluded in the report. "),v(137,"br"),f(138,"Exclusion filters take precedence over inclusion filters. "),v(139,"br"),f(140,"Wildcards are allowed."),v(141,"br"),h(142,"p"),f(143,"Examples:"),v(144,"br"),h(145,"code"),f(146,"+Included"),p(),v(147,"br"),h(148,"code"),f(149,"-Excluded"),p()()(),$(150,Yk,6,2,"div",14),h(151,"div",8)(152,"a",9),F("click",function(){return r.configuration.addFileFilter()}),v(153,"i",10),f(154," Add file filter"),p()(),v(155,"br"),h(156,"h3"),f(157,"Verbosity"),p(),h(158,"div",6),f(159,"The verbosity level of the log messages."),p(),h(160,"div",8)(161,"select",19),F("ngModelChange",function(i){return r.configuration.selectedverbosity=i}),$(162,Zk,2,2,"option",20),p()(),v(163,"br"),h(164,"h3"),f(165,"Title"),p(),h(166,"div",6),f(167,"Optional title."),p(),h(168,"div",8)(169,"input",21),F("ngModelChange",function(i){return r.configuration.title=i}),p()(),v(170,"br"),h(171,"h3"),f(172,"Tag"),p(),h(173,"div",6),f(174,"Optional tag or build version."),p(),h(175,"div",8)(176,"input",22),F("ngModelChange",function(i){return r.configuration.tag=i}),p()(),v(177,"br"),h(178,"h3"),f(179,"License"),p(),h(180,"div",6),f(181,"Optional license. Get your license here: "),h(182,"a",23),f(183,"https://reportgenerator.io/pro"),p()(),h(184,"div",8)(185,"textarea",24),F("ngModelChange",function(i){return r.configuration.license=i}),p()()()(),h(186,"div",25)(187,"div",26)(188,"h3"),f(189,"Instructions"),p(),f(190," Install "),h(191,"a",27),f(192),p(),$(193,Qk,6,2,"div",28),h(194,"h4",29),f(195,"Usage"),p(),h(196,"pre",30),f(197),p(),h(198,"button",31),F("click",function(){return r.copy()}),$(199,Xk,3,0,"span",5),$(200,Jk,3,0,"span",5),p()(),h(201,"div",32)(202,"h3"),f(203,"Instructions"),p(),f(204," Install "),h(205,"a",27),f(206),p(),$(207,e2,6,2,"div",28),h(208,"h4",29),f(209,"Usage"),p(),h(210,"pre",30),f(211),p(),h(212,"button",31),F("click",function(){return r.copy()}),$(213,t2,3,0,"span",5),$(214,n2,3,0,"span",5),p()()()()()),2&t&&(C(8),S("ngForOf",r.environments),C(2),S("ngIf",r.severalPackagesAvailable()),C(8),S("ngForOf",r.configuration.reports)("ngForTrackBy",r.trackByIndex),C(11),S("ngModel",r.configuration.targetdir),C(8),S("ngForOf",r.configuration.reporttypes)("ngForTrackBy",r.trackByIndex),C(7),S("ngForOf",r.configuration.sourcedirectories)("ngForTrackBy",r.trackByIndex),C(16),S("ngModel",r.configuration.historydir)("required",r.configuration.historyDirRequired()),C(12),S("ngForOf",r.configuration.plugins)("ngForTrackBy",r.trackByIndex),C(26),S("ngForOf",r.configuration.assemblyfilters)("ngForTrackBy",r.trackByIndex),C(26),S("ngForOf",r.configuration.classfilters)("ngForTrackBy",r.trackByIndex),C(26),S("ngForOf",r.configuration.filefilters)("ngForTrackBy",r.trackByIndex),C(11),S("ngModel",r.configuration.selectedverbosity),C(1),S("ngForOf",r.configuration.verbosities)("ngForTrackBy",r.trackByIndex),C(7),S("ngModel",r.configuration.title),C(7),S("ngModel",r.configuration.tag),C(6),S("routerLink",ne(38,r2)),C(3),S("ngModel",r.configuration.license),C(6),S("href",r.selectedPackage.url,Gr),C(1),Ce(r.selectedPackage.name),C(1),S("ngForOf",r.selectedPackage.installOptions),C(4),Ce(r.getUsage()),C(2),S("ngIf",!r.usageCopied),C(1),S("ngIf",r.usageCopied),C(5),S("href",r.selectedPackage.url,Gr),C(1),Ce(r.selectedPackage.name),C(1),S("ngForOf",r.selectedPackage.installOptions),C(4),Ce(r.getUsage()),C(2),S("ngIf",!r.usageCopied),C(1),S("ngIf",r.usageCopied))},dependencies:[od,r_,wa,gn,Hd,$C,zC,Mi,Ba,jd,Ad,Td,Ni,qd,ja,Ri],styles:[".sticky[_ngcontent-%COMP%]{position:sticky;top:100px}"]}),e})(),title:"Usage",data:{canonical:"/usage"}},{path:"usage.html",redirectTo:"/usage"},{path:"pro",component:Rk,title:"PRO",data:{canonical:"/pro"}},{path:"pro.html",redirectTo:"/pro"},{path:"contact",component:JO,title:"Contact",data:{canonical:"/contact"}},{path:"contact.html",redirectTo:"/contact"},{path:"404",component:lk,title:"404 - Not found"},{path:"**",redirectTo:"/404"}];let i2=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Lt({type:e}),e.\u0275inj=Mt({imports:[dw.forRoot(o2,{scrollPositionRestoration:"enabled",scrollOffset:[0,0],anchorScrolling:"enabled"}),dw]}),e})();const vw=function(){return["/"]},s2=function(e){return{show:e}},Io=function(){return["link-active"]},_w=function(){return{exact:!0}},a2=function(){return["/features"]},l2=function(){return["/getstarted"]},u2=function(){return["/usage"]},c2=function(){return["/contact"]},d2=function(){return["/pro"]};let f2=(()=>{class e{constructor(){this.isExpanded=!1}collapse(){this.isExpanded=!1}toggle(){this.isExpanded=!this.isExpanded}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=At({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(t,r){1&t&&(h(0,"header",0)(1,"nav",1)(2,"div",2)(3,"a",3),v(4,"img",4),h(5,"span",5),f(6,"ReportGenerator"),p()(),h(7,"button",6),F("click",function(){return r.toggle()}),v(8,"span",7),p(),h(9,"div",8)(10,"ul",9)(11,"li",10)(12,"a",11),f(13,"Home"),p()(),h(14,"li",10)(15,"a",11),f(16,"Features"),p()(),h(17,"li",12)(18,"a",13),f(19,"Get started"),p()(),h(20,"li",12)(21,"a",11),f(22,"Usage"),p()(),h(23,"li",12)(24,"a",11),f(25,"Contact"),p()(),h(26,"li",12)(27,"a",11)(28,"span",14),f(29,"PRO"),p()()()(),v(30,"hr",15),h(31,"ul",16)(32,"li",17)(33,"a",18),v(34,"i",19),h(35,"span",20),f(36,"GitHub"),p()()(),h(37,"li",17)(38,"a",21),v(39,"i",22),h(40,"span",20),f(41,"Twitter"),p()()()()()()()()),2&t&&(C(3),S("routerLink",ne(17,vw)),C(4),Bt("aria-expanded",r.isExpanded),C(2),S("ngClass",mc(18,s2,r.isExpanded)),C(2),S("routerLinkActive",ne(20,Io))("routerLinkActiveOptions",ne(21,_w)),C(1),S("routerLink",ne(22,vw)),C(2),S("routerLinkActive",ne(23,Io))("routerLinkActiveOptions",ne(24,_w)),C(1),S("routerLink",ne(25,a2)),C(2),S("routerLinkActive",ne(26,Io)),C(1),S("routerLink",ne(27,l2)),C(2),S("routerLinkActive",ne(28,Io)),C(1),S("routerLink",ne(29,u2)),C(2),S("routerLinkActive",ne(30,Io)),C(1),S("routerLink",ne(31,c2)),C(2),S("routerLinkActive",ne(32,Io)),C(1),S("routerLink",ne(33,d2)))},dependencies:[od,gn,rw],styles:[".box-shadow[_ngcontent-%COMP%]{box-shadow:0 .25rem .75rem #0000000d}@keyframes _ngcontent-%COMP%_pro-button-animation{0%{background-color:#20a0d2;background-image:linear-gradient(50deg,#1c7ed6 0%,#23b8cf 100%)}50%{background-color:#1c8eb7;background-image:linear-gradient(50deg,#1A6FBA 0%,#1EA1B5 100%);box-shadow:0 0 6px 1px #20a0d2}to{background-color:#20a0d2;background-image:linear-gradient(50deg,#1c7ed6 0%,#23b8cf 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:#1c8eb7;background-image:linear-gradient(50deg,#1A6FBA 0%,#1EA1B5 100%);box-shadow:0 0 6px 1px #20a0d2}.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:#1c8eb7!important;font-weight:400}"]}),e})();const h2=function(){return["/pro"]};let p2=(()=>{class e{constructor(){this.years=(new Date).getFullYear()-2009}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=At({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",2,"max-height","300px"],[1,"col-xs-12","col-md-8"],[1,"fa-solid","fa-heart","githubheart"],["href","https://github.com/sponsors/danielpalme","target","_blank"],[3,"routerLink"],[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(t,r){1&t&&(h(0,"footer",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"div",4),v(5,"img",5),p(),h(6,"div",6)(7,"h2"),f(8,"Who's behind"),p(),h(9,"p"),f(10,"My name is Daniel Palme. I'm a software developer from Germany."),p(),h(11,"p"),f(12," Back in 2009 I wanted to create a code coverage report based on "),h(13,"i"),f(14,"PartCover"),p(),f(15," files."),v(16,"br"),f(17," Since no existing tool was able to merge several coverage files and generate a visual appealing report, I decided to create my own."),v(18,"br"),f(19),h(20,"i"),f(21,"ReportGenerator"),p(),f(22,". "),p(),h(23,"p"),f(24," You can support the ongoing maintenance by becoming a "),v(25,"i",7),f(26,"\xa0"),h(27,"a",8),f(28,"GitHub sponsor"),p(),f(29," or by buying a "),h(30,"a",9),f(31,"PRO license"),p(),f(32,". "),p()()()()(),h(33,"div",2)(34,"div",3),v(35,"hr"),p()(),h(36,"div",1)(37,"div",2)(38,"div",3)(39,"div",10)(40,"p")(41,"b"),f(42,"GitHub"),p()(),h(43,"a",11),f(44,"Source code"),p(),v(45,"br"),h(46,"a",12),f(47,"Wiki"),p(),v(48,"br"),h(49,"a",13),f(50,"FAQ"),p()(),h(51,"div",14)(52,"p")(53,"b"),f(54,"Download"),p()(),h(55,"i"),f(56,"NuGet"),p(),v(57,"br"),h(58,"a",15),f(59,"ReportGenerator"),p(),v(60,"br"),h(61,"a",16),f(62,"dotnet-reportgenerator-globaltool"),p(),v(63,"br"),h(64,"a",17),f(65,"ReportGenerator.Core"),p(),v(66,"br")(67,"br"),h(68,"i"),f(69,"Integration"),p(),v(70,"br"),h(71,"a",18),f(72,"GitHub actions"),p(),v(73,"br"),h(74,"a",19),f(75,"Azure DevOps"),p()(),h(76,"div",20)(77,"p")(78,"b"),f(79,"Community"),p()(),h(80,"a",11),v(81,"i",21),f(82," GitHub"),p(),v(83,"br"),h(84,"a",22),v(85,"i",23),f(86," Twitter"),p(),v(87,"br")(88,"br"),h(89,"a",24),f(90,"Privacy"),p(),v(91,"br"),h(92,"a",25),f(93,"Imprint"),p()()()()()()),2&t&&(C(19),Tn(" Fast forward ",r.years," years, I'm still maintaining "),C(11),S("routerLink",ne(2,h2)))},dependencies:[gn],styles:["footer[_ngcontent-%COMP%]{background-color:#464646}footer[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{color:#fff}"]}),e})(),g2=(()=>{class e{constructor(t,r,o){this.dom=t,this.router=r,this.activatedRoute=o}ngOnInit(){this.router.events.pipe(Yt(t=>t instanceof Jn),K(()=>this.activatedRoute),K(t=>{for(;t.firstChild;)t=t.firstChild;return t}),Yt(t=>"primary"===t.outlet),$e(t=>t.data)).subscribe(t=>{const r=`${window.location.protocol}//${window.location.hostname}`;this.updateCanonicalUrl(t.canonical?r+t.canonical:r+this.router.url)})}updateCanonicalUrl(t){const r=this.dom.getElementsByTagName("head")[0];var o=this.dom.querySelector("link[rel='canonical']")||null;null==o&&(o=this.dom.createElement("link"),r.appendChild(o)),o.setAttribute("rel","canonical"),o.setAttribute("href",t)}}return e.\u0275fac=function(t){return new(t||e)(M(et),M(pt),M(Er))},e.\u0275cmp=At({type:e,selectors:[["app-root"]],decls:3,vars:0,template:function(t,r){1&t&&v(0,"app-nav-menu")(1,"router-outlet")(2,"app-footer")},dependencies:[hf,f2,p2],encapsulation:2}),e})(),m2=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Lt({type:e,bootstrap:[g2]}),e.\u0275inj=Mt({providers:[mw,yw,hw],imports:[HR,i2,mN,wF]}),e})();UR().bootstrapModule(m2).catch(e=>console.error(e))}},fe=>{fe(fe.s=304)}]); \ No newline at end of file